KR20210047933A - 비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체 - Google Patents

비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체 Download PDF

Info

Publication number
KR20210047933A
KR20210047933A KR1020217008935A KR20217008935A KR20210047933A KR 20210047933 A KR20210047933 A KR 20210047933A KR 1020217008935 A KR1020217008935 A KR 1020217008935A KR 20217008935 A KR20217008935 A KR 20217008935A KR 20210047933 A KR20210047933 A KR 20210047933A
Authority
KR
South Korea
Prior art keywords
video
terminal
projection
stream
video stream
Prior art date
Application number
KR1020217008935A
Other languages
English (en)
Other versions
KR102387161B1 (ko
Inventor
린이 진
광 천
룽 천
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20210047933A publication Critical patent/KR20210047933A/ko
Application granted granted Critical
Publication of KR102387161B1 publication Critical patent/KR102387161B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • H04L29/08
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • 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/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 비디오 기술 분야에 속하며, 비디오 스크린 프로젝션 방법, 장치, 컴퓨터 장치, 및 저장 매체를 개시한다. 비디오 프로젝션 방법은, 프록시 서버가 제2 단말기의 스크린 프로젝션 프록시 요청 메시지를 수신하는 단계 - 스크린 프로젝션 프록시 요청 메시지는 제1 단말기에 의해 현재 재생 중인 제1 비디오 스트림의 스트림 정보를 적어도 싣고 있음 -; 및 수신된 비디오 스트림으로부터, 비디오 서버에 의해 제1 단말기에 송신된 데이터 스트림을 매칭시키는 단계; 제1 비디오 스트림이 매칭에 의해 획득되면, 제1 비디오 스트림을 복제하는 단계; 및 복제된 비디오 스트림을 제2 단말기에 송신하는 단계를 포함한다. 본 발명에서, 제1 단말기와 제2 단말기가 동시 재생을 수행할 수 있도록, 제1 단말기에 의해 현재 재생 중인 비디오 스트림이 프록시 서버를 통해 수신된 비디오 스트림과 매칭되고, 제1 단말기에 의해 현재 재생 중인 비디오에 대응하는 비디오 스트림이 제2 단말기에 송신되어, 제1 단말기가 제2 단말기에 비디오 스트림을 송신하는 것을 방지하고, 제1 단말기의 네트워크 압력과 전력 소비를 낮추며, 재밍(jamming)을 방지함으로써 스크린 프로젝션의 품질을 개선한다.

Description

비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체
본 발명은 비디오 기술 분야에 관한 것으로, 상세하게는 비디오 프로젝션 방법과 장치, 컴퓨터 장치, 및 저장 매체에 관한 것이다.
기술이 발전함에 따라, 가상 현실(virtual reality, VR) 단말기가 개인용 웨어러블 기기로서 생활 속에서 널리 사용되고 있다. 크기의 제한으로 인해, VR 단말기는 복수의 사용자가 동시에 비디오를 시청해야 하는 요구사항을 만족할 수 없다. 따라서, 복수의 사용자가 비디오를 동시에 시청할 수 있는 다른 화면 상에 VR 단말기의 비디오 이미지를 투사(project)하기 위해서는 프로젝션 기술이 필요하다.
기존의 프로젝션 기술에서, 셋톱 박스가 프로젝션을 수행하기 위해 비디오 프로젝션 파티(video projection party)의 역할을 할 수 있다. 프로젝션 과정이 다음과 같을 수 있다. VR 단말기가 비디오 데이터 요청을 비디오 서버에 송신한다. 비디오 요청은 VR 단말기의 네트워크 프로토콜 주소, 비디오 유일 자원 지시기(uniform resource locator, URL) 정보, 및 비디오 서버의 네트워크 프로토콜 주소를 싣고 있다. 비디오 서버는 비디오 요청에 실려 있는 정보에 기초하여 VR 단말기에 비디오 스트림을 송신한다. 비디오 스트림을 수신한 후, VR 단말기는 비디오 스트림이 나타내는 비디오를 재생한다. VR 단말기는 셋톱 박스에 프로젝션 요청을 송신한다. 프로젝션 요청은 비디오 스트림, 재생 진행, 및 머리 회전 정보(head rotation information)를 싣고 있다. 셋톱 박스는 수신된 프로젝션 요청에 실려 있는 정보에 기초하여, VR 단말기에 의해 재생 중인 비디오를 재생한다.
하지만, 전술한 프로젝션 과정에서, VR 단말기는 비디오 스트림을 수신해야 할 뿐만 아니라 셋톱 박스에 비디오 스트림을 송신해야 한다. 이로 인해 VR 단말기의 네트워크 압력이 높아지고 전력 소비가 증가한다. VR 단말기의 네트워크 압력이 지나치게 높으면, VR 단말기에 의해 재생되는 비디오가 멈추고, 셋톱 박스에 의해 재생되는 비디오도 멈춘다. 이로 인해 프로젝션 품질이 저하된다.
본 발명의 실시예는 제1 단말기의 프로젝션 멈춤(freeze) 그리고 제1 단말기의 과도하게 높은 네트워크 압력과 전력 소비의 문제를 해결하기 위한 비디오 프로젝션 방법과 장치, 컴퓨터 장치, 및 저장 매체를 제공한다. 기술적 해결책은 다음과 같다.
제1 양태에 따르면, 비디오 프로젝션 방법이 제공된다. 상기 비디오 프로젝션 방법은 프록시 서버에 적용되고, 상기 프록시 서버, 제1 단말기, 및 제2 단말기가 동일한 근거리 통신망(local area network)에 위치하며, 상기 비디오 프로젝션 방법이,
상기 제2 단말기로부터 프로젝션 프록시 요청 메시지를 수신하는 단계 - 상기 프로젝션 프록시 요청 메시지는 상기 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하는 단계 - 상기 비디오 서버는 상기 제1 비디오 스트림을 제공하도록 구성됨 -;
상기 제1 비디오 스트림을 발견하면, 상기 제1 비디오 스트림을 복제하여 제2 비디오 스트림을 획득하는 단계; 및
상기 제2 단말기에 상기 제2 비디오 스트림을 송신하는 단계 - 상기 제2 비디오 스트림은 상기 제2 단말기의 비디오 재생에 사용됨 -를 포함한다.
가능한 구현에서, 상기 제1 비디오 스트림은 실시간 전송 프로토콜(real-time transport protocol, RTP) 스트림이고, 상기 제1 비디오 스트림의 스트림 정보는 5-튜플(5-tuple)을 포함한다.
가능한 구현에서, 상기 제1 비디오 스트림의 스트림 정보는 상기 제1 비디오 스트림의 URL 정보를 포함한다.
전술한 2가지 가능한 구현에 기초하여, 이는 제1 단말기가 복수의 스트리밍 매체 전송 프로토콜을 지원할 수 있다는 것을 나타낸다. 이는 제1 단말기의 적용 성능을 개선하고, 제1 단말기는 보편적으로 적용 가능하다.
가능한 구현에서, 상기 프로젝션 프록시 요청 메시지는 상기 비디오 서버의 네트워크 프로토콜 주소를 더 포함하고, 상기 비디오 프로젝션 방법이,
상기 제1 비디오 스트림이 발견되지 않으면, 상기 제2 단말기로부터의 상기 프로젝션 프록시 요청 메시지에 기초하여 상기 비디오 서버에 비디오 스트림 요청 메시지를 송신하는 단계 - 상기 비디오 스트림 요청 메시지는 비디오 URL 정보를 싣고 있음 -;
제3 비디오 스트림을 수신하는 단계 - 상기 제3 비디오 스트림은 상기 비디오 URL 정보에 대응하는 비디오 스트림임 -; 및
상기 제2 단말기에 상기 제3 비디오 스트림을 송신하는 단계를 더 포함한다.
전술한 가능한 구현에 기초하여, 상기 프록시 서버가 상기 제1 단말기에 의해 재생 중인 상기 비디오 스트림을 찾을 수 없기 때문에 야기되는 비동기적 프로젝션이 방지될 수 있다. 이는 동기화 효과를 개선한다.
가능한 구현에서, 상기 제1 비디오 스트림의 스트림 정보는 상기 제1 단말기의 네트워크 프로토콜 주소를 더 포함한다.
전술한 가능한 구현에 기초하여, 상기 프록시 서버는 복수의 제1 단말기에 프로젝션 프록시 서비스를 제공할 수 있다. 이로 인해 상기 프록시 서버의 사용이 개선된다.
가능한 구현에서, 상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하는 단계 이전에, 상기 비디오 프로젝션 방법이,
상기 프로젝션 프록시 요청 메시지 내의 프로토콜 유형 필드에 기초하여 타깃 스트리밍 매체 전송 프로토콜을 결정하는 단계 - 상기 타깃 스트리밍 매체 전송 프로토콜은 상기 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이고, 상기 프로토콜 유형 필드의 서로 다른 값은 서로 다른 스트리밍 매체 전송 프로토콜에 대응함 -; 및
상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하는 단계를 상기 타깃 스트리밍 매체 프로토콜에 기초하여 수행하는 단계를 더 포함한다.
전술한 가능한 구현에 기초하여, 상기 프록시 서버는, 상기 프로젝션 프록시 요청 정보 내의 상기 프로토콜 유형 필드에 기초하여 서로 다른 스트리밍 매체 전송 프로토콜의 비디오에 대해 적응형 및 차별화된 처리를 구현할 수 있다.
가능한 구현에서, 상기 비디오 프로젝션 방법이,
상기 제1 단말기에 의해 주기적으로 송신되는 비디오 동기화 메시지를 수신하고, 상기 제2 단말기에 상기 비디오 동기화 메시지를 포워딩하는 단계를 더 포함한다. 여기서, 상기 비디오 동기화 메시지는 상기 제1 비디오 스트림의 스트림 정보를 포함하고, 상기 비디오 동기화 메시지는 상기 제1 단말기의 머리 회전 정보(head rotation information)와 재생 진행 중 적어도 하나를 더 포함한다.
전술한 가능한 구현에 기초하여, 상기 제2 단말기가 재생되는 비디오 이미지를 상기 비디오 동기화 정보에 기초하여 실시간으로 조절할 수 있도록, 상기 비디오 동기화 정보가 주기적으로 송신되어, 상기 제2 단말기에 의해 재생되는 상기 비디오 이미지가 제1 단말기에 의해 재생되는 비디오 이미지가 동기화된다. 이로 인해 동기화 효과가 개선된다.
가능한 구현에서, 상기 비디오 프로젝션 방법이,
상기 제2 단말기로부터 프로젝션 프록시 종료 요청 메시지를 수신하는 단계 - 상기 프로젝션 프록시 종료 요청 메시지는 상기 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 상기 프록시 서버에 요청하는 데 사용됨 -; 및
상기 비디오 서버에 의해 상기 제1 단말기에 송신된 상기 데이터 스트림에 대해 매칭을 중지하는 단계를 더 포함한다.
전술한 가능한 구현에 기초하여, 불필요한 연속적 프로젝션, 예를 들어 아무도 프로젝션된 이미지를 시청하지 않을 때 불필요한 연속적 프로젝션을 방지하기 위해, 언제라도 프로젝션 프로세스가 종료될 수 있다.
제2 양태에 따르면, 비디오 프로젝션 방법이 제공된다. 상기 비디오 프로젝션 방법은 제2 단말기에 적용되고, 상기 제2 단말기, 프록시 서버, 및 제1 단말기가 동일한 근거리 통신망에 위치하며, 상기 비디오 프로젝션 방법이,
상기 제1 단말기로부터 프로젝션 요청 메시지를 수신하는 단계 - 상기 프로젝션 요청 메시지는 상기 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
상기 프록시 서버에 프로젝션 프록시 요청 메시지를 송신하는 단계 - 상기 프로젝션 프록시 요청 메시지는 상기 제1 단말기에 의해 재생 중인 상기 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
상기 프록시 서버에 의해 송신된 제2 비디오 스트림을 수신하는 단계 - 상기 제2 비디오 스트림은 상기 프록시 서버에 의해 수신된 상기 제1 비디오 스트림을 복제하여 획득됨 -;
상기 제1 단말기에 의해 송신된 비디오 동기화 메시지를 수신하는 단계 - 상기 비디오 동기화 메시지는 상기 제1 비디오 스트림의 스트림 정보를 포함하고, 상기 비디오 동기화 메시지는 상기 제1 단말기의 머리 회전 정보 또는 재생 진행을 더 포함하고 있음 -; 및
상기 비디오 동기화 메시지와 상기 제2 비디오 스트림에 기초하여 비디오 재생을 수행하는 단계를 포함한다.
가능한 구현에서, 상기 비디오 프로젝션 방법이,
상기 제1 단말기로부터 프로젝션 종료 요청 메시지를 수신하는 단계; 및
상기 프록시 서버에 프로젝션 프록시 종료 요청 메시지를 송신하는 단계 - 상기 프로젝션 프록시 종료 요청 메시지는 상기 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 상기 프록시 서버에 요청하는 데 사용됨 -를 더 포함한다.
전술한 가능한 구현에 기초하여, 불필요한 지속적인 프로젝션, 예를 들어 아무도 투영된 이미지를 시청하지 않을 때 불필요한 지속적인 프로젝션을 방지하기 위해, 언제라도 프로젝션 프로세스가 종료될 수 있다.
제3 양태에 따르면, 전술한 비디오 프로젝션 방법을 수행하도록 구성된 비디오 프로젝션 장치가 제공된다. 구체적으로, 상기 비디오 프로젝션 장치는 제1 양태 또는 제1 양태의 선택적인 방식 중 어느 하나의 비디오 프로젝션 방법을 수행하도록 구성된 기능 모듈을 포함하고, 전술한 양태는 프록시 서버에 적용되는 비디오 프로젝션 방법에 대응하는 양태이다.
제4 양태에 따르면, 전술한 비디오 프로젝션 방법을 수행하도록 구성된 비디오 프로젝션 장치가 제공된다. 구체적으로, 상기 비디오 프로젝션 장치는 제2 양태 또는 제2 양태의 선택적인 방식 중 어느 하나의 비디오 프로젝션 방법을 수행하도록 구성된 기능 모듈을 포함하고, 전술한 양태는 제2 단말기에 적용되는 비디오 프로젝션 방법에 대응하는 양태이다.
하나의 양태에 따르면, 컴퓨터 장치가 제공된다. 상기 컴퓨터 장치는 프로세서와 메모리를 포함한다. 상기 메모리는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 비디오 프로젝션 방법에서 수행되는 조작을 구현하기 위해 상기 프로세서에 의해 로딩되어 실행된다.
하나의 양태에 따르면, 컴퓨터 판독가능 저장 매체가 제공된다. 상기 저장 매체는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 비디오 프로젝션 방법에서 수행되는 조작을 구현하기 위해 상기 프로세서에 의해 로딩되어 실행된다.
본 발명의 실시예에서 제공되는 기술적 해결책은 다음과 같은 유익한 효과가 있다.
프록시 서버가 수신된 비디오 스트림으로부터 제1 단말기의 네트워크 프로토콜 주소와 비디오 스트림의 스트림 정보에 기초하여, 제1 단말기에 의해 재생 중인 비디오 스트림을 발견하고, 제2 단말기가 비디오 스트림이 나타내는 비디오를 재생할 수 있도록, 제1 단말기에 의해 재생 중인 비디오에 대응하는 비디오 스트림을 제2 단말기에 송신하고, 제1 단말기와 제2 단말기가 동시 재생을 수행한다. 이를 통해 제1 단말기가 제2 단말기에 비디오 스트림을 송신하는 것을 방지하고, 제1 단말기의 네트워크 압력과 전력 소비를 낮추며, 비디오 멈춤을 방지함으로써 프로젝션 품질을 개선한다.
이하, 본 발명의 실시예의 기술적 해결책을 더 명확하게 설명하기 위해, 실시예를 설명하는 데 필요한 첨부 도면을 간략하게 설명한다. 이하의 설명에서 첨부 도면이 본 발명의 일부 실시예일 뿐이며, 당업자라면 창의적인 노력없이 이러한 첨부 도면으로부터 다른 도면을 도출할 수 있다는 것이 명백하다.
도 1은 본 발명의 일 실시예에 따른 비디오 프로젝션 구현 환경을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 제1 단말기를 개략적으로 나타내는 구조도이다.
도 3은 본 발명의 일 실시예에 따른 제2 단말기를 개략적으로 나타내는 구조도이다.
도 4는 본 발명의 일 실시예에 따른 프록시 서버의 장치를 개략적으로 나타내는 구조도이다.
도 5a와 도 5b는 본 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다.
도 6a와 도 6b는 본 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다.
도 7a와 도 7b는 본 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다.
도 8a와 도 8b는 본 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 비디오 프로젝션 장치를 개략적으로 나타내는 구조도이다.
도 10은 본 발명의 일 실시예에 따른 비디오 프로젝션 장치를 개략적으로 나타내는 구조도이다.
이하, 본 발명의 목적, 기술적 해결책, 및 장점을 더 명확하게 하기 위해, 첨부 도면을 참조하여 본 발명의 실시예에 대해 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 비디오 프로젝션 구현 환경을 개략적으로 나타내는 도면이다. 도 1을 참조하면, 제1 단말기(101), 제2 단말기(102), 프록시 서버(103), 및 비디오 서버(104)가 구현 환경에 존재한다. 제1 단말기(101), 제2 단말기(102), 및 프록시 서버(103)는 동일한 근거리 통신망(local area network)에 위치한다. 제1 단말기(101)는 무선 네트워크를 통해 제2 단말기(102), 프록시 서버(103), 및 비디오 서버(104)와 연결되고, 프록시 서버(103)는 네트워크 케이블을 통해 제2 단말기에 연결될 수 있다.
제1 단말기(101)는 비디오를 재생하도록 구성된 단말기이고, 사업자(operator)의 비디오 서버에 의해 제공되는 비디오를 재생할 수 있다. 비디오는 영화, 또는 TV 시리즈, 또는 게임 비디오, 또는 실시간 채팅 비디오 등일 수 있다. 본 발명의 본 실시예에서, 제1 단말기는 프로젝션 개시자의 역할을 할 수 있고, 제1 단말기에 의해 재생되는 비디오는 프로젝션 타깃으로 사용될 수 있다. 제1 단말기는 VR 단말기일 수 있고, VR 비디오를 재생하도록 구성된다. VR 비디오는 주로 사람의 눈을 중심으로 수직으로 180도, 수평으로 360도로 끊김없이 연결되는 파노라마 이미지를 제공한다. 비디오 서버(104)가 제1 단말기(101)에 비디오 스트림을 송신할 때, 비디오 서버(104)는 모든 360도 랩-어라운드 이미지(wrap-around image)를 제1 단말기(101)에 푸시하고, 제1 단말기(101)는 사용자의 시야각의 변화를 추적하고 실시간으로 이미지 프로젝션과 표시를 완료하는 역할을 한다. VR 비디오 시청 과정에서 시야각이 수시로 변경되므로, 제2 단말기(102)가 프록시 서버(103)에 의해 포워딩된 비디오 동기화 메시지에 기초하여, 제1 단말기(101)에 의해 재생 중인 비디오 이미지를 재생할 수 있도록, 제1 단말기(101)는 주기적으로 프록시 서버(103)에 비디오 동기화 메시지를 송신하여 동기화를 구현해야 한다. 물론, 제1 단말기는 대안적으로, 비디오를 재생할 수 있는 다른 단말기일 수 있다. 본 발명의 본 실시예에서는 이에 대해 구체적으로 제한하지 않는다. 제1 단말기(101)는 올인원 머신(all-in-one machine)일 수 있고, 사업자의 클라우드 VR 서비스의 사용자 단말기일 수 있다. 선택적으로, 제1 단말기(101)는 VR 안경일 수 있다.
제2 단말기(102)는 비디오를 재생할 수 있는 단말기이고, 비디오 스트림이 나타내는 비디오를 수신된 비디오 스트림에 기초하여 재생할 수 있다. 본 발명의 본 실시예에서, 제2 단말기(102)는 프로젝션 표시를 수행하도록 구성될 수 있다. 제2 단말기(102)는 프로젝션 프록시 요청을 프록시 서버(103)에 송신하고, 프록시 서버(103)에 의해 주기적으로 포워딩된 비디오 동기화 메시지와 프록시 서버(103)에 의해 송신된 비디오 스트림에 기초하여, 제1 단말기에 의해 재생 중인 비디오 이미지를 재생함으로써 프로젝션 표시를 완료할 수 있다. 물론, 프로젝션 표시가 완료될 수 있으면, 제2 단말기는 대안적으로, 비디오를 재생하도록 구성된 다른 단말기일 수 있다. 본 발명의 본 실시예에서는 이에 대해 구체적으로 제한하지 않는다. 제2 단말기(102)는 사업자의 광대역 텔레비전 서비스의 사용자 단말기, 예를 들어 셋톱 박스일 수 있다.
프록시 서버(103)는 근거리 통신망의 통합 네트워크 이그레스(unified network egress)이고, 제2 단말기(102)의 프록시 서버의 역할을 할 수 있으며, 제2 단말기(102)가 제1 단말기(101)에 의해 송신된 정보에 기초하여 정보를 송신하고, 제1 단말기(101)에 의해 재생 중인 비디오 이미지를 재생할 수 있도록, 제1 단말기(101)에 의해 송신된 정보를 제2 단말기(102)에 포워딩하고, 제1 단말기(101)에 의해 재생 중인 발견된 비디오 스트림을 제2 단말기(102)에 송신하는 역할을 담당한다.
비디오 서버(104)는 비디오 파일을 저장할 수 있고, 제1 단말기(101)가 비디오 스트림이 나타내는 비디오를 재생할 수 있도록, 제1 단말기(101)에 비디오 스트림을 송신하도록 구성된다. 비디오 서버(104)는 제1 단말기와 비디오 스트림을 교환하는 사업자의 비디오 서버 클러스터 내의 비디오 서버일 수 있다. 사업자의 비디오 서버 클러스터는 하나 이상의 스케줄링된 비디오 서버와 복수의 스케줄링되지 않은 서버를 포함하고, 동일한 비디오 파일이 복수의 스케줄링되지 않은 서버에 저장될 수 있다. 제1 단말기(101)로부터 비디오 스트림 요청 메시지를 수신할 때, 스케줄링된 서버는 비디오 스트림 요청 메시지에 실려 있는 정보에 기초하여, 타깃 비디오 파일을 저장하는 비디오 서버로서 비교적 유휴 상태인 스케줄링되지 않은 비디오 서버를 스케줄링하고, 스케줄링되지 않은 비디오 서버는 제1 단말기(101)에 비디오 스트림을 송신한다. 물론, 비디오 스트림 요청 메시지를 수신하는 비디오 서버는 대안적으로 스케줄링되지 않은 서버일 수 있고, 스케줄링되지 않은 서버는 제1 단말기(101)에 비디오 스트림을 송신한다. 본 발명의 본 실시예에서는 비디오 스트림 요청 메시지를 수신하는 비디오 서버에 대해 구체적으로 제한하지 않는다.
제1 단말기(101)가 프록시 서버의 네트워크 이그레스를 통해 비디오 서버(104)와 정보를 교환해야 한다는 것을 유의해야 한다. 구체적으로, 근거리 통신망 내의 장치가 프록시 서버(103)의 네트워크 이그레스를 통해 외부 네트워크의 서버 또는 장치와 정보를 교환할 필요가 있다. 예를 들어, 비디오 서버(104)가 제1 단말기(101)에 비디오 스트림을 푸시할 때, 비디오 스트림은 프록시 서버(103)의 네트워크 연결을 통해 전송되어야 한다.
또한, 제1 단말기(101)와 비디오 서버(104)는 스트리밍 매체 전송 프로토콜을 지원한다. 스트리밍 매체 전송 프로토콜은 하이퍼텍스트 전송 프로토콜 실시간 스트리밍(hypertext transfer protocol live streaming, HLS)일 수 있거나, 또는 실시간 스트리밍 매체 전송 프로토콜(real-time streaming media transport protocol, RTP)일 수 있거나, 또는 다른 스트리밍 매체 전송 프로토콜일 수 있다. 본 발명의 본 실시예에서는 이에 대해 구체적으로 제한하지 않는다.
본 발명의 본 실시예에서 제공되는 구현 환경에서, 제1 단말기, 제2 단말기, 및 프록시 서버가 동일한 근거리 통신망에 구성된다. 프록시 서버는 제1 단말기와 제2 단말기 간의 정보 전송 매체의 역할을 하며, 제2 단말기와 제1 단말기가 동일한 비디오 이미지를 동시에 재생할 수 있도록, 주기적으로 제1 단말기에서 제2 단말기로 비디오 동기화 메시지를 포워딩할 수 있다.
전술한 내용은 본 발명에서 제공되는 비디오 프로젝션 방법과 각각의 참여 장치의 구현 환경에 대해 간략하게 설명하였다. 이하, 도 1의 프록시 서버와 단말기의 하드웨어 구현에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 제1 단말기를 개략적으로 나타내는 구조도이다. 제1 단말기(200)는 서로 다른 구성 또는 성능으로 인해 크게 달라질 수 있고, 하나 이상의 비디오 코덱(201), 하나 이상의 프로세서(central processing unit, CPU)(202), 하나 이상의 메모리(203), 하나 이상의 센서(204), 및 송수신기(205)를 포함할 수 있다. 비디오 코덱(201)은 메모리(203)에 저장된 디지털 비디오를 디코딩할 수 있다. 메모리(203)는 적어도 하나의 명령을 저장하고, 적어도 하나의 명령은, 다음의 방법 실시예에서 제1 단말기 측에서 수행되는 비디오 프로젝션 방법을 구현하기 위해 프로세서(202)에 의해 로딩되어 실행된다. 센서(204)는 사용자의 머리 회전 정보를 획득할 수 있다. 송수신기는 입력/출력을 수행하기 위해 유선 또는 무선 네트워크 인터페이스, 키보드, 및 입력/출력 인터페이스와 같은 구성 요소일 수 있다. 제1 단말기는 장치 기능을 구현하도록 구성된 다른 구성 요소를 더 포함할 수 있다. 본 명세서에서는 세부사항에 대해 설명하지 않는다. 물론, 제1 단말기는 디스플레이와 같은 표시 구성 요소를 가지고 있으며, 비디오 코덱(201)에 의해 출력되는 이미지를 표시하도록 구성된다.
예시적인 실시예에서, 컴퓨터 판독가능 저장 매체, 예를 들어 명령을 포함하는 메모리가 추가로 제공되고, 이 명령은 다음의 실시예의 비디오 프로젝션 방법을 완료하기 위해 제1 단말기의 프로세서에 의해 실행될 수 있다. 예를 들어, 컴퓨터 판독가능 저장 매체는 읽기 전용 메모리 이미지(read-only memory image, ROM), 또는 랜덤 액세스 메모리(random access memory, RAM), 또는 씨디롬(compact disc read-only memory, CD-ROM) 또는 자기 테이프, 또는 플로피 디스크, 또는 광학 데이터 저장 장치일 수 있다.
도 3은 본 발명의 일 실시예에 따른 제2 단말기를 개략적으로 나타내는 구조도이다. 제2 단말기(300)는 다른 구성 또는 성능으로 인해 크게 달라질 수 있고, 하나 이상의 비디오 코덱(301), 하나 이상의 프로세서(302), 및 하나 이상의 메모리(303)를 포함할 수 있다. 비디오 코덱(301)은 메모리에 저장된 디지털 비디오를 압축하고 압축 해제할 수 있다. 메모리(303)는 적어도 하나의 명령을 저장하고, 적어도 하나의 명령은 다음의 방법 실시예에서 제공되는 비디오 프로젝션 방법을 구현하기 위해 프로세서(302)에 의해 로딩되어 실행된다. 물론, 제2 단말기는 입력/출력을 수행하기 위해 유선 또는 무선 네트워크 인터페이스, 키보드, 및 입력/출력 인터페이스와 같은 구성 요소를 더 포함할 수 있다. 제2 단말기는 장치 기능을 구현하는 다른 구성 요소를 더 포함할 수 있다. 본 명세서에서는 세부사항에 대해 설명하지 않는다. 물론, 제1 단말기는 디스플레이 구성 요소, 예컨대 비디오 코덱(301)에 의해 출력되는 이미지를 표시하도록 구성된 디스플레이를 가지고 있다.
예시적인 실시예에서, 컴퓨터 판독가능 저장 매체, 예를 들어 명령을 포함하는 메모리가 더 제공되고, 이 명령은 다음의 실시예의 비디오 프로젝션 방법을 완료하기 위해 제2 단말기의 프로세서에 의해 실행될 수 있다. 예를 들어, 컴퓨터 판독가능 저장 매체는 ROM, 또는 랜덤 액세스 메모리(RAM), 또는 CD-ROM, 또는 자기 테이프, 또는 플로피 디스크, 또는 광학 데이터 저장 장치일 수 있다.
도 4는 본 발명의 일 실시예에 따른 프록시 서버를 개략적으로 나타내는 구조도이다. 서버(400)는 서로 다른 구성 또는 성능으로 인해 크게 달라질 수 있고, 하나 이상의 프로세서(401)와 하나 이상의 메모리(402)를 포함할 수 있다. 메모리(402)는 적어도 하나의 명령을 저장하고, 적어도 하나의 명령은 다음의 방법 실시예에서 제공되는 비디오 프로젝션 방법을 구현하기 위해 프로세서(401)에 의해 로딩되어 실행된다. 물론, 서버는 추가적으로, 입력/출력을 수행하기 위해 유선 또는 무선 네트워크 인터페이스, 키보드, 및 입력/출력 인터페이스와 같은 구성 요소를 포함할 수 있다. 서버는 추가적으로, 장치 기능을 구현하도록 구성된 다른 구성 요소를 포함할 수 있다. 본 명세서에서는 세부사항에 대해 설명하지 않는다.
예시적인 실시예에서, 컴퓨터 판독가능 저장 매체, 예를 들어 명령을 포함하는 메모리가 더 제공되고, 이 명령은 다음의 실시예의 비디오 프로젝션 방법을 완료하기 위해 프록시 서버의 프로세서에 의해 실행될 수 있다. 예를 들어, 컴퓨터 판독가능 저장 매체는 ROM, 또는 랜덤 액세스 메모리(RAM), 또는 씨디롬(CD-ROM), 또는 자기 테이프, 또는 플로피 디스크, 또는 광학 데이터 저장 장치일 수 있다.
제1 단말기와 프록시 서버는 기본적으로, 동일한 스트리밍 미디어 전송 프로토콜을 지원할 수 있다. 예를 들어, 제1 단말기과 프록시 서버가 모두 HLS 프로토콜을 지원하는 경우, 비디오 서버로부터 비디오 스트림을 수신할 때, 프록시 서버는 파싱 과정에서 HLS 프로토콜을 이용하여 비디오 스트림을 직접 파싱하고 매칭할 수 있다. 이하, 제1 단말기과 프록시 서버가 모두 HLS 프로토콜을 지원하는 예를 이용하여 본 발명의 실시예에서 제공되는 비디오 프로젝션 방법에 대해 설명한다. 도 5a와 도 5b는 본 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다. 본 실시예는 도 1에 도시된 구현 환경에서 수행될 수 있다. 도 5a와 도 5b를 참조하면, 본 실시예는 다음의 단계를 포함한다.
501. 비디오 재생 명령을 수신할 때, 제1 단말기가 프록시 서버에 비디오 스트림 요청 메시지를 송신한다. 비디오 스트림 요청 메시지는 비디오 URL 정보를 싣고 있다.
비디오 재생 명령은 제1 단말기 상의 비디오에 대한 사용자의 재생 조작에 의해 트리거될 수 있다. 재생 조작은 게임 시작 조작과 비디오 재생 시작 조작일 수 있다. 본 발명의 본 실시예에서는 이에 대해 제한하지 않는다. 비디오 스트림 요청 메시지는 비디오 URL 정보에 대응하는 비디오 스트림을 비디오 서버로부터 요청하고, 제1 단말기에 비디오 스트림을 반환하는 데 사용된다.
비디오 스트림 요청 메시지 내의 메시지 유형 필드의 값이 제1 문자열일 수 있고, 제1 문자열은 이 메시지가 비디오 스트림 요청 메시지라는 것을 나타내는 데 사용된다. 본 발명의 본 실시예의 "제1" 및 "제2"와 같은 용어가 특정 필드 또는 문자열의 내용을 구별하는 데 사용되지 않고, 서로 다른 요청 내의 필드 또는 문자열을 구별하는 데에만 사용된다는 것을 유의해야 한다.
502. 비디오 스트림 요청 메시지를 수신한 후, 프록시 서버가 비디오 서버에 비디오 스트림 요청 메시지를 송신한다.
현재 단계에서, 프록시 서버가 수신된 메시지만을 포워딩하도록 구성되고, 수신된 메시지가 제1 단말기에 의해 송신된 메시지이거나 또는 비디오 서버에 의해 송신된 메시지일 수 있다는 것을 유의해야 한다.
503. 비디오 서버가 비디오 스트림 요청 메시지에 기초하여 프록시 서버에 비디오 스트림을 송신한다.
본 발명의 본 실시예에서, 비디오 서버는 비디오 스트림 요청 메시지의 비디오 URL 정보에 기초하여, 비디오 URL 정보에 대응하는 비디오 스트림을 획득할 수 있다.
504. 비디오 스트림을 수신한 후, 프록시 서버가 제1 단말기에 비디오 스트림을 송신한다.
505. 제1 단말기가 수신된 비디오 스트림에 기초하여 재생을 수행한다.
단계 501 내지 단계 505는 제1 단말기와 비디오 서버 간의 패킷 교환을 설명한다. 이 과정에서, 제1 단말기와 프록시 서버 간에 교환되는 모든 패킷이 프록시 서버를 통해 포워딩된다. 제1 단말기가 비디오 스트림에 기초하여 비디오 재생을 수행할 때, 현재 재생 중인 비디오를 다른 단말기와 동기화하여 재생할 수 있도록, 사용자가 제1 단말기 상에서 프로젝션 조작을 개시하여 프로젝션을 구현할 수 있다.
506. 프로젝션 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 요청 메시지를 송신한다. 프로젝션 요청 메시지는 적어도 비디오 URL 정보를 싣고 있다.
물론, 프로젝션 요청 메시지는 추가적으로, 프로젝션용 타깃 장치를 결정하기 위해 제2 단말기에 관한 정보, 예를 들어 제2 단말기의 네트워크 프로토콜 주소 또는 제2 단말기의 식별자를 싣고 있을 수 있다.
프로젝션 요청 메시지 내의 메시지 유형 필드의 값이 제2 문자열일 수 있고, 제2 문자열은 이 메시지가 프로젝션 요청 메시지라는 것을 나타내는 데 사용되며, 프로젝션 요청 메시지는 제1 단말기에 의해 재생 중인 비디오 스트림을 제2 단말기에 투사(project)하도록 요청하는 데 사용된다.
본 발명의 본 실시예에서, 제1 단말기가 VR 단말기인 예가 설명에 사용된다는 것을 유의해야 한다. 이 경우, 프로젝션 요청 메시지가 머리 회전 정보를 더 싣고 있을 수 있다. 제2 단말기가 제1 단말기와 동기화된 비디오 이미지를 머리 회전 정보에 기초하여 재생할 수 있도록, 머리 회전 정보는 제1 단말기의 사용자의 현재 머리 회전 상태를 나타내는 데 사용된다. 세부사항에 대해서는, 단계 512와 단계 515를 참조하라. 물론, 제1 단말기는 프로젝션 요청 메시지에 머리 회전 정보를 추가하지 않을 필요가 있을 수 있다.
507. 프로젝션 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 요청 메시지를 송신한다.
단계 505와 단계 507은 프록시 서버가 모두 근거리 통신망 내의 장치에 제공하는 로컬 포워딩 기능을 이용하여 구현된다. 본 발명의 본 실시예에서는 세부사항에 대해 설명하지 않는다.
현재 단계에서, 프록시 서버가 수신된 메시지만을 포워딩하도록 구성되고, 수신된 메시지가 제1 단말기에 의해 송신된 메시지이거나 또는 비디오 서버에 의해 송신된 메시지일 수 있다는 것을 유의해야 한다.
508. 제2 단말기가 수신된 프로젝션 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 요청 메시지를 송신한다. 프로젝션 프록시 요청 메시지는 적어도 비디오 URL 정보를 싣고 있다.
비디오 스트림의 스트림 정보의 경우, 이 스트림 정보는 비디오 URL 정보를 포함할 수 있다. 물론, 프록시 서버가 비디오 URL 정보와 제1 단말기의 네트워크 프로토콜 주소에 기초하여 매칭을 수행할 수 있도록, 이 스트림 정보는 제1 단말기의 네트워크 프로토콜 주소를 더 포함할 수 있다.
프로젝션 프록시 요청 메시지 내의 메시지 유형 필드의 값이 제3 문자열일 수 있고, 제3 문자열은 이 메시지가 프로젝션 프록시 요청 메시지라는 것을 나타내는 데 사용되며, 프로젝션 프록시 요청 메시지는 제1 단말기에 의해 재생 중인 비디오 스트림을 제2 단말기에 투사하도록 프록시 서버에 요청하는 데 사용된다.
단계 505 내지 단계 508로부터 알 수 있는 것은, 이 프로젝션 과정에서, 제1 단말기가 비디오 스트림을 제2 단말기에 송신할 필요가 없지만, 비디오 스트림 획득 과정이 프록시 서버에 전송되어 제1 단말기의 네트워크 압력과 전력 소비를 낮춘다는 것이다.
509. 프록시 서버가 제1 단말기의 네트워크 프로토콜 주소와 제1 비디오 스트림의 비디오 URL 정보에 기초하여, 비디오 서버에 의해 송신된 비디오 스트림에 대해 매칭을 수행한다. 비디오 서버가 제1 비디오 스트림을 제공하도록 구성된다.
프록시 서버가 비디오 서버에 의해 송신된 비디오 스트림을 수신할 수 있으므로, 프록시 서버가 프로젝션 프록시 요청 메시지를 수신한 후, 프록시 서버는 수신된 비디오 스트림을 파싱하여 비디오 스트림의 타깃 장치의 네트워크 프로토콜 주소와 비디오 URL 정보를 획득하고, 제1 단말기의 네트워크 프로토콜 주소 및 제1 비디오 스트림의 비디오 URL 정보를 파싱을 통해 획득된 네트워크 프로토콜 주소 및 비디오 URL 정보와 비교할 수 있다. 제1 단말기의 네트워크 프로토콜 주소와 제1 비디오 스트림의 비디오 URL 정보가 파싱을 통해 획득된 네트워크 프로토콜 주소와 비디오 URL 정보와 동일하면, 제1 비디오 스트림이 발견되었다는 것을 나타낸다.
510. 제1 비디오 스트림을 발견하면, 프록시 서버가 제1 비디오 스트림을 복제하여 제2 비디오 스트림을 획득한다.
프록시 서버가 제1 단말기와 비디오 서버 간의 데이터 교환을 모니터링하기 시작할 때, 프록시 서버가 비디오 서버에 의해 송신된 비디오 스트림을 제1 단말기에 저장할 수 있다는 것을 유의해야 한다. 비디오 스트림의 비디오 URL 정보와 비디오 스트림의 데이터 패킷 간에는 매핑 관계가 존재한다. 따라서, 프록시 서버는 비디오 URL 정보에 기초하여, 비디오 URL 정보가 나타내는 비디오 스트림을 획득할 수 있다.
따라서, 프록시 서버가 제1 비디오 스트림을 복제한다는 것은, 프록시 서버가 매핑 관계에 기초하여, 비디오 URL 정보가 나타내는 비디오 스트림을 복제한다는 것이다.
제2 비디오 스트림이 프록시 서버가 복제를 통해 획득한 비디오 스트림이라는 것을 유의해야 한다. 본 발명의 본 실시예의 "제1" 및 "제2"와 같은 용어가 비디오 스트림의 콘텐츠를 구별하기 위해 사용되는 것이 아니라 복제를 통해 획득된 비디오 스트림과 원본 비디오 스트림을 구별하기 위해서만 사용된다.
511. 프록시 서버가 제2 비디오 스트림을 제2 단말기에 송신한다.
제2 비디오 스트림은 제2 단말기의 비디오 재생에 사용된다.
작은 지연과 원활한 프로젝션 프로세스를 보장하기 위해, 단계 510과 단계 511의 복제와 포워딩이 실시간 복제와 실시간 포워딩일 수 있다.
512. 제2 비디오 스트림을 수신한 후, 제2 단말기가 제2 비디오 스트림에 기초하여 재생을 수행한다.
본 발명의 본 실시예에서, 제2 비디오 스트림에 기초하여 비디오 재생을 수행할 때, 제2 단말기에 의해 재생되는 비디오 이미지가 제1 단말기에 의해 재생 중인 비디오 이미지와 일치하도록 보장하기 위해, 제2 단말기가 머리 회전 정보를 더 고려할 필요가 있다는 것을 유의해야 한다. 따라서, 프로젝션을 개시한 후, 비디오 재생을 시작할 때, 제2 단말기 비디오 동기화 메시지에 기초하여 직접 동시 재생을 수행할 수 있도록, 제1 단말기는 제1 단말기에서 제2 단말기로 비디오 동기화 메시지를 송신할 수 있다. 비디오 동기화 메시지는 제1 비디오 스트림의 스트림 정보, 재생 진행, 및 제1 단말기의 머리 회전 정보를 포함한다.
513. 제1 단말기가 주기적으로 프록시 서버에 비디오 동기화 메시지를 송신한다. 비디오 동기화 메시지는 제1 비디오 스트림의 스트림 정보를 포함하고, 비디오 동기화 메시지는 제1 단말기의 머리 회전 정보와 재생 진행 중 적어도 하나를 더 포함한다.
스트림 정보 외에, 비디오 동기화 메시지는 제1 단말기의 머리 회전 정보와 재생 진행; 또는 단지 재생 진행; 또는 단지 제1 단말기의 머리 회전 정보와 같은 정보 콘텐츠를 더 포함할 수 있다. 본 발명의 본 실시예에서는 전술한 정보 콘텐츠 중 어느 하나를 제한하지 않는다.
VR 비디오의 머리 회전 메시지가 재생 과정에서 언제든지 변경될 수 있고, 제1 단말기가 동영상을 재생할 때 일시 정지, 또는 빨리 감기, 또는 되감기가 일어날 수 있으므로, 제2 단말기가 수신된 비디오 스트림에 기초하여 그리고 프록시 서버에 의해 포워딩된 동기화 정보의 내용에 기초하여, 재생되는 이미지를 언제든지 조절할 수 있도록, 제1 단말기는 주기적으로 비디오 동기화 메시지를 송신할 수 있다. 따라서, 제2 단말기에 의해 재생되는 비디오는 제1 단말기에 의해 재생되는 비디오와 동기화된다. 동시 비디오 재생을 구현하기 위해, 제1 단말기가 동기화 메시지를 프록시 서버에 송신하는 주기가 매우 짧을 수 있고, 송신 주기가 밀리초 레벨일 수 있다.
514. 비디오 동기화 메시지를 수신한 후, 프록시 서버가 제2 단말기에 비디오 동기화 메시지를 송신한다.
515. 제2 단말기가 비디오 동기화 메시지와 수신된 비디오 스트림에 기초하여 비디오 재생을 수행한다.
제2 단말기가 제1 단말기에 의해 재생 중인 비디오를 동시에 재생할 수 있도록, 제2 단말기는 비디오 동기화 메시지에 실려 있는 정보(예를 들어, 머리 회전 정보와 재생 진행)와 수신된 비디오 스트림에 기초하여, 제1 단말기에 의해 재생 중인 이미지를 결정하고, 제2 단말기와 제1 단말기가 동시 재생을 구현함으로써 프로젝션을 구현할 수 있다
제2 단말기가 주기적으로 비디오 동기화 메시지를 수신한 후, 제2 단말기가 수신된 비디오 동기화 메시지에 기초하여, 재생될 비디오 이미지를 주기적으로 조정하여 제1 단말기에 의해 재생되는 비디오 이미지와 동기화를 유지한다는 것을 유의해야 한다.
제1 단말기의 재생 상태가 빨리 감기, 또는 되감기, 또는 일시 중지로 변경되면, 변경된 재생 상태가 비디오 동기화 메시지에 실릴 수 있다. 예를 들어, 변경된 재생 상태가 재생 진행 필드에 실릴 수 있다. 제2 단말기가 비디오 동기화 메시지에 기초하여, 제1 단말기의 재생 상태가 변경되었다는 것을 알게 되면, 프록시 서버가 제1 단말기에 의해 재생 중인 비디오 스트림을 다시 발견하고, 발견된 비디오 스트림을 복제하며, 복제를 통해 획득된 비디오 스트림을 제2 단말기에 송신할 수 있도록, 제2 단말기가 프록시 서버에 프로젝션 프록시 요청 메시지를 다시 송신할 수 있다. 따라서, 제2 단말기에 의해 재생되는 비디오는 제1 단말기에 의해 재생되는 비디오와 동기화된다. 다르게 말하면, 단계 508 내지 단계 515의 과정이 다시 수행된다.
516. 프로젝션 종료 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 종료 요청 메시지를 송신한다.
프로젝션 종료 명령은 사용자의 종료 조작에 의해, 예를 들어 사용자가 비디오 재생 애플리케이션 또는 게임 애플리케이션을 종료할 때 트리거될 수 있다. 본 발명의 본 실시예는 프로젝션 종료 명령을 구체적으로 트리거하는 방법을 제한하지 않는다. 프로젝션 종료 요청 메시지는 프로젝션을 중단하도록 제2 단말기에 지시하는 데 사용된다.
프로젝션 종료 요청 메시지 내의 메시지 유형 필드의 값이 제4 문자열일 수 있고, 제4 문자열은 메시지가 프로젝션 종료 요청 메시지라는 것을 나타내는 데 사용되며, 프로젝션 종료 요청 메시지는 프로젝션을 종료하도록 프록시 서버에 요청하는 데 사용된다.
517. 프로젝션 종료 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 종료 요청 메시지를 송신한다.
단계 516과 단계 517은 프록시 서버가 근거리 통신망 내의 장치에 메시지를 포워딩하는 과정이다. 여기서는 세부사항에 대해 다시 설명하지 않는다.
518. 제2 단말기가 프로젝션 종료 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 종료 요청 메시지를 송신한다. 프로젝션 프록시 종료 요청 메시지는 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 프록시 서버에 요청하는 데 사용된다.
프로젝션 프록시 종료 요청 메시지는 제1 단말기의 네트워크 프로토콜 주소를 싣고 있다. 프로젝션 프록시 종료 요청 메시지 내의 메시지 유형 필드의 값이 제5 문자열일 수 있고, 제5 문자열은 이 메시지가 프로젝션 프록시 종료 요청 메시지라는 것을 나타내는 데 사용되며, 프로젝션 프록시 종료 요청 메시지는 프로젝션을 종료하도록 프록시 서버에 요청하는 데 사용된다.
519. 프록시 서버가 프로젝션 프록시 종료 요청 메시지를 수신하고, 비디오 스트림 매칭을 중지한다.
프로젝션 프록시 종료 요청 메시지를 수신할 때, 프록시 서버는 비디오 서버에 의해 송신된 비디오 스트림을 파싱하는 것을 중지하고, 비디오 스트림 매칭을 수행하지 않을 수 있다. 따라서, 프록시 서버는 더 이상 제2 단말기에 제2 비디오 스트림을 송신하지 않고, 제2 단말기 상의 제1 단말기의 프로젝션이 끝난다.
본 출원의 본 실시예에서 제공되는 프로젝션 방법에 따르면, 제2 단말기가 비디오 스트림이 나타내는 비디오를 재생할 수 있고, 제1 단말기와 제2 단말기가 동시 재생을 수행할 수 있도록, 프록시 서버가 수신된 비디오 스트림으로부터 제1 단말기의 네트워크 프로토콜 주소와 비디오 URL 정보에 기초하여, 제1 단말기에 의해 재생 중인 비디오 스트림을 발견하고, 제1 단말기에 의해 재생 중인 비디오에 대응하는 비디오 스트림을 제2 단말기에 송신한다. 이를 통해 제1 단말기가 비디오 스트림을 제2 단말기에 송신하는 것을 방지하고, 제1 단말기의 네트워크 압력과 전력 소비를 낮추며, 비디오 멈춤을 방지함으로써 프로젝션 품질을 개선한다. 또한, 제2 단말기가 비디오 동기화 메시지에 기초하여, 제1 단말기에 의해 재생 중인 비디오를 재생할 수 있도록, 제1 단말기가 주기적으로 비디오 동기화 메시지를 송신함으로써 동기화 효과를 개선한다.
제1 단말기와 프록시 서버가 모두 HLS 프로토콜을 지원하고 또한 프록시 서버가 제1 비디오 스트림을 발견할 수 있는 예를 이용하여 전술한 실시예에 대해 설명하였다. 하지만, 제1 단말기와 프록시 서버가 모두 HLS 프로토콜을 지원할 때, 프록시 서버가 제1 비디오 스트림을 발견하지 못할 수 있다. 이 경우, 도 6a와 도 6b에 도시된 바와 같이 본 발명은 비디오 프로젝션 방법을 제공한다.
도 6a와 도 6b는 본 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다. 본 실시예는 도 1에 도시된 구현 환경에서 수행될 수 있다. 도 6a와 도 6b 참조하면, 본 실시예는 다음의 단계를 포함한다.
601. 비디오 재생 명령을 수신할 때, 제1 단말기가 프록시 서버에 비디오 스트림 요청 메시지를 송신한다. 비디오 스트림 요청 메시지는 비디오 URL 정보를 싣고 있다.
602. 비디오 스트림 요청 메시지를 수신한 후, 프록시 서버가 비디오 서버에 비디오 스트림 요청 메시지를 송신한다.
603. 비디오 서버가 비디오 스트림 요청 메시지에 기초하여 프록시 서버에 비디오 스트림을 송신한다.
604. 비디오 스트림을 수신한 후, 프록시 서버가 제1 단말기에 비디오 스트림을 송신한다.
605. 제1 단말기가 수신된 비디오 스트림에 기초하여 재생을 수행한다.
606. 프로젝션 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 요청 메시지를 송신한다. 프로젝션 요청 메시지는 적어도 비디오 URL 정보를 싣고 있다.
607. 프로젝션 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 요청 메시지를 송신한다.
608. 제2 단말기가 수신된 프로젝션 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 요청 메시지를 송신한다. 프로젝션 프록시 요청 메시지는 적어도 비디오 URL 정보를 싣고 있다.
609. 프록시 서버가 제1 단말기의 네트워크 프로토콜 주소와 제1 비디오 스트림의 비디오 URL 정보에 기초하여, 비디오 서버에 의해 송신된 비디오 스트림을 매칭한다. 비디오 서버는 제1 비디오 스트림을 제공하도록 구성된다.
610. 프록시 서버가 프로젝션 요청 메시지에 기초하여 제1 비디오 스트림을 발견하지 못하면, 프록시 서버가 비디오 서버에 비디오 스트림 요청 메시지를 송신한다. 비디오 스트림 요청 메시지는 비디오 URL 정보를 싣고 있다.
비디오 스트림 요청 메시지 내의 메시지 유형 필드의 값이 제3 문자열일 수 있고, 제3 문자열은 이 메시지가 비디오 스트림 요청 메시지라는 것을 나타내는 데 사용되며, 비디오 스트림 요청 메시지는 비디오 서버로부터 비디오 스트림을 요청하는 데 사용된다.
단계 609의 매칭에 기초하여, 프록시 서버는 제1 비디오 스트림을 발견할 수 없다. 제1 단말기가 HLS 프로토콜을 사용하기 때문에, 제1 단말기는 일부 비디오 세그먼트를 저장했을 수도 있다. 하지만, 비디오 URL 정보가 현재 프로젝션 프록시 요청 메시지에 실려 있는 비디오 URL 정보에 기초하여 지속적으로 변경되므로, 프록시 서버가 프록시를 시작한 후 수신되는 데이터에서 비디오 세그먼트를 발견할 수 없다. 따라서 프록시 서버는 비디오 서버로부터 대응하는 비디오 스트림 데이터를 다운로드할 필요가 있다.
프록시 서버가 프로젝션 프록시 요청 메시지를 수신할 때 미리 저장된 데이터에 기초하여 매칭을 수행할 수 있도록, 프록시 서버가 조작 과정에서 어떤 수신된 비디오 스트림을 더 저장할 수 있다는 것을 유의해야 한다. 물론, 사전 설정된 지속시간 내의 비디오 스트림만이 매번 저장될 수 있다. 예를 들어, 마지막 5초 안에 수신된 비디오 스트림만이 저장된다. 5분 이전에 수신된 비디오 스트림은 선입 선출 원칙에 따라 삭제된다.
611. 비디오 서버가 비디오 스트림 요청 메시지를 수신한다.
612. 비디오 스트림 요청 메시지를 수신한 후, 비디오 서버가 프록시 서버에 제3 비디오 스트림을 송신한다.
제3 비디오 스트림은 프록시 서버에 의해 송신된 비디오 URL 정보에 기초하여 비디오 서버에 의해 획득된 비디오 스트림이다. 또한, 제3 비디오 스트림은 제1 단말기에 의해 재생 중인 비디오 스트림이다.
613. 제3 비디오 스트림을 수신한 후, 프록시 서버가 제2 단말기에 제3 비디오 스트림을 송신한다. 제3 비디오 스트림은 제2 단말기의 비디오 재생에 사용된다.
제3 비디오 스트림이 비디오 URL 정보와 비디오 스트림의 데이터 패킷 간의 매핑 관계에 기초하여 프록시 서버에 저장될 수 있다는 것을 유의해야 한다.
단계 609 내지 단계 613은, 프록시 서버가 저장된 비디오 URL 정보에 기초하여 제1 비디오 스트림을 발견할 수 없을 때 프록시 서버에 의해 수행되는 단계이다. 이러한 단계들을 이용하여, 프록시 서버는 제1 단말기에 의해 다운로드된 일부 비디오 세그먼트를 획득하여 데이터 유실로 인한 비동기 프로젝션을 방지할 수 있다. 이를 통해 프로젝션 효과와 프로젝션 품질이 개선된다.
614. 제3 비디오 스트림을 수신한 후, 제2 단말기가 제3 비디오 스트림에 기초하여 재생을 수행한다.
615. 제1 단말기가 주기적으로 프록시 서버에 비디오 동기화 메시지를 송신한다. 비디오 동기화 메시지는 제1 비디오 스트림의 스트림 정보를 포함하고, 비디오 동기화 메시지는 제1 단말기의 머리 회전 정보 또는 재생 진행을 더 포함한다.
616. 비디오 동기화 메시지를 수신한 후, 프록시 서버가 제2 단말기에 비디오 동기화 메시지를 송신한다.
617. 제2 단말기가 비디오 동기화 메시지와 수신된 비디오 스트림에 기초하여 비디오 재생을 수행한다.
618. 프로젝션 종료 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 종료 요청 메시지를 송신한다.
619. 프로젝션 종료 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 종료 요청 메시지를 송신한다.
620. 제2 단말기가 프로젝션 종료 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 종료 요청 메시지를 송신한다. 프로젝션 프록시 종료 요청 메시지는 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 프록시 서버에 요청하는 데 사용된다.
621. 프록시 서버가 프로젝션 프록시 종료 요청 메시지를 수신하고, 비디오 스트림 매칭을 중지한다.
본 출원의 본 실시예에서 제공되는 프로젝션 방법에 따르면, 제2 단말기가 비디오 스트림이 나타내는 비디오를 재생할 수 있고, 제1 단말기와 제2 단말기가 동시 재생을 구현할 수 있도록, 프록시 서버가 비디오 URL 정보와 비디오 서버의 네트워크 프로토콜 주소에 기초하여 비디오 서버로부터, 제1 단말기에 의해 재생 중인 비디오 스트림을 요청하고, 이 요청에 기초하여 획득된 비디오 스트림을 제2 단말기에 송신할 수 있다. 이를 통해, 프록시 서버가 제1 단말기에 의해 재생 중인 비디오 스트림을 찾을 수 없기 때문에 야기되는 비동기 프로젝션을 방지한다. 또한, 제1 단말기가 비디오 스트림을 제2 단말기에 송신하는 것이 방지되어 제1 단말기의 네트워크 압력과 전력 소비를 낮추고, 비디오 멈춤을 방지한다. 이를 통해 프로젝션 품질이 개선된다. 또한, 제2 단말기가 비디오 동기화 메시지에 기초하여, 제1 단말기에 의해 재생 중인 비디오를 재생할 수 있도록, 제1 단말기가 주기적으로 비디오 동기화 메시지를 송신함으로써 동기화 효과를 개선한다.
근거리 통신망 내의 제1 단말기와 프록시 서버가 기본적으로 HLS 프로토콜을 지원하는 예를 이용하여 전술한 실시예에 대해 설명하였다. 일부 실시예에서, 예를 들어, 제1 단말기와 프록시 서버가 모두 기본적으로 RTP 프로토콜을 지원한다. 이하, 제1 단말기와 프록시 서버가 모두 RTP 프로토콜을 지원하는 예를 이용하여 본 발명의 일 실시예에서 제공되는 비디오 프로젝션 방법에 대해 설명한다. 도 5a와 도 5b에 도시된 실시예의 주요 차이점은, 교환된 메시지에 실리는 정보로서 제1 단말기에 의해 재생 중인 비디오를 나타내는 데 사용되는 정보가 5-튜플(5-tuple)이라는 것이다. 도 7a와 도 7b는 본 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다. 본 실시예는 도 1에 도시된 구현 환경에서 수행될 수 있다. 도 7a와 도 7b를 참조하면, 본 실시예는 다음의 단계를 포함한다.
701. 비디오 재생 명령을 수신할 때, 제1 단말기가 프록시 서버에 비디오 스트림 요청 메시지를 송신한다. 비디오 스트림 요청 메시지는 비디오 URL 정보를 싣고 있다.
702. 비디오 스트림 요청 메시지를 수신한 후, 프록시 서버가 비디오 서버에 비디오 스트림 요청 메시지를 송신한다.
703. 비디오 서버가 비디오 스트림 요청 메시지에 기초하여 프록시 서버에 비디오 스트림을 송신한다.
704. 비디오 스트림을 수신한 후, 프록시 서버가 제1 단말기에 비디오 스트림을 송신한다.
705. 제1 단말기가 수신된 비디오 스트림에 기초하여 재생을 수행한다.
706. 프로젝션 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 요청 메시지를 송신한다. 프로젝션 요청 메시지는 제1 비디오 스트림의 5-튜플을 싣고 있다.
707. 프로젝션 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 요청 메시지를 송신한다.
708. 제2 단말기가 프로젝션 요청을 수신한다.
709. 제2 단말기가 수신된 프로젝션 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 요청 메시지를 송신한다. 프로젝션 프록시 요청 메시지는 제1 비디오 스트림의 5-튜플을 싣고 있다.
710. 프록시 서버가 프로젝션 프록시 요청을 수신한다.
711. 프록시 서버가 제1 비디오 스트림의 5-튜플에 기초하여, 비디오 서버에 의해 송신된 데이터 스트림에 대해 매칭을 수행한다. 비디오 서버는 제1 비디오 스트림을 제공하도록 구성된다.
프록시 서버가 비디오 서버에 의해 송신된 비디오 스트림을 수신할 수 있으므로, 프록시 서버가 프로젝션 프록시 요청 메시지를 수신한 후, 프록시 서버는 수신된 비디오 스트림을 파싱하여 비디오 스트림의 5-튜플을 획득하고, 프로젝션 프록시 요청 메시지 내의 제1 비디오 스트림의 5-튜플을 파싱을 통해 획득된 5-튜플과 비교할 수 있다. 5-튜플이 파싱을 통해 획득된 5-튜플과 동일하면, 제1 비디오 스트림이 발견된 것을 나타낸다.
712. 제1 비디오 스트림을 발견하면, 프록시 서버가 제1 비디오 스트림을 복제하여 제2 비디오 스트림을 획득한다.
713. 프록시 서버가 제2 단말기에 제2 비디오 스트림을 송신한다.
714. 제2 단말기가 제2 비디오 스트림을 수신한다.
715. 제2 비디오 스트림을 수신한 후, 제2 단말기가 제2 비디오 스트림에 기초하여 재생을 수행한다.
716. 제1 단말기가 주기적으로 프록시 서버에 비디오 동기화 메시지를 송신한다. 비디오 동기화 메시지는 제1 비디오 스트림의 스트림 정보를 포함하고, 비디오 동기화 메시지는 제1 단말기의 머리 회전 정보 또는 재생 진행을 더 포함한다.
717. 비디오 동기화 메시지를 수신한 후, 프록시 서버가 제2 단말기에 비디오 동기화 메시지를 송신한다.
718. 제2 단말기가 비디오 동기화 메시지를 수신한다.
719. 제2 단말기가 비디오 동기화 메시지와 수신된 비디오 스트림에 기초하여 비디오 재생을 수행한다.
720. 프로젝션 종료 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 종료 요청 메시지를 송신한다.
721. 프로젝션 종료 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 종료 요청 메시지를 송신한다.
722. 제2 단말기가 프로젝션 종료 요청 메시지를 수신한다.
723. 제2 단말기가 프로젝션 종료 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 종료 요청 메시지를 송신한다. 프로젝션 프록시 종료 요청 메시지는 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 프록시 서버에 요청하는 데 사용된다.
724. 프록시 서버가 프로젝션 종료 요청 메시지를 수신한다.
725. 프로젝션 프록시 종료 요청 메시지를 수신한 후, 프록시 서버가 비디오 스트림 매칭을 중지한다.
단계 701 내지 단계 725는 단계 601 내지 단계 621과 유사하다. 주요 차이점은, 교환된 메시지에 실리는 정보로서 제1 단말기에 의해 재생 중인 비디오를 나타내는 데 사용되는 정보가 5-튜플이라는 것이며, 다른 단계에 대해 제한하지 않는다.
본 출원의 본 실시예에서 제공되는 프로젝션 방법에 따르면, 제2 단말기가 비디오 스트림이 나타내는 비디오를 재생할 수 있고 또한 제1 단말기와 제2 단말기가 동시 재생을 수행할 수 있도록, 프록시 서버가 5-튜플에 기초하여 수신된 비디오 스트림으로부터, 제1 단말기에 의해 재생 중인 비디오 스트림을 발견하고, 제1 단말기에 의해 재생 중인 비디오에 대응하는 비디오 스트림을 제2 단말기에 송신한다. 이를 통해 제1 단말기가 비디오 스트림을 제2 단말기에 송신하는 것을 방지하고, 제1 단말기의 네트워크 압력과 전력 소비를 낮추며, 비디오 멈춤을 방지함으로써 프로젝션 품질을 개선한다. 또한, 제2 단말기가 제1 단말기에 의해 재생 중인 비디오를 비디오 동기화 메시지에 기초하여 재생할 수 있도록, 제1 단말기가 주기적으로 비디오 동기화 메시지를 송신함으로써 동기화 효과를 개선한다.
근거리 통신망 내의 제1 단말기와 프록시 서버가 기본적으로 HLS 프로토콜 또는 RTP 프로토콜을 지원하는 예를 이용하여 전술한 실시예에 대해 설명하였다. 하지만, 일부 실시예에서, 제1 단말기가 HLS 프로토콜과 RTP 프로토콜을 모두 지원할 수 있고, 비디오 서버와의 데이터 교환 중에 이러한 프로토콜 중 어느 하나를 사용할 수 있다. 따라서, 프록시 서버는 지원되는 프로토콜을 제1 단말기에 의해 송신된 메시지를 이용하여 식별하여 비디오 스트림 매칭을 구현할 수 있다. 도 8a와 도 8b는 발명의 일 실시예에 따른 비디오 프로젝션 방법의 흐름도이다. 본 실시예는 도 1에 도시된 구현 환경에서 수행될 수 있다. 도 8a와 도 8b를 참조하면, 본 실시예는 다음의 단계를 포함한다.
801. 비디오 재생 명령을 수신할 때, 제1 단말기가 프록시 서버에 비디오 스트림 요청 메시지를 송신한다. 비디오 스트림 요청 메시지는 비디오 URL 정보를 싣고 있다.
802. 비디오 스트림 요청 메시지를 수신한 후, 프록시 서버가 비디오 서버에 비디오 스트림 요청 메시지를 송신한다.
803. 비디오 서버가 비디오 스트림 요청 메시지에 기초하여 프록시 서버에 비디오 스트림을 송신한다.
804. 비디오 스트림을 수신한 후, 프록시 서버가 제1 단말기에 비디오 스트림을 송신한다.
805. 제1 단말기가 수신된 비디오 스트림에 기초하여 재생을 수행한다.
806. 프로젝션 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 요청 메시지를 송신한다. 프로젝션 요청 메시지는 적어도 프로토콜 유형 필드와 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 스트림 정보를 싣고 있으며, 프로토콜 유형 필드는 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜을 나타내는 데 사용된다.
제1 단말기는 제1 단말기에 의해 지원되는 스트리밍 매체 전송 프로토콜에 기초하여 프로토콜 유형 필드의 값을 결정할 수 있고, 프로토콜 유형 필드의 서로 다른 값은 서로 다른 스트리밍 매체 전송 프로토콜에 대응한다.
예를 들어, 프로토콜 유형 필드의 값이 0이면, 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이 HLS 프로토콜이라는 것을 나타낸다. 프로토콜 유형 필드의 값이 1이면, 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이 RTP 프로토콜이라는 것을 나타낸다. 물론, 프로토콜 유형 필드도 다른 값 또는 문자열과 같은 형태로 표현될 수 있다. 본 발명의 본 실시예에서는 이에 대해 구체적으로 제한하지 않는다.
807. 프로젝션 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 요청 메시지를 송신한다.
808. 제2 단말기가 수신된 프로젝션 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 요청 메시지를 송신한다. 프로젝션 프록시 요청 메시지는 적어도 프로토콜 유형 필드와 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 스트림 정보를 싣고 있다.
809. 프록시 서버가 프로젝션 프록시 요청 메시지 내의 프로토콜 유형 필드에 기초하여 타깃 스트리밍 매체 전송 프로토콜을 결정한다. 타깃 스트리밍 매체 전송 프로토콜은 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이고, 프로토콜 유형 필드의 서로 다른 값은 서로 다른 스트리밍 매체 전송 프로토콜에 대응한다.
단계 806으로부터 알 수 있는 것은, 프로토콜 유형 필드가 제1 단말기에 의해 지원되는 스트리밍 매체 전송 프로토콜을 나타낼 수 있다는 것이다. 예를 들어, 프로토콜 유형 필드가 0이면, 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이 HLS 프로토콜이다. 프로토콜 유형 필드가 1이면, 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이 RTP 프로토콜이다.
810. 프록시 서버가 타깃 스트리밍 매체 전송 프로토콜에 기초하여, 비디오 서버에 의해 송신된 비디오 스트림에 대해 매칭을 수행한다. 비디오 서버는 제1 비디오 스트림을 제공하도록 구성된다.
단계 810에서, 타깃 스트리밍 매체 전송 프로토콜이 결정될 때, 프록시 서버가 프로젝션 프록시 요청 메시지로부터 타깃 스트리밍 매체 전송 프로토콜에 대응하는 스트림 정보를 추출하고, 수신된 비디오 스트림을 타깃 스트리밍 매체 전송 프로토콜을 이용하여 파싱하며, 파싱을 통해 획득된 플로우 정보를 추출된 스트림 정보와 비교함으로써 전술한 매칭 프로세스를 수행할 수 있다는 것을 유의해야 한다.
예를 들어, 프록시 서버가 프로젝션 프록시 요청 메시지를 수신할 때, 프로토콜 유형 필드가 0이면, 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이 HLS 프로토콜이라는 것을 나타낸다. 제1 비디오 스트림의 스트림 정보는 제1 단말기의 네트워크 프로토콜 주소와 비디오 URL 정보이다. 프록시 서버는 수신된 비디오 스트림을 파싱하여 비디오 스트림의 타깃 장치의 네트워크 프로토콜 주소와 비디오 URL 정보를 획득하고, 제1 단말기의 네트워크 프로토콜 주소 및 제1 비디오 스트림의 URL 정보를, 파싱을 통해 획득된 네트워크 프로토콜 주소 및 비디오 URL 정보와 비교할 수 있다. 제1 단말기의 네트워크 프로토콜 주소 및 제1 비디오 스트림의 비디오 URL 정보가 파싱을 통해 획득된 네트워크 프로토콜 주소 및 비디오 URL 정보와 동일하면, 제1 비디오 스트림이 발견되었다는 것을 나타낸다.
프록시 서버가 프로젝션 프록시 요청 메시지를 수신한 후, 프로토콜 유형 필드가 1이면, 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이 RTP 프로토콜이라는 것, 다르게 말하면, 제1 비디오 스트림의 스트림 정보가 5-튜플이라는 것을 나타낸다. 프록시 서버는 수신된 비디오 스트림을 파싱하여 비디오 스트림의 5-튜플을 획득하고, 프로젝션 프록시 요청 메시지 내의 5-튜플을 파싱을 통해 획득된 5-튜플과 비교할 수 있다. 5-튜플이 파싱을 통해 획득된 5-튜플과 동일하면, 제1 비디오 스트림이 발견되었다는 것을 나타낸다.
811. 제1 비디오 스트림을 발견하면, 프록시 서버가 제1 비디오 스트림을 복제하여 제2 비디오 스트림을 획득한다
812. 프록시 서버가 제2 비디오 스트림을 제2 단말기에 송신한다
813. 제2 비디오 스트림을 수신한 후, 제2 단말기가 제2 비디오 스트림에 기초하여 재생을 수행한다.
814. 제1 단말기가 주기적으로 프록시 서버에 비디오 동기화 메시지를 송신한다. 비디오 동기화 메시지는 제1 비디오 스트림의 스트림 정보를 포함하고, 비디오 동기화 메시지는 제1 단말기의 머리 회전 정보 또는 재생 진행을 더 포함한다.
815. 비디오 동기화 메시지를 수신한 후, 프록시 서버가 주기적으로 제2 단말기에 비디오 동기화 메시지를 송신한다.
816. 제2 단말기가 비디오 동기화 메시지와 수신된 비디오 스트림에 기초하여 비디오 재생을 수행한다.
817. 프로젝션 종료 명령을 수신할 때, 제1 단말기가 프록시 서버에 프로젝션 종료 요청 메시지를 송신한다.
818. 프로젝션 종료 요청 메시지를 수신한 후, 프록시 서버가 제2 단말기에 프로젝션 종료 요청 메시지를 송신한다.
819. 제2 단말기가 프로젝션 종료 요청 메시지에 기초하여 프록시 서버에 프로젝션 프록시 종료 요청 메시지를 송신한다. 프로젝션 프록시 종료 요청 메시지는 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 프록시 서버에 요청하는 데 사용된다.
820. 프로젝션 프록시 종료 요청 메시지를 수신한 후, 프록시 서버가 비디오 스트림 매칭을 중지한다.
제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이 HLS 프로토콜이면, 초기 프록시 단계에서, 제1 단말기에 저장된 비디오 프래그먼트가 다운로드되지 않았기 때문에 프록시 서버가 제1 비디오 스트림을 발견하지 못할 수 있다는 것을 유의해야 한다. 데이터 유실로 인한 비동기 프로젝션을 방지하기 위해, 제2 단말기가 제3 비디오 스트림을 재생할 수 있도록, 단계 610 내지 단계 612가 수행될 필요가 있다.
본 출원의 본 실시예에서 제공되는 프로젝션 방법에 따르면, 제2 단말기가 비디오 스트림이 나타내는 비디오를 재생할 수 있고, 제1 단말기와 제2 단말기가 동시 재생을 수행할 수 있도록, 프록시 서버가 수신된 비디오 스트림으로부터 제1 단말기의 네트워크 프로토콜 주소와 비디오 스트림 정보에 기초하여, 제1 단말기에 의해 재생 중인 비디오 스트림을 발견하고, 제1 단말기에 의해 재생 중인 비디오에 대응하는 비디오 스트림을 제2 단말기에 송신한다. 이를 통해 제1 단말기가 비디오 스트림을 제2 단말기에 송신하는 것을 방지하고, 제1 단말기의 네트워크 압력과 전력 소비를 낮추며, 비디오 멈춤을 방지함으로써 프로젝션 품질을 개선한다. 또한, 제2 단말기가 제1 단말기에 의해 재생 중인 비디오를 비디오 동기화 메시지에 기초하여 재생할 수 있도록, 제1 단말기가 주기적으로 비디오 동기화 메시지를 송신함으로써 동기화 효과를 개선한다. 또한, 프록시 서버는, 서로 다른 파싱 정책을 이용하여 프로젝션 프록시 요청 정보 내의 프로토콜 유형 필드에 기초하여 서로 다른 스트리밍 매체 전송 프로토콜의 비디오에 대해 적응형 및 구별된 처리를 구현할 수 있다.
도 9는 본 발명의 일 실시예에 따른 비디오 프로젝션 장치를 개략적으로 나타내는 구조도이다. 비디오 프로젝션 장치는 제1 수신 모듈(901), 매칭 모듈(902), 획득 모듈(903), 및 제1 송신 모듈(904)을 포함한다.
제1 수신 모듈(901)은 단계 710을 수행하도록 구성된다.
매칭 모듈(902)은 단계 711을 수행하도록 구성된다.
획득 모듈(903)은 단계 712를 수행하도록 구성된다.
제1 송신 모듈(904)은 단계 713을 수행하도록 구성된다.
선택적으로, 제1 비디오 스트림은 RTP 스트림이고, 제1 비디오 스트림의 스트림 정보는 5-튜플을 포함한다. 자세한 내용은 단계 706을 참조하라.
선택적으로, 제1 비디오 스트림의 스트림 정보는 비디오 URL 정보를 포함한다. 자세한 내용은 단계 606을 참조하라.
선택적으로, 비디오 프로젝션 장치는,
단계 610을 수행하도록 구성된 제2 송신 모듈;
단계 611을 수행하도록 구성된 제2 수신 모듈; 및
단계 612를 수행하도록 구성된 제3 송신 모듈을 더 포함한다.
선택적으로, 제1 비디오 스트림의 스트림 정보는 제1 단말기의 네트워크 프로토콜 주소를 더 포함한다.
선택적으로, 비디오 프로젝션 장치는,
단계 809를 수행하도록 구성된 결정 모듈; 및
단계 810을 수행하도록 구성된 실행 모듈을 더 포함한다.
선택적으로, 비디오 프로젝션 장치는,
단계 717을 수행하도록 구성된 제3 수신 모듈을 더 포함한다.
선택적으로, 비디오 프로젝션 장치는,
단계 724를 수행하도록 구성된 제4 수신 모듈; 및
단계 725를 수행하도록 구성된 중단 모듈을 더 포함한다.
도 10은 본 발명의 일 실시예에 따른 비디오 프로젝션 장치를 개략적으로 나타내는 구조도이다. 비디오 프로젝션 장치는 제1 수신 모듈(1001), 제1 송신 모듈(1002), 제2 수신 모듈(1003), 제3 수신 모듈(1004), 재생 모듈(1005)을 포함한다.
제1 수신 모듈(1001)은 단계 708을 수행하도록 구성된다.
제1 송신 모듈(1002)은 단계 709를 수행하도록 구성된다.
제2 수신 모듈(1003)은 단계 714를 수행하도록 구성된다.
제3 수신 모듈(1004)은 단계 718을 수행하도록 구성된다.
재생 모듈(1005)은 단계 719를 수행하도록 구성된다.
선택적으로, 제1 비디오 스트림은 RTP 스트림이고, 제1 비디오 스트림의 스트림 정보는 5-튜플을 포함한다. 자세한 내용은 단계 706을 참조하라.
선택적으로, 제1 비디오 스트림의 스트림 정보는 비디오 URL 정보를 포함한다. 자세한 내용은 단계 606을 참조하라.
선택적으로, 제1 비디오 스트림의 스트림 정보는 제1 단말기의 네트워크 프로토콜 주소를 더 포함한다.
선택적으로, 프로젝션 프록시 요청 메시지 내의 프로토콜 유형 필드가 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜을 나타내는 데 사용된다. 자세한 내용은 단계 809을 참조하라.
선택적으로, 비디오 프로젝션 장치는,
단계 722를 수행하도록 구성된 제4 수신 모듈; 및
단계 723을 수행하도록 구성된 제2 송신 모듈을 더 포함한다.
전술한 모든 선택적인 기술적 해결책이 본 개시의 선택적 실시예를 구성하도록 무작위로 조합될 수 있고, 본 명세서에서는 세부사항에 대해 설명하지 않는다.
전술한 실시예에서 제공된 비디오 프로젝션 장치가 비디오를 투사할 때, 전술한 기능 모듈로의 분할이 설명을 위한 예로서만 사용된다는 것을 유의해야 한다. 실제 적용시, 필요에 따라 전술한 기능의 할당이 서로 다른 기능 모듈에 의해 완료될 수 있다. 즉, 비디오 프로젝션 장치의 내부 구조가 설명된 기능의 전부 또는 일부를 완료하기 위해 서로 다른 기능 모듈로 분할된다. 또한, 전술한 실시예에서 제공된 비디오 프로젝션 장치가 비디오 프로젝션 투사 방법을 설명하는 실시예와 동일한 발명 개념에 기초하고 있다. 구체적인 구현 과정에 대해서는 방법 실시예를 참조하라. 본 명세서에서는 세부사항에 대해 반복적으로 설명하지 않는다.
전술한 설명은 본 발명의 실시예의 예일 뿐이며, 본 발명을 제한하려는 것이 아니다. 본 발명의 사상과 원칙을 벗어나지 않고 이루어진 어떠한 수정, 등가의 대체, 및 개선도 본 발명의 보호 범위에 속할 것이다.

Claims (30)

  1. 프록시 서버에 적용되는 비디오 프로젝션 방법으로서,
    상기 프록시 서버, 제1 단말기, 및 제2 단말기가 동일한 근거리 통신망(local area network)에 위치하고, 상기 비디오 프로젝션 방법이,
    상기 제2 단말기로부터 프로젝션 프록시 요청 메시지를 수신하는 단계 - 상기 프로젝션 프록시 요청 메시지는 상기 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
    상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하는 단계 - 상기 비디오 서버는 상기 제1 비디오 스트림을 제공하도록 구성됨 -;
    상기 제1 비디오 스트림을 발견하면, 상기 제1 비디오 스트림을 복제하여 제2 비디오 스트림을 획득하는 단계; 및
    상기 제2 단말기에 상기 제2 비디오 스트림을 송신하는 단계 - 상기 제2 비디오 스트림은 상기 제2 단말기의 비디오 재생에 사용됨 -
    를 포함하는 프록시 서버에 적용되는 비디오 프로젝션 방법.
  2. 제1항에 있어서,
    상기 제1 비디오 스트림은 실시간 스트리밍 매체 전송 프로토콜(real-time streaming media transport protocol, RTP) 스트림이고, 상기 제1 비디오 스트림의 스트림 정보는 5-튜플(5-tuple)을 포함하는, 프록시 서버에 적용되는 비디오 프로젝션 방법.
  3. 제1항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 비디오 통합 자원 식별자(unified resource locator, URL) 정보를 포함하는, 프록시 서버에 적용되는 비디오 프로젝션 방법.
  4. 제3항에 있어서,
    상기 프로젝션 프록시 요청 메시지는 상기 비디오 서버의 네트워크 프로토콜 주소를 더 포함하고, 상기 비디오 프로젝션 방법이,
    상기 제1 비디오 스트림이 발견되지 않으면, 상기 제2 단말기로부터의 상기 프로젝션 프록시 요청 메시지에 기초하여 상기 비디오 서버에 비디오 스트림 요청 메시지를 송신하는 단계 - 상기 비디오 스트림 요청 메시지는 상기 비디오 URL 정보를 싣고 있음 -;
    제3 비디오 스트림을 수신하는 단계 - 상기 제3 비디오 스트림은 상기 비디오 URL 정보에 대응하는 비디오 스트림임 -; 및
    상기 제2 단말기에 상기 제3 비디오 스트림을 송신하는 단계
    를 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 상기 제1 단말기의 네트워크 프로토콜 주소를 더 포함하는, 프록시 서버에 적용되는 비디오 프로젝션 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하는 단계 이전에, 상기 비디오 프로젝션 방법이,
    상기 프로젝션 프록시 요청 메시지 내의 프로토콜 유형 필드에 기초하여 타깃 스트리밍 매체 전송 프로토콜을 결정하는 단계 - 상기 타깃 스트리밍 매체 전송 프로토콜은 상기 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이고, 상기 프로토콜 유형 필드의 서로 다른 값은 서로 다른 스트리밍 매체 전송 프로토콜에 대응함 -; 및
    상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하는 단계를 상기 타깃 스트리밍 매체 프로토콜에 기초하여 수행하는 단계
    를 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 비디오 프로젝션 방법이,
    상기 제1 단말기에 의해 주기적으로 송신되는 비디오 동기화 메시지를 수신하고, 상기 제2 단말기에 상기 비디오 동기화 메시지를 포워딩하는 단계 - 상기 비디오 동기화 메시지는 상기 제1 비디오 스트림의 스트림 정보를 포함하고, 상기 비디오 동기화 메시지는 상기 제1 단말기의 머리 회전 정보(head rotation information)와 재생 진행 중 적어도 하나를 더 포함하고 있음 -
    를 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 비디오 프로젝션 방법이,
    상기 제2 단말기로부터 프로젝션 프록시 종료 요청 메시지를 수신하는 단계 - 상기 프로젝션 프록시 종료 요청 메시지는 상기 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 상기 프록시 서버에 요청하는 데 사용됨 -; 및
    상기 비디오 서버에 의해 상기 제1 단말기에 송신된 상기 데이터 스트림에 대해 매칭을 중지하는 단계
    를 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 방법.
  9. 제2 단말기에 적용되는 비디오 프로젝션 방법으로서,
    상기 제2 단말기, 프록시 서버, 및 제1 단말기가 동일한 근거리 통신망(local area network)에 위치하고, 상기 비디오 프로젝션 방법이,
    상기 제1 단말기로부터 프로젝션 요청 메시지를 수신하는 단계 - 상기 프로젝션 요청 메시지는 상기 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
    상기 프록시 서버에 프로젝션 프록시 요청 메시지를 송신하는 단계 - 상기 프로젝션 프록시 요청 메시지는 상기 제1 단말기에 의해 재생 중인 상기 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
    상기 프록시 서버에 의해 송신된 제2 비디오 스트림을 수신하는 단계 - 상기 제2 비디오 스트림은 상기 프록시 서버에 의해 수신된 상기 제1 비디오 스트림을 복제하여 획득됨 -;
    상기 제1 단말기에 의해 송신된 비디오 동기화 메시지를 수신하는 단계 - 상기 비디오 동기화 메시지는 상기 제1 비디오 스트림의 스트림 정보를 포함하고, 상기 비디오 동기화 메시지는 상기 제1 단말기의 머리 회전 정보(head rotation information) 또는 재생 진행을 더 포함하고 있음 -; 및
    상기 비디오 동기화 메시지와 상기 제2 비디오 스트림에 기초하여 비디오 재생을 수행하는 단계
    를 포함하는 제2 단말기에 적용되는 비디오 프로젝션 방법.
  10. 제9항에 있어서,
    상기 제1 비디오 스트림은 RTP 스트림을 포함하고, 상기 제1 비디오 스트림의 스트림 정보는 5-튜플(5-tuple)을 포함하는, 제2 단말기에 적용되는 비디오 프로젝션 방법.
  11. 제9항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 비디오 URL 정보를 포함하는, 제2 단말기에 적용되는 비디오 프로젝션 방법.
  12. 제11항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 상기 제1 단말기의 네트워크 프로토콜 주소를 더 포함하는, 제2 단말기에 적용되는 비디오 프로젝션 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 프로젝션 프록시 요청 메시지의 프로토콜 유형 필드가 상기 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜을 나타내는 데 사용되는, 제2 단말기에 적용되는 비디오 프로젝션 방법.
  14. 제9항 내지 제13항 중 어느 한 항에 있어서,
    상기 비디오 프로젝션 방법이,
    상기 제1 단말기로부터 프로젝션 종료 요청 메시지를 수신하는 단계; 및
    상기 프록시 서버에 프로젝션 프록시 종료 요청 메시지를 송신하는 단계 - 상기 프로젝션 프록시 종료 요청 메시지는 상기 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 상기 프록시 서버에 요청하는 데 사용됨 -
    를 더 포함하는 제2 단말기에 적용되는 비디오 프로젝션 방법.
  15. 프록시 서버에 적용되는 비디오 프로젝션 장치로서,
    상기 프록시 서버, 제1 단말기, 및 제2 단말기가 동일한 근거리 통신망(local area network)에 위치하고, 상기 비디오 프로젝션 장치가,
    상기 제2 단말기로부터 프로젝션 프록시 요청 메시지를 수신하도록 구성된 제1 수신 모듈 - 상기 프로젝션 프록시 요청 메시지는 상기 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
    상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하도록 구성된 매칭 모듈 - 상기 비디오 서버는 상기 제1 비디오 스트림을 제공하도록 구성됨 -;
    상기 제1 비디오 스트림이 발견될 때, 상기 제1 비디오 스트림을 복제하여 제2 비디오 스트림을 획득하도록 구성된 획득 모듈; 및
    상기 제2 단말기에 상기 제2 비디오 스트림을 송신하도록 구성된 제1 송신 모듈 - 상기 제2 비디오 스트림은 상기 제2 단말기의 비디오 재생에 사용됨 -
    을 포함하는 프록시 서버에 적용되는 비디오 프로젝션 장치.
  16. 제15항에 있어서,
    상기 제1 비디오 스트림은 RTP 스트림이고, 상기 제1 비디오 스트림의 스트림 정보는 5-튜플(5-tuple)을 포함하는, 프록시 서버에 적용되는 비디오 프로젝션 장치.
  17. 제15항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 비디오 URL 정보를 포함하는, 프록시 서버에 적용되는 비디오 프로젝션 장치.
  18. 제17항에 있어서,
    상기 프로젝션 프록시 요청 메시지는 상기 비디오 서버의 네트워크 프로토콜 주소를 더 포함하고, 상기 비디오 프로젝션 장치가,
    상기 제1 비디오 스트림이 발견되지 않으면, 상기 제2 단말기로부터의 상기 프로젝션 프록시 요청 메시지에 기초하여 상기 비디오 서버에 비디오 스트림 요청 메시지를 송신하도록 구성된 제2 송신 모듈 - 상기 비디오 스트림 요청 메시지는 상기 비디오 URL 정보를 싣고 있음 -;
    제3 비디오 스트림을 수신하도록 구성된 제2 수신 모듈 - 상기 제3 비디오 스트림은 상기 비디오 URL 정보에 대응하는 비디오 스트림임 -; 및
    상기 제2 단말기에 상기 제3 비디오 스트림을 송신하도록 구성된 제3 송신 모듈
    을 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 장치.
  19. 제17항 또는 제18항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 상기 제1 단말기의 네트워크 프로토콜 주소를 더 포함하는, 프록시 서버에 적용되는 비디오 프로젝션 장치.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서,
    상기 비디오 프로젝션 장치가,
    상기 프로젝션 프록시 요청 메시지 내의 프로토콜 유형 필드에 기초하여 타깃 스트리밍 매체 전송 프로토콜을 결정하도록 구성된 결정 모듈 - 상기 타깃 스트리밍 매체 전송 프로토콜은 상기 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜이고, 상기 프로토콜 유형 필드의 서로 다른 값은 서로 다른 스트리밍 매체 전송 프로토콜에 대응함 -; 및
    상기 제1 비디오 스트림의 스트림 정보에 기초하여, 비디오 서버에 의해 상기 제1 단말기에 송신된 데이터 스트림에 대해 매칭을 수행하는 단계를 상기 타깃 스트리밍 매체 프로토콜에 기초하여 수행하도록 구성된 실행 모듈
    을 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 장치.
  21. 제15항 내지 제20항 중 어느 한 항에 있어서,
    상기 비디오 프로젝션 장치가,
    상기 제1 단말기에 의해 주기적으로 송신되는 비디오 동기화 메시지를 수신하고, 상기 제2 단말기에 상기 비디오 동기화 메시지를 포워딩하도록 구성된 제3 수신 모듈 - 상기 비디오 동기화 메시지는 상기 제1 비디오 스트림의 스트림 정보를 포함하고, 상기 비디오 동기화 메시지는 상기 제1 단말기의 머리 회전 정보(head rotation information)와 재생 진행 중 적어도 하나를 더 포함하고 있음 -
    을 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 장치.
  22. 제15항 내지 제21항 중 어느 한 항에 있어서,
    상기 비디오 프로젝션 장치가,
    상기 제2 단말기로부터 프로젝션 프록시 종료 요청 메시지를 수신하도록 구성된 제4 수신 모듈 - 상기 프로젝션 프록시 종료 요청 메시지는 상기 제1 단말기의 네트워크 프로토콜 주소를 싣고 있고, 상기 프로젝션 프록시 종료 요청 메시지는 상기 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 상기 프록시 서버에 요청하는 데 사용됨 -; 및
    상기 비디오 서버에 의해 상기 제1 단말기에 송신된 상기 데이터 스트림에 대해 매칭을 중단하도록 구성된 중단 모듈
    을 더 포함하는 프록시 서버에 적용되는 비디오 프로젝션 장치.
  23. 제2 단말기에 적용되는 비디오 프로젝션 장치로서,
    상기 제2 단말기, 프록시 서버, 및 제1 단말기가 동일한 근거리 통신망(local area network)에 위치하고, 상기 비디오 프로젝션 장치가,
    상기 제1 단말기로부터 프로젝션 요청 메시지를 수신하도록 구성된 제1 수신 모듈 - 상기 프로젝션 요청 메시지는 상기 제1 단말기에 의해 재생 중인 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
    상기 프록시 서버에 프로젝션 프록시 요청 메시지를 송신하도록 구성된 제1 송신 모듈 - 상기 프로젝션 프록시 요청 메시지는 상기 제1 단말기에 의해 재생 중인 상기 제1 비디오 스트림의 적어도 스트림 정보를 싣고 있음 -;
    상기 프록시 서버에 의해 송신된 제2 비디오 스트림을 수신하도록 구성된 제2 수신 모듈 - 상기 제2 비디오 스트림은 상기 프록시 서버에 의해 수신된 상기 제1 비디오 스트림을 복제하여 획득됨 -;
    상기 제1 단말기에 의해 송신된 비디오 동기화 메시지를 수신하도록 구성된 제3 수신 모듈 - 상기 비디오 동기화 메시지는 상기 제1 비디오 스트림의 스트림 정보를 포함하고, 상기 비디오 동기화 메시지는 상기 제1 단말기의 머리 회전 정보(head rotation information) 또는 재생 진행을 더 포함하고 있음 -; 및
    상기 비디오 동기화 메시지와 상기 제2 비디오 스트림에 기초하여 비디오 재생을 수행하도록 구성된 재생 모듈
    을 포함하는 제2 단말기에 적용되는 비디오 프로젝션 장치.
  24. 제23항에 있어서,
    상기 제1 비디오 스트림은 RTP 스트림이고, 상기 제1 비디오 스트림의 스트림 정보는 5-튜플(5-tuple)을 포함하는, 제2 단말기에 적용되는 비디오 프로젝션 장치.
  25. 제23항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 비디오 URL 정보를 포함하는, 제2 단말기에 적용되는 비디오 프로젝션 장치.
  26. 제25항에 있어서,
    상기 제1 비디오 스트림의 스트림 정보는 상기 제1 단말기의 네트워크 프로토콜 주소를 더 포함하는, 제2 단말기에 적용되는 비디오 프로젝션 장치.
  27. 제23항 내지 제26항 중 어느 한 항에 있어서,
    상기 프로젝션 프록시 요청 메시지의 프로토콜 유형 필드는 상기 제1 단말기에 의해 사용되는 스트리밍 매체 전송 프로토콜을 나타내는 데 사용되는, 제2 단말기에 적용되는 비디오 프로젝션 장치.
  28. 제23항 내지 제27항 중 어느 한 항에 있어서,
    상기 비디오 프로젝션 장치가,
    상기 제1 단말기로부터 프로젝션 종료 요청 메시지를 수신하도록 구성된 제4 수신 모듈; 및
    상기 프록시 서버에 프로젝션 프록시 종료 요청 메시지를 송신하도록 구성된 제2 송신 모듈 - 상기 프로젝션 프록시 종료 요청 메시지는 상기 제1 비디오 스트림에 대한 매칭 프로세스를 종료하도록 상기 프록시 서버에 요청하는 데 사용됨 -
    을 더 포함하는 제2 단말기에 적용되는 비디오 프로젝션 장치.
  29. 컴퓨터 장치로서,
    상기 컴퓨터 장치는 프로세서와 메모리를 포함하고, 상기 메모리는 적어도 하나의 명령을 저장하며, 상기 명령은 제1항 내지 제14항 중 어느 한 항의 비디오 프로젝션 방법에서 수행되는 조작을 수행하기 위해 상기 프로세서에 의해 로딩되어 실행되는, 컴퓨터 장치.
  30. 컴퓨터 판독가능 저장 매체로서,
    상기 저장 매체는 적어도 하나의 명령을 저장하고, 상기 명령은 제1항 내지 제14항 중 어느 한 항의 비디오 프로젝션 방법에서 수행되는 조작을 수행하기 위해 프로세서에 의해 로딩되어 실행되는, 컴퓨터 판독가능 저장 매체.
KR1020217008935A 2018-08-30 2019-08-27 비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체 KR102387161B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811005325.3A CN110876080B (zh) 2018-08-30 2018-08-30 视频投屏方法、装置、计算机设备及存储介质
CN201811005325.3 2018-08-30
PCT/CN2019/102896 WO2020043104A1 (zh) 2018-08-30 2019-08-27 视频投屏方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
KR20210047933A true KR20210047933A (ko) 2021-04-30
KR102387161B1 KR102387161B1 (ko) 2022-04-14

Family

ID=69643965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217008935A KR102387161B1 (ko) 2018-08-30 2019-08-27 비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체

Country Status (4)

Country Link
EP (1) EP3840394A4 (ko)
KR (1) KR102387161B1 (ko)
CN (2) CN113727143A (ko)
WO (1) WO2020043104A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726458B (zh) * 2020-06-05 2021-09-14 北方工业大学 在干扰消失后手机控制回放视频流完整且按时播放的方法
CN111988660A (zh) * 2020-08-06 2020-11-24 锐捷网络股份有限公司 一种dlna设备投屏方法、网关、终端和系统
CN112153401B (zh) * 2020-09-22 2022-09-06 咪咕视讯科技有限公司 视频处理方法、通信设备及可读存储介质
CN114546308A (zh) * 2020-11-25 2022-05-27 华为终端有限公司 应用界面投屏方法、装置、设备以及存储介质
CN114697736A (zh) * 2020-12-29 2022-07-01 深圳Tcl新技术有限公司 无线投屏方法、系统、智能设备及计算机可读存储介质
CN114827704A (zh) * 2021-01-29 2022-07-29 博泰车联网科技(上海)股份有限公司 与车辆的车载系统交互方法、存储介质和移动终端
CN113163261B (zh) * 2021-03-17 2022-02-01 深圳乐播科技有限公司 加密视频的解密推送方法、装置、设备及存储介质
CN115119034A (zh) * 2021-03-17 2022-09-27 浙江宇视科技有限公司 一种视频窗口漫游方法、装置、设备及存储介质
CN115407951A (zh) * 2021-05-26 2022-11-29 华为云计算技术有限公司 一种投屏方法及投屏装置
TWI828091B (zh) * 2022-03-23 2024-01-01 中華電信股份有限公司 全景影像傳輸系統、方法以及電腦程式產品
CN115278348B (zh) * 2022-07-05 2023-11-17 深圳乐播科技有限公司 一种投屏方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170171341A1 (en) * 2015-08-27 2017-06-15 Kiswe Mobile Inc. Efficient content streaming utilizing local proxy server implemented on client device
CN107135417A (zh) * 2017-06-08 2017-09-05 深圳市耐飞科技有限公司 一种hls协议的投屏方法及系统
CN107613338A (zh) * 2017-09-25 2018-01-19 中兴通讯股份有限公司 视频传输方法、服务器、vr播放终端及计算机可读存储介质
WO2018103644A1 (zh) * 2016-12-05 2018-06-14 中兴通讯股份有限公司 直播分享方法及装置、家庭媒体设备和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497887A (en) * 2010-08-30 2013-06-26 Mobitv Inc User and device authentication for media services
CN104125200B (zh) * 2013-04-25 2017-09-12 中国移动通信集团公司 多屏互动方法、设备及系统
CN104519397A (zh) * 2013-09-29 2015-04-15 北大方正集团有限公司 音视频投屏播放方法、机顶盒和终端设备
CN103581707B (zh) * 2013-11-08 2017-06-20 华为软件技术有限公司 双屏互动处理方法和装置
US20160173937A1 (en) * 2014-12-11 2016-06-16 Mediatek Inc. Methods and devices for media casting management among multiple media casting devices supporting different media casting protocols
CN106534956B (zh) * 2015-09-11 2020-02-18 中兴通讯股份有限公司 屏幕投射的视频数据传输方法、装置及系统
CN105392048B (zh) * 2015-11-04 2019-03-05 合一网络技术(北京)有限公司 视频投放控制方法及系统
CN106789453B (zh) * 2015-11-19 2019-10-22 中国移动通信集团公司 一种无线投屏方法及设备
CN106454497A (zh) * 2016-10-31 2017-02-22 乐视控股(北京)有限公司 一种投屏播放视频的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170171341A1 (en) * 2015-08-27 2017-06-15 Kiswe Mobile Inc. Efficient content streaming utilizing local proxy server implemented on client device
WO2018103644A1 (zh) * 2016-12-05 2018-06-14 中兴通讯股份有限公司 直播分享方法及装置、家庭媒体设备和存储介质
CN107135417A (zh) * 2017-06-08 2017-09-05 深圳市耐飞科技有限公司 一种hls协议的投屏方法及系统
CN107613338A (zh) * 2017-09-25 2018-01-19 中兴通讯股份有限公司 视频传输方法、服务器、vr播放终端及计算机可读存储介质

Also Published As

Publication number Publication date
EP3840394A1 (en) 2021-06-23
KR102387161B1 (ko) 2022-04-14
WO2020043104A1 (zh) 2020-03-05
CN110876080A (zh) 2020-03-10
CN110876080B (zh) 2021-07-20
EP3840394A4 (en) 2021-09-15
CN113727143A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
KR102387161B1 (ko) 비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체
US8578042B2 (en) Method, system and device for playing streaming media
CN112738140B (zh) 一种基于WebRTC的视频流传输方法、装置、存储介质和设备
CN112738644B (zh) 一种基于WebRTC的视频流传输方法和装置
US20020112244A1 (en) Collaborative video delivery over heterogeneous networks
US20150256600A1 (en) Systems and methods for media format substitution
RU2647654C2 (ru) Система и способ доставки аудиовизуального контента в клиентское устройство
CN107819809B (zh) 对内容进行同步操作的方法及装置
US11012725B2 (en) Live video replay method, replay server and system
US20210289255A1 (en) Synchronization of media content across multiple participant devices
KR20120011969A (ko) Rtsp 세션에 기초해 스트리밍 데이터를 송수신하는 방법 및 장치
WO2013116975A1 (zh) 流媒体播放方法、设备及系统
CN113572975B (zh) 视频播放方法、装置及系统、计算机存储介质
CN107547517B (zh) 音视频节目录制方法和网络设备及计算机装置
CN114245153B (zh) 切片方法、装置、设备及可读存储介质
WO2017128902A1 (zh) 一种基于most的多环网流媒体多播系统和方法
EP1954002B1 (en) Method for determining the available bandwidth for multimedia data transmission
WO2010057391A1 (zh) 一种流媒体播放控制方法、设备及系统
Wang et al. A study of live video streaming system for mobile devices
WO2018171567A1 (zh) 播放媒体流的方法、服务器及终端
CN113055636B (zh) 一种数据处理方法及会议系统
WO2016090912A1 (zh) 一种直播视频的生成及播放方法、装置、终端及系统
JP2006033026A (ja) マルチメディア情報の受信方法及びこれを実現するプログラム、マルチメディア情報の受信装置
CN106657061B (zh) 一种将rtsp转换为对象存储的方式
KR101783723B1 (ko) 생중계에서 타임머신 기능을 제공하는 방법 및 시스템

Legal Events

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