KR20190060849A - 미디어 오케스트레이션 활성화 - Google Patents

미디어 오케스트레이션 활성화 Download PDF

Info

Publication number
KR20190060849A
KR20190060849A KR1020197013568A KR20197013568A KR20190060849A KR 20190060849 A KR20190060849 A KR 20190060849A KR 1020197013568 A KR1020197013568 A KR 1020197013568A KR 20197013568 A KR20197013568 A KR 20197013568A KR 20190060849 A KR20190060849 A KR 20190060849A
Authority
KR
South Korea
Prior art keywords
orchestration
controller system
client device
media
communication channel
Prior art date
Application number
KR1020197013568A
Other languages
English (en)
Other versions
KR102243753B1 (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 KR20190060849A publication Critical patent/KR20190060849A/ko
Application granted granted Critical
Publication of KR102243753B1 publication Critical patent/KR102243753B1/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • 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
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4524Management of client data or end-user data involving the geographical location of the client
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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
    • 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/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

본 발명은 미디어 오케스트레이션(orchestration)을 활성화하는 방법에 관한 것이다. 미디어 오케스트레이션은 적어도 하나의 미디어 스트림을 프로세싱하기 위해 복수의 디바이스들을 오케스트레이팅한다. 예를 들어, 클라이언트 디바이스에 의해 수행되는 제1 방법은, 특정 미디어 오케스트레이션에 관한 통신 채널 설정 정보를 수신하는 단계(1), 통신 채널 설정 정보에 기초하여, 제어기 시스템으로 요청을 송신하는 단계(3)로서, 요청은 특정 미디어 오케스트레이션에 관하여 클라이언트 디바이스와 제어기 시스템 사이에 통신 채널을 확립하는 제1 단계를 나타내는, 송신하는 단계(3), 및 상기 통신 채널이 확립된 후에, 제어기 시스템으로부터 통신 채널을 통해 제어 정보를 수신하는 단계(11)를 포함한다. 예를 들어, 제어기 시스템에 의해 수행되는 제2 방법은, 요청을 수신하는 단계(5), 요청에 기초하여 오케스트레이션 세션을 결정하는 단계(7), 및 상기 통신 채널이 확립된 후에, 오케스트레이션 세션에 관한 제어 정보를 통신 채널을 통해 클라이언트 디바이스로 송신하는 단계(9)를 포함한다.

Description

미디어 오케스트레이션 활성화
본 발명은 미디어 오케스트레이션(orchestration)을 활성화하는 방법에 관한 것으로, 상기 미디어 오케스트레이션은 적어도 하나의 미디어 스트림을 프로세싱하도록 복수의 디바이스를 오케스트레이팅한다.
본 발명은 또한 컴퓨터 시스템이 그러한 방법들 중 임의의 것을 수행할 수 있게 하는 컴퓨터 프로그램 제품에 관한 것이다.
본 발명은 또한 미디어 오케스트레이션을 활성화하기 위한 클라이언트 디바이스 및 미디어 오케스트레이션을 활성화하기 위한 제어기 시스템에 관한 것으로, 상기 미디어 오케스트레이션은 복수의 디바이스를 오케스트레이팅하여 적어도 하나의 미디어 스트림을 프로세싱한다.
MPEG(Moving Picture Experts Group)은 오디오 및 비디오 압축 및 송신에 대한 표준을 설정하기 위해 ISO 및 IEC에 의해 형성된 당국의 작업 그룹이다. 최근 이종 환경에서의 고효율 코딩 및 미디어 전달에 대한 표준(MPEG-H) 및 HTTP를 통한 동적 적응 스트리밍(MPEG-DASH)을 작성한 후, MPEG는 미디어 오케스트레이션에 대한 표준(MPEG-MORE)의 작성 작업에 착수했다. 미국 캘리포니아주 샌 디에고에서 2016년 2월에 개최된 ISO/IEC JTC1/SC29/WG11의 MPEG 회의 114에서 발행된 발행물 "미디어 오케스트레이션 v.3에 대한 컨텍스트 및 목적"(N 16131)는 MPEG-MORE에 대한 컨텍스트 및 목적의 초기 설명을 제공한다. 미디어 오케스트레이션은 미디어 캡쳐의 오케스트레이션, 미디어 소비의 오케스트레이션 및 미디어 변환의 오케스트레이션을 포함한다. 미디어 오케스트레이션은 미디어 전달을 포함하지 않는다.
미디어 캡쳐의 오케스트레이션은, 어떤 디바이스가 무엇을 언제 어떻게 캡쳐하는지, 그리고 이를 어떻게 이용 가능하게 하는지를 제어하는 것에 관한 것이다. 이들이 캡쳐하는 것은 그 위치 및 방향, 그리고 캡쳐를 위한 그 기능, 예를 들어, 줌(zoom) 기능에 관한 것이다. 그들이 캡쳐할 때는 캡쳐의 시작 및 중지에 관한 것이다. 이를 어떻게 캡쳐하는지는 프레임 레이트, 해상도, 마이크로폰 이득, 화이트 밸런스 설정 등에 관한 것이다. 어떻게 이를 이용 가능하게 하는지는 사용되는 코덱, 전달되는 메타데이터, 적용되는 가능한 변환과 같은 것들에 관한 것이다.
미디어 소비 또는 프리젠테이션의 오케스트레이션은 어떤 디바이스가 무엇을 언제 어떻게 재생하는지를 제어하는 것에 관한 것이다. 무엇을 재생할지는 어떠한 컨텐츠가 검색되어야 하고 컨텐츠의 어떤 부분이 재생되어야 하는지에 관한 것이다. 언제 재생할지는 다른 디바이스들과의 재생 동기화에 관한 것이다. 어떻게 재생할지는 무엇인가를 정확하게 어디서 재생할지에 관한 것으로, 예를 들어, 스크린의 컨텐츠 부분의 위치 결정, 룸 내의 오디오 객체의 위치 결정, 적용될 가능한 변환, 예를 들어, 볼륨 또는 밝기 조정이 있다.
미디어 변환의 오케스트레이션은 캡쳐된 미디어에 변환을 적용하는 것에 관한 것이다. 이는 캡쳐된 컨텐츠의 방식을 변경하는 것일 수 있으며, 예를 들어, 프레임 레이트, 인코딩을 변경하고, 특정 필터 또는 마스크를 적용하는 것 등이다. 이는 또한 컨텐츠를 조합하는 것일 수 있으며, 예를 들어, 스티칭(stitching)을 수행하거나, 입력의 향상을 위해 입력을 조합한다. 컨텐츠의 편집이 또한 이의 일부로 보여질 수 있어, 공간 및 시간의 컨텐츠의 배열을 변경하고, 예를 들어, 다양한 장면 및 녹음으로부터 완전한 영화의 제작과 이를 비교한다.
서버-중심적인, 즉, 서버가 재생 디바이스를 관리하는 SMIL(Synchronized Multimedia Integration Language, Worldwide Web Consortium에 의해 발표된 표준)과는 달리, MPEG-MORE는 클라이언트 디바이스-중심적이다(소스 및 싱크는 총괄적으로 본 명세서에서 "클라이언트 디바이스"로 칭해진다). 종래의 클라이언트 디바이스-중심 아키텍처에서, 클라이언트는 주기적으로 새로운 구성 파일을 검색한다. 이것은 서버가 클라이언트로 하여금 새로운 구성을 즉시 검색하게 하는 방법이 없다는 불리점을 가지지만, 방화벽을 통한 용이한 통신의 이점을 갖는다.
"미디어 오케스트레이션 v.3에 대한 컨텍스트 및 목적"은 오케스트레이터 기능 및 제어기 기능의 개념을 소개하지만, 제어기 기능이 어떠한 제어 정보를 송신하는지 또는 오케스트레이터 기능이 클라이언트 디바이스와 어떻게 통신하는지를 기술하지는 않는다. SMIL이나 "미디어 오케스트레이션 v.3의 컨텍스트 및 목적" 중 어느 것도 클라이언트 디바이스-중심 아키텍처에서 미디어 오케스트레이션과 관련하여 클라이언트 디바이스의 실시간 조정을 어떻게 달성하는지에 대해서는 명시하지 않는다.
본 발명의 제1 목적은 클라이언트 디바이스에 의한 성능을 위해 미디어 오케스트레이션을 활성화하는 방법을 제공하는 것이며, 이는 클라이언트 디바이스-중심 아키텍처에서 미디어 오케스트레이션과 관련하여 클라이언트 디바이스의 실시간 조정을 달성하는 것을 돕는다.
본 발명의 제2 목적은 제어기 시스템에 의한 수행을 위해 미디어 오케스트레이션을 활성화하는 방법을 제공하는 것이며, 이는 클라이언트 디바이스-중심 아키텍처에서 미디어 오케스트레이션과 관련하여 클라이언트 디바이스의 실시간 조정을 달성하는 것을 돕는다.
본 발명의 제3 목적은 미디어 오케스트레이션을 활성화하기 위한 클라이언트 디바이스를 제공하는 것이며, 이는 클라이언트 디바이스-중심 아키텍처에서 미디어 오케스트레이션과 관련하여 클라이언트 디바이스의 실시간 조정을 달성하는 것을 돕는다.
본 발명의 제4 목적은 미디어 오케스트레이션을 활성화하기 위한 제어기 시스템을 제공하는 것으로, 이는 클라이언트 디바이스-중심 아키텍처에서 미디어 오케스트레이션과 관련하여 클라이언트 디바이스의 실시간 조정을 달성하는 것을 돕는다.
본 발명에 따르면, 제1 목적은 미디어 오케스트레이션을 활성화하는 방법으로 실현되며, 본 방법은 클라이언트 디바이스에서 특정 미디어 오케스트레이션에 관한 통신 채널 설정 정보를 수신하는 단계, 상기 통신 채널 설정 정보에 기초하여, 제어기 시스템으로 요청을 송신하는 단계로서, 상기 요청은 상기 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이에 (양방향) 통신 채널을 확립하는 제1 단계를 나타내는, 송신하는 단계, 및 상기 제어기 시스템으로부터 상기 클라이언트 디바이스에서 상기 통신 채널을 통해 제어 정보를 수신하는 단계를 포함한다. 본 방법은 상기 통신 채널이 확립된 후에, 상태 정보를 상기 통신 채널을 통해 상기 제어기 시스템으로 송신하는 단계를 더 포함할 수 있다.
본 발명자는 클라이언트 디바이스-중심 아키텍처에서, 미디어 오케스트레이션의 특정 양태에 요구되는 실시간 조정을 달성하기 위해 클라이언트 디바이스가 다른 클라이언트 디바이스 또는 서버를 폴링(polling)하도록 하는 것이 최적이 아니라는 것을 인식했다. 이러한 실시간 조정을 달성하기 위해, 발명자는 중앙 집중식 기능에 대한 통신 채널이 사용되는 아키텍처를 실현하였다. 클라이언트 디바이스-중심 아키텍처를 유지하기 위해 클라이언트 디바이스는 이 통신 채널을 설정하는 데 주도적인 역할을 담당한다. 그러나, 일단 통신 채널이 확립되면, 제어 정보는 다음 폴링 시간을 기다리지 않고 제어기 시스템으로부터 클라이언트 디바이스로 전송될 수 있다(이는 클라이언트 디바이스가 제어기 시스템에 상태 정보를 전송할 수 있음을 배제하지 않을 수 있다).
추가 이점으로서, 본 발명은 방화벽에 대한 문제점을 감소시키고 NAT 탐색을 처리하며, 이는 서버가 클라이언트 디바이스와의 접속을 설정하는 것을 금지하지만, 클라이언트 디바이스가 서버와의 접속을 설정하는 것을 금지하지 않을 수 있다. 다른 추가적인 이점으로서, 본 발명은 더 적은 헤더 정보가 요구되기 때문에, 복수의 제어 메시지를 보다 효율적으로 전송하도록 할 수 있다. 예를 들어, 이 접속은 하나의 특정 세션에만 사용되므로 제어 메시지는 각 메시지의 오케스트레이션 세션을 참조할 필요가 없다. 따라서, 통신 채널은 단일 오케스트레이션 세션에 사용되는 것이 바람직하지만, 필요한 경우 동일한 클라이언트 디바이스가 참여하는(그리고 동일한 제어 시스템에 의해 제어되는) 복수의 오케스트레이션 세션에 대해 또한 사용될 수 있다.
본 발명의 추가 이점은 제어기 시스템 상에서 실행되는 제어기 프로세스가 비교적 가벼울 수 있다는 것이다. 채널 자체를 유지 관리하는 것은 어떠한 상당한 프로세싱 능력을 필요로 하지 않으며 제어기 시스템은 미디어 스트리밍 프로세스가 발생하기 위해 임의의 필수 작업을 수행할 필요가 없을 수 있다. 이는, 제어기 시스템이 많은 수의 클라이언트 디바이스를 동시에 처리할 수 있게 한다. 본 발명의 또 다른 이점은, 통신 채널이 미디어 스트리밍 프로세스의 중요한 양태일 필요는 없다는 것이다. 예를 들어, 네트워크 중단으로 인해 채널이 일시적으로 끊어지고/단절되더라도, 이는 클라이언트 디바이스가 미디어 스트림을 요청하고 재생하는 것을 방해하지 않는다.
예를 들어, 클라이언트 디바이스는 미디어 데이터 및 또는 메타 데이터의 소스(예를 들어 카메라, 마이크로폰 또는 미디어 경험에 관한 미디어 데이터 또는 메타 데이터를 제공하는 센서를 포함하는 임의의 디바이스) 및/또는 미디어 데이터 및/메타 데이터에 대한 싱크(예를 들어, TV, 스마트폰, 태블릿, PC, VR 디바이스, 예를 들어, HMD)를 포함할 수 있다. 제어기 시스템은 하나 이상의 제어기 디바이스를 포함할 수 있다. 제어기 시스템은 예를 들어, "미디어 오케스트레이션 v.3에 대한 컨텍스트 및 목적"에서 특정한 대로 제어기 기능 및/또는 오케스트레이터 기능을 구현할 수 있다. 대안적으로, 제어기 시스템은 예를 들어, "미디어 오케스트레이션 v.3에 대한 컨텍스트 및 목적"에서 특정한 대로 오케스트레이터 기능으로부터 오케스트레이션 데이터를 클라이언트 디바이스로 전달할 수 있다.
상기 통신 채널 설정 정보는 주소, 예를 들어, 상기 제어기 시스템의 유니폼 리소스 식별자(URI), 상기 제어기 시스템에 액세스하는 데 사용될 수 있는 하나 이상의 프로토콜을 식별하는 하나 이상의 프로토콜 식별자 및/또는 오케스트레이션 세션 식별자를 포함할 수 있다. 주소는 URI, 예를 들어, 정규화된 도메인 이름 또는 IP 주소 등일 수 있다. 그러나, 본 발명은 또한 다른 형태의 어드레싱을 사용하는 네트워크 상에 있을 수 있다. 통신 채널 설정 정보는 예를 들어, 초기 구성의 일부일 수 있다. 대안적으로, 예를 들어, 초기 구성이 확립된 후에 초기 구성은 통신 채널을 통해 획득될 수 있다. 제어기 시스템이 상술한 오케스트레이터 기능을 구현하지 않으면, 통신 채널 설정 정보는 클라이언트 디바이스가 이 오케스트레이터 기능을 구현하는 시스템을 찾을 수 있게 하는 정보의 일부일 수 있다. 제어 정보는 예를 들어, MPEG MORE 메시징 및 제어 및/또는 오케스트레이션 데이터를 포함할 수 있다.
상기 방법은 상기 요청에 식별자를 포함시키는 단계를 더 포함할 수 있으며, 상기 식별자는 상기 제어기 시스템이 오케스트레이션 세션을 결정할 수 있게 한다. 상기 식별자는 또한 상기 제어기 시스템이 오케스트레이션 세션이 다른 제어기 시스템에 의해 제어되는지를 결정할 수 있게 한다. 상기 식별자는 오케스트레이션 세션 식별자 및/또는 위치 식별자를 포함할 수 있다. 위치 식별자는 예를 들어, GPS 좌표, IP 주소 및/또는 무선 네트워크의 SSID를 포함할 수 있다. 위치 식별자는 예를 들어, 동일한 지리적 영역 내의 재생 디바이스 및/또는 동일한 지리적 영역 내의 캡쳐 디바이스가 동일한 오케스트레이션 세션의 일부이도록 보장하기 위해 사용될 수 있다.
추가적으로 또는 대안적으로, 디바이스는 동일한 오케스트레이션 세션에서 끝나도록 보장하기 위해 그 오케스트레이션 세션 식별자를 공유할 수 있다. 이는 또한 디바이스 소유자가 세션을 더욱 사적으로 또는 독점적으로 유지할 수 있게 한다. 클라이언트 디바이스가 이 식별자를 결정할 수 없는 경우, 제어기 시스템은 클라이언트 디바이스로부터 수신된 식별자 없이 관련 오케스트레이션 세션을 결정할 수 있다. 동일한 미디어 오케스트레이션에 참여하는 모든 클라이언트 디바이스는 동일한 오케스트레이션 세션의 일부이며 동일한 오케스트레이션 세션의 일부인 클라이언트 디바이스는 함께 오케스트레이팅되어야 한다. 특정 미디어 데이터의 캡쳐링 및 이 미디어 데이터의 재생은 별도의 오케스트레이션일 수 있다. 이 경우 복수의 오케스트레이션 세션이 있을 수 있다.
본 발명에 따르면, 제2 목적은 미디어 오케스트레이션을 활성화하는 방법으로 실현되며, 본 방법은 제어기 시스템에서 클라이언트 디바이스로부터 요청을 수신하는 단계로서, 상기 요청은 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이에 (양방향) 통신 채널을 확립하는 제1 단계를 나타내는, 수신하는 단계, 상기 요청에 기초하여 오케스트레이션 세션을 결정하는 단계, 및 상기 오케스트레이션 세션에 관한 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 송신하는 단계를 포함한다. 본 방법은 상기 통신 채널이 확립된 후에, 상태 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 상기 제어기 시스템에서 수신하는 단계를 더 포함할 수 있다.
오케스트레이션 세션을 결정하는 단계는 동일한 미디어 오케스트레이션에 참여하는 하나 이상의 추가 클라이언트 디바이스와 연관된 오케스트레이션 세션을 결정하는 단계를 포함할 수 있다. 다른 클라이언트 디바이스가 이미 동일한 오케스트레이션에 참여하고 있는 경우, 제어기 시스템은 동일한 오케스트레이션 세션에서 이들을 함께 그룹화할 수 있다.
상기 방법은 상기 하나 이상의 추가 클라이언트 디바이스들 중 적어도 하나가 동일한 미디어 오케스트레이션에 참여하는 것을 중지하는 결정하는 단계, 상기 하나 이상의 추가 클라이언트 디바이스들 중 상기 적어도 하나가 동일한 미디어 오케스트레이션에서 참여하는 것을 중지하였다는 결정에 응답하여 새로운 제어 정보를 결정하는 단계, 및 상기 새로운 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 송신하는 단계를 더 포함할 수 있다. 즉각적인 조치가 필요한 상황 중 하나는 미디어 오케스트레이션의 다른 클라이언트 디바이스 중 하나가 참여를 중지할 때이다. 예를 들어, 이러한 다른 클라이언트 디바이스는 미디어 데이터의 특정 부분을 캡쳐 또는 재생을 담당할 수 있으며, 나머지 클라이언트 디바이스는 더 이상 참여하지 않는 이러한 다른 클라이언트 디바이스를 보완하기 위해 미디어 데이터의 다른 부분 또는 추가 부분을 캡쳐하거나 재생하도록 요청될 수 있다. 이는 단지 단일 클라이언트가 적어도 특정 시점에서 미디어 오케스트레이션 세션의 유일한 클라이언트인 상황으로 유도할 수 있다는 것에 유의한다. 통상적으로, 미디어 오케스트레이션 세션은 복수의 클라이언트의 거동을 오케스트레이팅하는 것에 관한 것이지만, 이는 예를 들어, 단지 하나의 클라이언트를 갖는 세션의 시작과 끝과 같이, 오케스트레이션 세션이 단지 하나의 클라이언트로 일시적으로 구성되는 것을 방지하지 않는다.
상기 방법은 상기 요청과 관련하여 식별자를 결정하는 단계를 더 포함할 수 있으며, 오케스트레이션 세션을 결정하는 단계는 상기 식별자에 기초하여 상기 오케스트레이션 세션을 결정하는 단계를 포함할 수 있다. 식별자는 예를 들어, 요청으로부터 결정될 수 있다. 식별자는 예를 들어, 오케스트레이션 세션 식별자 및/또는 클라이언트 디바이스에 의해 결정되는 위치 식별자를 포함할 수 있다. 대안적으로 또는 추가적으로, 식별자는 다른 정보를 사용하여 결정될 수 있다. 식별자는 예를 들어, 클라이언트 디바이스에 대한 모바일 통신 네트워크에 의해 결정된 위치 식별자를 포함하거나 또는 이로부터 결정될 수 있다. 위치 식별자는, 예를 들어, 복수의 카메라 폰이 동일 이벤트를 기록할 때 카메라 폰을 오케스트레이팅하는, 디바이스들이 비교적 가까이에 함께 있는 특정 미디어 오케스트레이션 시나리오에서 유리할 수 있다.
본 발명에 따르면, 제3 목적은 미디어 오케스트레이션을 활성화하기 위한 클라이언트 디바이스에서 실현되며, 클라이언트 디바이스는, 통신 인터페이스, 및 상기 통신 인터페이스를 사용하여 특정 미디어 오케스트레이션에 관한 통신 채널 설정 정보를 수신하고, 상기 통신 인터페이스를 사용하여 상기 통신 채널 설정 정보에 기초하여 제어기 시스템으로 요청을 송신하고, 상기 요청은 상기 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이의 (예를 들어, 양방향) 통신 채널을 확립하는 제1 단계를 나타내고, 상기 통신 채널이 확립된 후에, 상기 통신 인터페이스를 사용하여 상기 제어기 시스템으로부터 상기 통신 채널을 통해 제어 정보를 수신하도록 구성되는 적어도 하나의 프로세서를 포함한다.
상기 통신 채널 설정 정보는 주소, 예를 들어, 상기 제어기 시스템의 유니폼 리소스 식별자, 상기 제어기 시스템에 액세스하는 데 사용될 수 있는 하나 이상의 프로토콜을 식별하는 하나 이상의 프로토콜 식별자 및/또는 오케스트레이션 세션 식별자를 포함할 수 있다.
상기 적어도 하나의 프로세서는 상기 요청에 식별자를 포함시키도록 구성될 수 있으며, 상기 식별자는 상기 제어기 시스템이 오케스트레이션 세션을 결정할 수 있게 한다. 상기 식별자는 오케스트레이션 세션 식별자 및/또는 위치 식별자를 포함할 수 있다.
본 발명에 따르면, 제4 목적은 미디어 오케스트레이션을 활성화하기 위한 제어기 시스템에 의해 실현되며, 제어기 시스템은, 통신 인터페이스, 및 통신 인터페이스를 사용하여 클라이언트 디바이스로부터 요청을 수신하고, 상기 요청은 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이의 (예를 들어, 양방향) 통신 채널을 확립하는 제1 단계를 나타내고, 상기 요청에 기초하여 오케스트레이션 세션을 결정하고, 상기 통신 채널이 확립된 후에, 상기 통신 인터페이스를 사용하여 상기 오케스트레이션 세션에 관한 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 송신하도록 구성되는 적어도 하나의 프로세서를 포함한다.
상기 적어도 하나의 프로세서는 상기 요청에 기초하여 동일한 미디어 오케스트레이션에 참여하는 하나 이상의 추가 클라이언트 디바이스와 연관된 오케스트레이션 세션을 결정하도록 구성될 수 있다.
상기 적어도 하나의 프로세서는 상기 하나 이상의 추가 클라이언트 디바이스들 중 적어도 하나가 동일한 미디어 오케스트레이션에 참여하는 것을 중지하는 것을 결정하고, 상기 하나 이상의 추가 클라이언트 디바이스들 중 상기 적어도 하나가 동일한 미디어 오케스트레이션에 참여하는 것을 중지했다는 결정에 응답하여 새로운 제어 정보를 결정하고, 상기 통신 인터페이스를 사용하여 상기 새로운 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 송신하도록 구성될 수 있다.
상기 적어도 하나의 프로세서는 상기 요청과 관련하여 식별자를 결정하고 상기 식별자에 기초하여 오케스트레이션 세션을 결정하도록 구성될 수 있다. 상기 식별자는 오케스트레이션 세션 식별자 및/또는 위치 식별자를 포함할 수 있다.
상기 제어기 시스템은 단일 디바이스를 포함할 수 있다. 이는 동일한 미디어 오케스트레이션에 참여하는 모든 클라이언트 디바이스 간의 조정을 보장하는 가장 효율적인 방식이며, 클라이언트 디바이스와 제어기 시스템 간의 통신 지연을 야기하는 제어기 시스템의 여러 디바이스 간의 통신을 방지한다. 대안적으로, 제어기 시스템은 예를 들어, 복수의 제어기 디바이스를 포함할 수 있다. 제어기 시스템은 예를 들어, 다양한 물리적 서버 상에서 실행되는 클라우드-기반 시스템일 수 있다. 제어기 시스템은 예를 들어, 연계된 아키텍처를 가질 수 있다. 하나의 제어기 디바이스는 예를 들어, 클라이언트 디바이스를 향한 하나 이상의 다른 제어기 디바이스에 대한 프록시로서 작용할 수 있다.
제어기 시스템이 하나 이상의 다른 제어기 시스템과 협업하는 경우, 제어기 시스템은 예를 들어, 요청에 포함된 식별자를 사용하여 클라이언트 디바이스가 참여를 요청한 미디어 오케스트레이션을 담당하는 하나인지 여부를 결정한다. 클라이언트 디바이스가 어떤 미디어 시스템에서 이 미디어 오케스트레이션을 담당하는지 정확히 알지 못하는 경우, 제어기 시스템은 클라이언트 디바이스를 다른 제어기 시스템으로 참조할 수 있다.
클라이언트 디바이스의 사용자는 클라이언트 디바이스가 통신 채널 설정 정보를 획득할 수 있게 하기 위해 목록으로부터 특정 미디어 오케스트레이션을 선택할 수 있다. 클라이언트 디바이스가 어떤 제어기 시스템이 특정 미디어 오케스트레이션을 담당하는지 정확히 알지 못하는 경우, 클라이언트 디바이스는 담당 제어기 시스템과 협업하는 다른 제어기 시스템의 URI를 적어도 알아야/찾아야 한다. 모든 제어기 시스템이 서로 협업하는 경우, 클라이언트 디바이스는 예를 들어, 클라이언트 디바이스에서 사전-구성된 디폴트 제어기 시스템, 또는 DHCP와 같은 로컬 해상도 메커니즘을 사용하여 찾은 로컬 제어기 시스템에 접촉할 수 있다.
또한, 본원에 설명되는 방법을 수행하기 위한 컴퓨터 프로그램뿐만 아니라 컴퓨터 프로그램을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체가 제공된다. 컴퓨터 프로그램은 예를 들어, 기존 디바이스에 의해 다운로드 또는 업로드되거나, 이러한 시스템의 제조시 저장될 수 있다.
비일시적 컴퓨터-판독 가능 저장 매체는 적어도 하나의 소프트웨어 코드부를 저장하고, 소프트웨어 코드부는 컴퓨터에 의해 실행되거나 프로세싱될 때, 실행 가능한 동작들을 수행하도록 구성되고, 동작들은: 특정 미디어 오케스트레이션에 관한 통신 채널 설정 정보를 클라이언트 디바이스에서 수신하는 단계, 상기 통신 채널 설정 정보에 기초하여, 제어기 시스템으로 요청을 송신하는 단계로서, 상기 요청은 상기 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이에 (예를 들어, 양방향) 통신 채널을 확립하는 제1 단계를 나타내는, 송신하는 단계, 및 상기 통신 채널이 확립된 후에, 상기 제어기 시스템으로부터 상기 클라이언트 디바이스에서 상기 통신 채널을 통해 제어 정보를 수신하는 단계를 포함한다.
동일하거나 상이한 비일시적 컴퓨터-판독 가능 저장 매체는 적어도 하나의 추가적인 소프트웨어 코드부를 저장하고, 추가적인 소프트웨어 코드부는 컴퓨터에 의해 실행되거나 프로세싱될 때, 실행 가능한 동작들을 수행하도록 구성되고, 동작들은: 제어기 시스템에서 클라이언트 디바이스로부터 요청을 수신하는 단계로서, 상기 요청은 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이의 (예를 들어, 양방향) 통신 채널을 확립하는 제1 단계를 나타내는, 수신하는 단계, 상기 요청에 기초하여 오케스트레이션 세션을 결정하는 단계, 및 상기 통신 채널이 확립된 후에, 상기 오케스트레이션 세션에 관한 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 송신하는 단계를 포함한다.
본 기술 분야의 통상의 기술자에 의해 이해되는 바와 같이, 본 발명의 양태는 디바이스, 방법 또는 컴퓨터 프로그램 제품으로서 구체화될 수 있다. 따라서, 본 발명의 양태는 전체적으로 하드웨어 실시예, 전체적으로 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로 코드-등을 포함) 또는 본원에서 모든 일반적으로 "회로", "모듈" 또는 "시스템"으로 칭해질 수 있는 소프트웨어 및 하드웨어 양태들을 조합한 실시예의 형태를 취할 수 있다. 본 발명에서 설명되는 기능은 컴퓨터의 프로세서/마이크로프로세서에 의해 실행되는 알고리즘으로서 구현될 수 있다. 또한, 본 발명의 양태는 컴퓨터 판독 가능 프로그램 코드가 구현된, 예를 들어 이에 저장된 하나 이상의 컴퓨터 판독 가능 매체(들)에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터 판독 가능 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 컴퓨터 판독 가능 저장 매체일 수 있다. 컴퓨터 판독 가능 저장 매체는 예를 들어, 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치, 또는 디바이스, 또는 상술한 것의 임의의 적절한 조합일 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 판독 가능 저장 매체의 보다 구체적인 예는 하나 이상의 와이어를 갖는 전기적 접속, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 소거 가능 프로그래머블 판독-전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 판독-전용 메모리(CD-ROM), 광학 저장 디바이스, 자기 저장 디바이스, 또는 상술한 것의 임의의 적절한 조합을 포함할 수 있지만 이에 한정되는 것은 아니다. 본 발명의 문맥에서, 컴퓨터 판독 가능 저장 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 연계하여 사용하기 위한 프로그램을 포함하거나 저장할 수 있는 임의의 유형의 매체일 수 있다.
컴퓨터 판독 가능 신호 매체는, 예를 들어, 기저 대역에서 또는 반송파의 일부로서 그 내부에 구현된 컴퓨터 판독 가능 프로그램 코드를 갖는 전파되는 데이터 신호를 포함할 수 있다. 이러한 전파되는 신호는 전자기, 광학 또는 이들의 임의의 적절한 조합을 포함하지만 이에 한정되지 않는 다양한 형태들 중 임의의 것을 취할 수 있다. 컴퓨터 판독 가능 신호 매체는 컴퓨터 판독 가능 저장 매체가 아니며 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 연계하여 사용하기 위해 프로그램을 전달, 전파 또는 운송할 수 있는 임의의 컴퓨터 판독 가능 매체일 수 있다.
컴퓨터 판독 가능 매체 상에 구현된 프로그램 코드는 무선, 유선, 광섬유, 케이블, RF 등, 또는 상술한 것의 임의의 적절한 조합을 포함하지만 이에 한정되지 않는 임의의 적절한 매체를 사용하여 송신될 수 있다. 본 발명의 양태에 대한 동작을 수행하기 위한 컴퓨터 프로그램 코드는 Java(TM), 스몰토크(Smalltalk), C++ 등과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어와 같은 종래의 순차형 프로그래밍 언어 및 JavaScript, Python, PHP 및 Perl과 같은 스크립팅 또는 스크립팅형 프로그래밍 언어 또는 유사한 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 임의의 조합으로 기록될 수 있다. 프로그램 코드는 전체적으로 사용자의 컴퓨터 상에서, 부분적으로 사용자의 컴퓨터 상에서, 독립형 소프트웨어 패키지로서, 부분적으로는 사용자의 컴퓨터에 그리고 부분적으로 원격 컴퓨터 상에서, 또는 전적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)를 포함하는 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 접속될 수 있거나, 접속이 (예를 들어, 예를 들어, 인터넷 서비스 공급자를 사용하는 인터넷을 통해) 외부 컴퓨터에 이루어질 수 있다.
본 발명의 양태는 본 발명의 실시예에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 아래에서 설명된다. 흐름도 및/또는 블록도의 각 블록, 및 흐름도 및/또는 블록도의 블록들의 조합은 컴퓨터 프로그램 명령에 의해 구현될 수 있음을 이해할 것이다. 이들 컴퓨터 프로그램 명령은 범용 컴퓨터, 특수 목적 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 장치의 프로세서, 특히 마이크로프로세서 또는 중앙 처리 장치(CPU)에 제공되어 기계를 생성할 수 있어, 컴퓨터의 프로세서, 다른 프로그래머블 데이터 프로세싱 디바이스 또는 다른 디바이스를 통해 실행되는 명령은 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능/동작을 구현하기 위한 수단을 생성한다.
또한, 컴퓨터, 다른 프로그래머블 데이터 프로세싱 장치 또는 다른 디바이스가 특정 방식으로 기능하도록 지시할 수 있는 이들 컴퓨터 프로그램 명령은 컴퓨터 판독 가능 매체에 저장될 수 있어, 컴퓨터 판독 가능 매체에 저장된 명령은 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능/동작을 구현하는 명령을 포함하여 제조 물품을 생산한다.
컴퓨터 프로그램 명령은 또한 컴퓨터, 다른 프로그래머블 데이터 프로세싱 장치, 또는 일련의 동작 단계가 컴퓨터, 다른 프로그래머블 장치 또는 컴퓨터 구현된 프로세스를 생성하는 다른 디바이스 상에서 수행되게 하는 다른 디바이스 상으로 로드될 수 있어, 컴퓨터 또는 다른 프로그래머블 장치 상에서 실행하는 명령이 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능/동작을 구현하기 위한 프로세스를 제공한다.
도면의 흐름도 및 블록도는 본 발명의 다양한 실시예에 따른 디바이스, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 아키텍처, 기능 및 동작을 나타낸다. 이와 관련하여, 흐름도 또는 블록도의 각 블록은 특정 논리 기능(들)을 구현하기 위한 하나 이상의 실행 가능 명령을 포함하는 모듈, 세그먼트 또는 코드부를 나타낼 수 있다. 또한, 일부 대안적인 구현에서, 블록에서 언급된 기능은 도면에서 언급된 순서를 벗어나 발생할 수 있음에 유의해야 한다. 예를 들어, 연속적으로 나타낸 2개의 블록은 사실상, 실질적으로 동시에 실행될 수 있거나, 관련된 기능에 따라 때로는 블록이 역순으로 실행될 수 있다. 또한, 블록도 및/또는 흐름도의 각각의 블록, 및 블록도 및/또는 흐름도의 블록들의 조합은 특정 기능 또는 동작을 수행하는 특수 목적 하드웨어-기반 시스템, 또는 특수 목적 하드웨어 및 컴퓨터 명령의 조합에 의해 구현될 수 있다.
본 발명의 이러한 양태 및 다른 양태는 도면을 참조하여 명백하고, 예시의 방식으로 추가로 상세히 설명될 것이다:
Figure pct00001
도 1은 본 발명의 방법의 제1 실시예의 흐름도이다.
Figure pct00002
도 2는 본 발명의 방법의 제2 실시예에서 수행되는 추가 단계를 나타내는 흐름도이다.
Figure pct00003
도 3은 본 발명의 제어기 시스템 및 클라이언트 디바이스의 제1 실시예의 블록도이다.
Figure pct00004
도 4는 본 발명의 제어기 시스템 및 클라이언트 디바이스의 제2 실시예의 블록도이다.
Figure pct00005
도 5는 룩업 서버를 사용하는 본 발명의 클라이언트 디바이스의 제3 실시예의 블록도이다.
Figure pct00006
도 6은 본 발명의 제어기 시스템의 제3 실시예의 블록도이다.
Figure pct00007
도 7은 본 발명의 제어기 시스템의 제4 실시예의 블록도이다.
Figure pct00008
도 8은 본 발명의 방법을 수행하기 위한 예시적인 데이터 프로세싱 시스템의 블록도이다.
도면에서 대응 요소는 동일한 참조 번호로 표시된다.
본 발명의 미디어 오케스트레이션을 활성화하는 방법의 제1 실시예의 흐름도가 도 1에 나타내어져 있다. 미디어 오케스트레이션은 복수의 디바이스를 오케스트레이팅하여 적어도 하나의 미디어 스트림을 프로세싱한다. 단계 1은 클라이언트 디바이스가 특정 미디어 오케스트레이션에 관련된 통신 채널 설정 정보를 수신하는 것을 포함한다. 단계 3은 클라이언트 디바이스가 통신 채널 설정 정보에 기초하여 제어기 시스템에 요청을 송신하는 것을 포함한다. 요청은 특정 미디어 오케스트레이션과 관련하여 클라이언트 디바이스와 제어기 시스템 사이에 통신 채널을 확립하는 제1 단계를 나타낸다. 단계 5는 제어기 시스템이 클라이언트 디바이스로부터 요청을 수신하는 것을 포함한다.
요청을 송신하는 것은 (예를 들어, WebSocket) 접속을 확립하기 위한 요청을 송신하는 것을 포함할 수 있거나, 요청은 확립된 후에 (예를 들어, WebSocket) 접속을 통해 송신될 수 있다. 제1 경우에, 제어기 시스템은, 그가 적절한 제어기 시스템이므로 언제나 접속 요청을 수용하는 경우에만 클라이언트 디바이스가 접속 요청을 그에게 송신하는 것으로 상정할 수 있다. 대안적으로, 제어기 시스템은 접속 요청을 수용할지 여부를 결정할 때 접속 요청이 발신된 IP 주소 또는 세션 식별자를 고려할 수 있다. 세션 식별자는 접속 요청의 일부일 수 있으며, 예를 들어, WebSocket 핸드셰이크의 HTTP 헤더에 포함될 수 있다. 이러한 제1 경우, 접속 요청의 수용은, 통신 채널 요청이 수용되고 통신 채널이 확립됨을 의미한다. 제2 경우에, 제어기 시스템은 여전히 확립된 접속을 통해 송신된 통신 채널 요청을 수용할지 여부를 결정할 수 있다. 제어기 시스템이 통신 채널 요청을 수락하면, 통신 채널은 예를 들어, 이미 존재하는 접속 상에 확립될 수 있다.
단계 7은 제어기 시스템이 요청에 기초하여 오케스트레이션 세션을 결정하는 것을 포함한다. 제어기 시스템이 요청을 수용하면, 예를 들어, 요청이 수용되었음을 나타내는 응답을 클라이언트 디바이스에 송신할 수 있다(도 1에 미도시). 대안적으로, 제어기 시스템이 요청을 수용하면, 제어기 시스템은 예를 들어, 제어 정보를 단순히 송신하기 시작할 수 있다. 두 경우 모두에, 통신 채널이 확립되었다. 단계 9는 제어기 시스템이 통신 채널을 통해 오케스트레이션 세션에 관한 제어 정보를 클라이언트 디바이스에 송신하는 것을 포함한다. 단계 11은 클라이언트 디바이스가 제어기 시스템으로부터 통신 채널을 통해 제어 정보를 수신하는 것을 포함한다. 예를 들어, 통신 채널 설정 정보는 주소, 예를 들어, 제어기 시스템의 유니폼 리소스 식별자(Uniform Resource Identifier), 제어기 시스템에 액세스하는 데 사용될 수 있는 하나 이상의 프로토콜을 식별하는 하나 이상의 프로토콜 식별자 및/또는 오케스트레이션 세션 식별자를 포함할 수 있다.
일 실시예에서, 도 1을 참조하면, 본 방법은 단계 3에서 요청을 송신하기 전에 클라이언트가 요청에 식별자를 포함하는 선택적인 단계 2 및/또는 제어기 시스템의 선택적인 단계들, 즉 (단계 2에서 제공되었을 수 있는) 요청과 관련된 식별자를 결정하는 단계 6 및 단계 7의 일부일 수 있는, 식별자에 기초하여 오케스트레이션 세션을 결정하는 단계 8을 더 포함한다. 식별자는 오케스트레이션 세션 식별자 및/또는 위치 식별자를 포함할 수 있다.
오케스트레이션 세션을 결정하는 단계 7은 제어기 시스템이 동일 미디어 오케스트레이션에 참여하는 하나 이상의 추가 클라이언트 디바이스와 연관된 오케스트레이션 세션을 결정하는 것을 포함한다. 어떤 클라이언트 디바이스가 동일 미디어 오케스트레이션에 참여하는지는 클라이언트 디바이스에 의해 송신된 식별자의 도움으로 결정될 수 있다. 클라이언트 디바이스가 식별자를 전송하지 않으면, 제어기 시스템은 다른 방식으로, 예를 들어, 모바일 통신 네트워크로부터 획득된 클라이언트 디바이스의 위치로부터 또는 클라이언트 디바이스 또는 메모리 내의 그 사용자와 연관된 정보로부터 식별자를 결정할 수 있다. 예를 들어, 제어기 시스템은 미디어 오케스트레이션에 참여하는 클라이언트 디바이스를 식별하는 클라이언트 식별자의 리스트, 예를 들어, IP 주소 또는 다른 클라이언트-특정 식별자를 수신할 수 있다.
미디어 오케스트레이션은 종종 미디어의 다중-디바이스 캡쳐 및 다중-디바이스 재생에 관한 것이다. 다중-디바이스 캡쳐는 예를 들어, 다양한 스마트폰 및 다른 것, 예를 들어, 전문 카메라를 사용하여 복수의 카메라 및 마이크로폰으로 하나의 장면 또는 이벤트, 예를 들어, 콘서트를 캡쳐하는 것으로 생각될 수 있다. 다중-디바이스 재생은 단일 미디어 경험을 용이하게 하기 위해 복수의 화면 및/또는 복수의 라우드스피커를 사용하는 것에 관한 것이다. 미디어 오케스트레이션은 캡쳐를 위한 공간 오케스트레이션과 같이 이러한 다양한 양태들의 조정에 관한 것으로: 비디오 스티칭 또는 단일 공간 오디오 기록, 재생을 위한 공간 오케스트레이션을 위해 다양한 센서를 공간적으로 정렬하고: 캡쳐를 위한 단일의 공간적으로 정확한 경험, 시간적 오케스트레이션을 생성하기 위해 다양한 화면 및 라우드스피커를 정렬하고: 시간적으로 정확한 캡쳐, 및 재생을 위한 시간적 오케스트레이션을 보장하기 위해 다양한 센서를 시간적으로 정렬하고: 적절하게 정렬된 재생(또한, 인터-디바이스 미디어 싱크(IDMS: inter-device media sync)로도 칭해짐)을 보장하기 위해 다양한 재생 디바이스를 시간적으로 정렬하는 것에 관한 것이다. 또한, 미디어 오케스트레이션은 적절한 조명, 컬러, 오디오 볼륨, 공간 사운드, 예를 들어, 캡쳐 및 재생 모두에 대해 스티칭을 위한 유사한 품질 레벨을 보장하는 데 사용될 수 있다. 통상적으로 미디어 오케스트레이션 프로세스는 또한 복수의 스트림, 즉 오케스트레이션에 참여하는 각각의 디바이스로부터 또는 이로의 적어도 하나를 처리한다. 그러나, 이는 또한 단일 스트림, 예를 들어, 다중 재생 디바이스에 대한 다중-캐스트 또는 브로드캐스트 스트림, 아마도 복수의 기본 스트림을 포함하는 단일 스트림에 기초할 수 있으며, 각 수신기는 오케스트레이팅된 방식으로 해당 스트림의 일부를 재생한다.
미디어 오케스트레이션의 다른 형태는 미디어 변환 또는 미디어 편집일 수 있다. 다양한 미디어 부분이 이미 캡쳐되었다고 가정한다. 오케스트레이팅된 재생 대신, 다양한 클라이언트가 다른 클라이언트가 소비하는 데 이용할 수 있는 새로운(또는 변경된) 컨텐츠의 단편을 작성할 목적으로 함께 작업하여 미디어 또는 그 일부를 편집할 수 있다. 이는 예를 들어, 공유된 주석, 즉 시간-동기화되고 공간적으로 동기화될 수 있는 컨텐츠에 코멘트를 추가하는 것일 수 있다. 다른 예는 비디오의 컬렉션에 비디오를 추가하고, 다른 비디오에 이를 공간적으로 링크하거나(예를 들어, 콘서트 기록의 컬렉션에 카메라 앵글을 추가), 컨텐츠에 일부 컨텐츠 변환 프로세스를 적용하는 것, 예를 들어, 비디오 필터 또는 오디오 변환을 적용하는 것일 수 있다.
오케스트레이션 데이터는 미디어 데이터의 캡쳐 또는 재생을 시작하기 전에 및/또는 미디어 데이터를 캡쳐 또는 재생하는 동안 클라이언트 디바이스로 전송될 수 있다.
Figure pct00009
초기 구성: 다중-디바이스 캡쳐 또는 재생을 시작할 때, 이용 가능한 디바이스(센서, 액추에이터) 및 그 기능에 대한 정보가 제어기 시스템에 제공될 필요가 있다. 이 정보에 기초하여, 제어기 시스템은 클라이언트 디바이스로 오케스트레이션 데이터를 제공하며, 예를 들어, 캡쳐 중에 사용할 설정(해상도, 프레임 레이트, 줌 레벨, 마이크로폰 이득, 크롭핑(cropping), 어떤 디바이스가 무엇을 캡쳐하는지, 적용할 필터 등) 또는 재생(어떤 디바이스에서 무엇을 재생할 것인지, 언제 재생을 시작할 것인지, 재생 설정)을 제공한다.
Figure pct00010
시간-정렬된 메타데이터 또는(시간에 맞춘) 메타데이터 스트림을 스트리밍한다. 각 미디어 스트림(비디오, 오디오, 기타)은 이에 링크된 메타데이터 스트림을 수반할 수 있다. 이러한 메타데이터 스트림은 공간적(예를 들어, 센서 또는 액추에이터의 위치 및 방향) 및/또는 시간적(예를 들어, 동기화된 벽시계에 기초하거나 이와 조합된 캡쳐 시간 또는 프리젠테이션 시간) 및/또는 품질 정보를 전달할 수 있다. 이 메타데이터를 미디어 스트림에 직접 링크함으로써, 정보의 변경이 지속적으로 제공된다. 이는 지속적으로 변하는 조건으로 조정하고 복수의 디바이스 간에 지속적으로 캡쳐 또는 재생을 정렬하는 미디어 오케스트레이션의 실시간 양태이다.
제어기 시스템이 하나 이상의 디바이스에 대한 즉각적인 변경을 유발할 필요가 있는, 통상적으로 진행중인 오케스트레이션 세션에서, 다수의 상황들이 있으며, 예를 들어:
Figure pct00011
새로운 캡쳐 소스가 이용 가능하게 되면, 캡쳐 시작 및 중지 또는 캡쳐 마스크 업데이트(즉, 캡쳐 대상에 대한 명령)가 직접 수행될 필요가 있을 수 있다.
Figure pct00012
VR 회의의 복수의 참여자가 현재 VR 환경에 더 이상 적합하지 않으면(예를 들어, 5번째 참여자가 4-참여자 VR 회의실에 참가하는 경우), 모든 클라이언트 디바이스는 VR 환경을 즉시 스위칭할 필요가 있을 수 있다.
Figure pct00013
2개의 미디어 스트림 간의 타이밍 상관이 변경되며, 예를 들어, 이는 하나의 미디어 타임스탬프가 랩-어라운드(wrap-around)를 수행하거나 미디어 소스가 클럭 리셋을 수행하기 때문이다. 상관이 즉시 전달되지 않으면, 미디어 재생이 비 동기화될 것이다.
Figure pct00014
다중-디스플레이 재생에서는, 더 많은 디스플레이가 추가되므로 재생될 컨텐츠가 디스플레이에서 걸쳐 다르게 분할된다. 새로운 디스플레이는 초기 구성을 검색할 것이지만, 기존 디스플레이는 구성의 업데이트를 수신할 필요가 있다.
Figure pct00015
PTZ(팬 틸트 줌) 카메라를 통한 제어가 이용 가능하게 되므로, 미디어 플레이어는 생성된 미디어 스트림을 제어하기 위해 이의 제어를 취할 수 있다.
Figure pct00016
예를 들어, 네트워크 혼잡 또는 다른 네트워크 상의 네트워크 재부가로 인해, 다양한 클라이언트 디바이스에 대해 상황이 변하여, 사용되거나 공급될 스트림이 변경되어야 한다.
Figure pct00017
재생이 특정 환경(예를 들어, 거실) 내에서 수행되지만 다른 환경(예를 들어, 부엌)으로 그 외부로 이동하는 경우(즉, 사용자가 이동), 재생이 즉시 이를 조정해야 한다.
도 2에서, 본 발명의 방법의 제2 실시예의 추가 단계가 흐름도에 나타내어져 있다. 단계 20은 예를 들어, 복수의 클라이언트 디바이스가 이벤트를 기록하고, 각각의 디바이스가 오케스트레이션 정보에 기초하여 공간적 또는 시간적 세그먼트를 기록하는 시나리오에서, 추가 클라이언트 디바이스가 제어기 시스템에게 미디어 오케스트레이션에서 그 참여를 중지하고 있음을 알리는 것을 포함한다. 단계 21은 제어기 시스템이 하나 이상의 추가 클라이언트 디바이스 중 적어도 하나가 미디어 오케스트레이션에 참여하는 것을 중지했음을 결정하는 것을 포함한다. 단계 23은 하나 이상의 추가 클라이언트 디바이스 중 적어도 하나가 동일 미디어 오케스트레이션에 참여하는 것을 중지했음을 결정하는 것에 응답하여 새로운 제어 정보를 결정하는 것을 포함한다. 단계 25는 새로운 제어 정보를 통신 채널을 통해 클라이언트 디바이스에 송신하는 것을 포함한다. 단계 26은 클라이언트 디바이스가 제어기 시스템으로부터 통신 채널을 통해 새로운 제어 정보를 수신하는 것을 포함한다. 미디어 오케스트레이션이 하나 초과의 추가 클라이언트 디바이스를 포함하는 경우, 새로운 제어 정보가 또한 이들 다른 클라이언트 디바이스로 송신될 수 있다. 이는 도 2에 나타내어져 있지 않다.
제어 정보가 통신 채널을 통해 클라이언트에 송신될 필요가 있을 때, 예를 들어, 제어기 시스템은 초기 구성의 새로운 버전이 이용 가능하다는 것을 나타내는 제어 메시지를 통신 채널을 통해 전송할 수 있거나, 새로운 버전의 이용 가능성을 단지 시그널링하는 대신 통신 채널을 통해 초기 구성의 수정된 버전을 푸쉬할 수 있거나, 채널을 통해 초기 구성의 부분 요소(변경되었거나 업데이트가 필요한 특정 부분)를 푸쉬할 수 있다.
본 발명은 MPEG-MORE 표준으로 구현될 수 있으며, 이에 의해 MPEG-MORE 통신 채널을 생성한다. MPEG-MORE 통신 채널을 소스 및 싱크에 시그널링하기 위해, MPEG-MORE 통신 채널(samo, 서버 -지원 미디어 오케스트레이션)의 존재는 새롭게 정의된 samo를 사용하여 오케스트레이션 데이터를 통해 시그널링될 수 있다: "urn:mpeg:more:schema:samo:2016" 네임스페이스에 정의되고 표 1에 나열된 채널 요소. 제안된 네임스페이스 프리픽스(prefix)는 "samo:"이다.
요소 또는 속성 이름 사용 설명
채널 MORE 채널에 대한 정보 제공
@id O(스트링) MORE 채널에 대한 식별자 특정
@schemeIdUri M 채널 스킴 식별. 채널 스킴은 MORE 채널의 수신자가 지원하는 프로토콜을 정의함.
@endpoint O(스트링) MORE 채널에 엔드포인트를 제공함. 엔드포인트는 URI 사양, IETF RFC3986[RFC3986]을 따름.
samo:Channel@schemeIdUri는 MPEG-MORE 소스 또는 싱크가 이 MPEG-MORE 채널로 사용할 수 있는 프로토콜을 특정한다. 아래 표 2는 프로토콜로서 제안된 프로토콜을 나열한다.
@schemeIdURI 설명
urn:mpeg:more:samo:channel:websocket:2016 식별자는, 소스 또는 싱크가 WebSocket 프로토콜에 대한 조항에서 특정된 WebSocket 프로토콜을 사용할 것임을 나타냄.
이 경우, samo:Channel의 @endpoint는 IETF RFC 6455[RFC6455]의 3 WebSocket URI들에 특정된 유효한 WebSocket URI임.
MPEG-MORE 제어 데이터 메시지는 IETF RFC 6455 [RFC6455]에 특정된 바와 같이 WebSocket 프로토콜을 통해 교환될 수 있다. WebSocket 프로토콜의 데이터 프레임 메시지는 텍스트 유형으로 설정될 수 있으며 컨텐츠는 WebSocket 프로토콜에 의해 특정된 대로 UTF-8로 인코딩될 수 있다. 각 WebSocket 메시지는 MORE 메시지 XML 스키마를 따르는 유효한 MORE 메시지를 포함할 수 있다. WebSocket 대신 사용될 수 있는 대안적인 프로토콜은 예를 들어, SIP, SIMPLE, XMPP, BOSH 및 유사한 속성을 가진 다른 프로토콜이다.
도 3은 미디어 오케스트레이션을 활성화하기 위한 클라이언트 디바이스(31), 클라이언트 디바이스(37) 및 제어기 시스템(41)을 나타낸다. 클라이언트 디바이스(31)는 통신 인터페이스(33) 및 프로세서(35)를 포함한다. 프로세서(35)는 통신 인터페이스(33)를 사용하여 특정 미디어 오케스트레이션에 관한 통신 채널 설정 정보를 수신하고 통신 인터페이스(33)를 사용하여 통신 채널 설정 정보에 기초하여 제어기 시스템(41)에 요청을 송신하도록 구성된다. 요청은 도 1과 관련하여 설명된 바와 같이, 특정 미디어 오케스트레이션과 관련하여 클라이언트 디바이스(31)와 제어기 시스템(41) 사이에 통신 채널을 확립하는 제1 단계를 나타낸다.
통신 채널을 확립하는 것은 (예를 들어, WebSocket) 접속을 확립하는 것을 포함하는 것이 바람직하다. 접속 확립은 예를 들어, 2-웨이 또는 3-웨이 핸드셰이크에 의해 수행될 수 있다. 2-웨이 핸드셰이크에서, 하나의 엔티티(즉, 클라이언트 디바이스)는 제2 엔티티(즉, 제어기 시스템)에 요청을 전송하고, 다른 엔티티는 그 동의로 응답함으로써 접속을 확립한다. 때로는 3-웨이 핸드셰이크가 사용되며, 세 번째 단계로서 클라이언트 디바이스는 접속의 설정을 다시 제어기 시스템에 확인 응답한다. 따라서, 초대라고도 칭해질 수 있는, 클라이언트 디바이스에 의해 전송된 요청이 통신 채널을 확립하는 제1 단계인 것으로 본원에서 언급되며: 예를 들어, 접속 설정시 2-웨이 또는 3-웨이 핸드셰이크를 사용할 때, 더 많은 단계가 통상적으로 수행된다.
프로세서(35)는 통신 채널이 확립된 후에 통신 인터페이스(33)를 사용하여 제어기 시스템(41)으로부터 통신 채널을 통해 제어 정보를 수신하도록 추가로 구성된다. 클라이언트 디바이스(37)는 클라이언트 디바이스(31)와 관련하여 상술한 바와 같이 동일한 구성 요소를 포함할 수 있고, 동일한 방식으로 구성될 수 있다.
제어기 시스템(41)은 통신 인터페이스(43) 및 프로세서(45)를 포함한다. 프로세서(45)는 통신 인터페이스(43)를 사용하여 클라이언트 디바이스(31)로부터 요청을 수신하고, 요청에 기초하여 오케스트레이션 세션을 결정하고, 통신 채널이 확립된 후에 통신 인터페이스(43)를 사용하여 통신 채널을 통해 오케스트레이션 세션에 관한 제어 정보를 클라이언트 디바이스(31)로 송신하도록 구성된다. 제어기 시스템(41)은 단일 디바이스를 포함하는 것이 바람직하다.
클라이언트 디바이스(31)는 예를 들면, 재생 디바이스 및/또는 캡쳐 디바이스일 수 있다. 클라이언트 디바이스(31)는 예를 들어, PC, 태블릿, 모바일 폰, 독립형 마이크로폰 또는 네트워크 접속을 갖는 독립형 카메라(예를 들어, 비디오 카메라, 스틸 카메라, 웹캠 또는 액션 카메라)일 수 있다. 제어기 시스템(41)은 예를 들어, 하나 이상의 서버를 포함할 수 있다.
도 3에 나타낸 실시예에서, 클라이언트 디바이스(31)는 하나의 프로세서(35)를 포함한다. 다른 실시예에서, 클라이언트 디바이스(31)는 복수의 프로세서를 포함한다. 도 3에 나타낸 실시예에서, 수신기 및 송신기는 클라이언트 디바이스(31)의 통신 인터페이스(33)에서 결합된다. 대안적인 실시예에서, 클라이언트 디바이스(31)는 분리된 수신기 및 송신기를 포함한다. 통신 인터페이스(35 및 45)는 각각 복수의 수신기 및/또는 복수의 송신기를 포함할 수 있고, 예를 들어, 상이한 네트워크에 클라이언트 디바이스(31)를 접속하는 복수의 통신 기술을 각각 지원할 수 있으며, 여기서, 하나의 통신 기술(예를 들어, WiFi 또는 이더넷을 통한 IP)이 통신 채널에 대해 사용되고, 다른 기술(예를 들어, LTE 브로드캐스트)이 실제 미디어 전달을 위해 사용된다. 도 3에 나타낸 실시예에서, 제어기 시스템(41)은 하나의 프로세서(45)를 포함한다. 대안적인 실시예에서, 제어기 시스템(41)은 복수의 프로세서를 포함한다. 도 3에 나타낸 실시예에서, 수신기 및 송신기는 제어기 시스템(41)의 통신 인터페이스(43)에서 결합된다. 대안적인 실시예에서, 제어기 시스템(41)은 분리된 수신기 및 송신기를 포함한다. 통신 인터페이스, 송신기 및/또는 수신기는 복수의 통신 기술을 지원할 수 있고/있거나 복수의 하드웨어 구성 요소를 포함할 수 있다.
통신 인터페이스(35 및 45)는 예를 들어, 하나 이상의 광 포트, 하나 이상의 무선 송수신기 및/또는 하나 이상의 이더넷 포트를 포함할 수 있다. 통신 인터페이스(35 및 45)는 하나 이상의 내부 인터페이스를 포함할 수 있다. 프로세서(35)는 범용 프로세서, 예를 들어, ARM 또는 Qualcomm 프로세서, 또는 어플리케이션-특정 프로세서일 수 있다. 클라이언트 디바이스(31)는 클라이언트 디바이스에 대해 통상적인 다른 구성 요소, 예를 들어, 랜덤 액세스 메모리, 솔리드 스테이트 비휘발성 메모리 및 배터리를 포함할 수 있다. 프로세서(45)는 범용 프로세서, 예를 들어, Intel 또는 AMD 프로세서일 수 있다. 프로세서(45)는 예를 들어, 복수의 코어를 포함할 수 있다. 프로세서(45)는 예를 들어, 유닉스-기반 또는 윈도우 운영 체제를 실행할 수 있다. 제어기 시스템(41)은 서버에 대해 통상적인 다른 구성 요소, 예를 들어, 전원, 랜덤 액세스 메모리 및 솔리드 스테이트 비휘발성 또는 하드 디스크 메모리를 포함할 수 있다.
클라이언트 디바이스가 미디어 오케스트레이션에 참여/기여하기를 원할 때, 클라이언트 디바이스는 특정 미디어 오케스트레이션을 찾는 제1 단계를 수행할 수 있다. 이는 사용자의 도움으로 행해질 수 있으며, 예를 들어, 사용자는 캡쳐를 제공할 어플리케이션을 선택한 다음, 기여하기 위해 하나를 선택할 수 있는 오케스트레이션 목록을 제공받을 수 있다. 또는, 웹 사이트 상에서 유사한 것이 이용 가능할 수 있으며, 콘서트 또는 스포츠 이벤트와 같은 이벤트에서의 QR 코드가 이러한 정보 등을 제공할 수 있다. 미디어 재생을 위해, 사용자는 예를 들어, 웹사이트 상에서 컨텐츠 가이드로부터 컨텐츠를 선택하거나 예를 들어, 소셜 네트워크를 통해, 예를 들어, 링크를 통해 친구로부터 추천을 받아서 디바이스 상에 재생될 컨텐츠를 선택할 수 있다. 또한, 디바이스 및 그 캡쳐 또는 프리젠테이션 기능은 네트워크를 통해 탐색될 수 있다. 이는 통상적으로 디바이스 및 서비스 탐색을 수행하기 위해 로컬 네트워크 상에서 멀티캐스트를 사용하는, 예를 들어, UpnP 또는 DLNA 또는 수정된 버전 또는 동등한 프로토콜을 사용하는 로컬 프로세스이다. 그 후, 디바이스는 Chromecast 또는 Airplay에서와 같이, 예를 들어, 재생을 시작하기 위해 일부 다른 디바이스에 의해 명령을 받을 수 있다. 대안적으로, 이러한 페어링은 악의적인 사용을 방지하기 위해, 예를 들어, 블루투스에서 처음으로 페어링하는 것과 유사하게, 디바이스 상에서 몇몇 종류의 확인을 필요로 할 수 있다.
오케스트레이션에 대한 통상적인 시나리오는 다음과 같다:
Figure pct00018
사용자는 복수의 디바이스에서 오케스트레이션을 능동적으로 선택한다. 이에 대한 예는, 사용자가 이벤트에서 QR 코드를 스캔하는 것이며, 이는 그 특정 이벤트에 대해 사용자 생성 컨텐츠를 제공하기 위한 전용 어플리케이션으로 사용자를 유도한다. 다른 예는, 사용자가 집에서 모든 그의 장비를 스위칭 온(on)한 후, 그의 태블릿을 사용하여 컨텐츠 단편을 선택하고 결합된 재생을 위해 텔레비전, 스테레오 및 그의 태블릿을 함께 선택하는 것이다.
Figure pct00019
하나의 디바이스는 캡쳐 또는 재생을 시작하고, 다른 디바이스는 이를 탐색하고 오케스트레이션에 참가한다. 탐색은 능동(로컬 네트워크에서 이를 검색) 또는 수동(초대됨)일 수 있다.
이러한 제1 단계의 결과는, 클라이언트가 미디어 오케스트레이션의 일부로서 그의 캡쳐 또는 재생을 위한 초기 구성을 수신한다는 것이다. 이러한 구성은 통상적으로 이하를 포함할 것이다:
Figure pct00020
캡쳐의 경우: 컨텐츠를 제공할 대상 착신지 네트워크 주소, 미디어에 사용할 코덱 및 컨테이너 및 (프레임 레이트, 비트레이트, 비디오 필터, 카메라 설정과 같은) 사용할 특정 설정, 캡쳐를 위한 시작 시간 및 종료 시간, 특정 클럭 서버와 벽시계를 동기화하는 명령, 위치 및 방향 메타데이터를 제공하기 위한 특정 포맷의 타임스탬프를 제공하는 명령 등.
Figure pct00021
재생(playback)의 경우(또한, 종종 재생(playout) 또는 프리젠테이션이라 칭해짐): 컨텐츠 위치, 재생을 시작할 때 및 컨텐츠의 어떤 부분을 재생할지에 대한 명령.
이러한 초기 구성은 동적으로 생성될 수 있다. 일단 클라이언트가 특정 캡쳐 또는 재생에 대한 초기 구성을 요청하면, 클라이언트에 대한 이용 가능한 정보(예를 들어, 네트워크 주소, 위치, 기능)가 상술한 바와 같은 적절한 제어기 시스템과 아마도 특정 다른 설정을 이미 결정하는 데 사용될 수 있다. 따라서, 구성은 관련된 모든 클라이언트 디바이스에 대한 세션에 대한 정적인 설정이 아니며, 일단 클라이언트 디바이스가 세션에 참가하면 디바이스-특정일 수 있고 즉석에서 생성될 수 있다.
이러한 초기 구성의 일부는 제어기 시스템에 통신 채널을 설정하라는 명령일 수 있다. 이 명령은 예를 들어, 제어기 시스템의 URI, 제어 채널에 사용하는 프로토콜 및 미디어 오케스트레이션 세션 ID를 포함할 수 있다. 일단 이러한 채널이 설정되면, 클라이언트 디바이스에 추가 명령을 능동적으로 전송하기 위해 제어기 시스템에 의해 사용될 수 있다. 초기 구성은 MPEG-DASH Manifest의 일부일 수 있거나, 일부 다른 컨텐츠 발표의 일부, 예를 들어, EPG 정보의 일부 또는 SAP 발표의 일부일 수 있거나, 미디어 세션 설정 등에 제공된 SDP 설명에서 파라미터로서 제공될 수 있다.
통상적으로, 사용자는 자신의 디바이스를 제어하므로, 특정 미디어 오케스트레이션에 기여하기 시작하는 것은 사용자의 의도이다. 그러나, 예를 들어, 상점 윈도우나 공항의 보안 카메라와 디지털 표지판과 같은 많은 디바이스는 또한 원격 제어가 가능하다. 이러한 디바이스가 일반적으로 오케스트레이션에 참여하기 위해 원격으로 통보되는 오케스트레이션의 일부로서 사용될 수 있다. 이는 로컬로, 예를 들어, 사용자가 오케스트레이션에 사용될 수 있는 화면의 QR 코드를 스캐닝하여 착수될 수 있다.
미디어 오케스트레이션을 활성화하기 위해, 클라이언트 디바이스는 동일한 기능 엔티티, 즉, 동일한 제어기 시스템, 바람직하게는 동일한 디바이스에 의해 제어될 필요가 있다. 클라이언트 디바이스(31 및 37)가 제어기 시스템(41)에서 동일한 미디어 오케스트레이션에 참여하도록 보장하기 위해, 2개의 사항이 준비될 필요가 있다. 첫째, 양쪽 클라이언트 디바이스(31 및 37)는 동일한 제어기 시스템(41)에 접속될 필요가 있다. 상이한 클라이언트 디바이스가 상이한 시간에 함께 사용될 수 있기 때문에, 이는 동적인 프로세스이다.
둘째, 제어기 시스템(41)은, (단일 제어기 시스템이 다수의 상이한 클라이언트 디바이스를 포함하는 복수의 오케스트레이션을 제어할 수 있기 때문에) 클라이언트 디바이스(31 및 37) 모두가 동일한 오케스트레이션의 부분임을 인식할 필요가 있다. 따라서, 제어기 시스템(41)은, 클라이언트 디바이스(31 및 37)가 동일한 오케스트레이션 세션의 일부인지 여부를 결정한다. 이것은 이들을 함께 오케스트레이팅하기 위해 세션에 관련된 모든 클라이언트 디바이스와 다양한 클라이언트 디바이스를 동일한 세션에서 함께 링크하는 제어기 시스템 사이에 동일한 오케스트레이션 세션 식별자가 공유될 것을 필요로 할 수 있다. 그러나, 클라이언트 디바이스는, 어떠한 다른 클라이언트 디바이스가 세션에 포함되는지 또는 심지어 다른 클라이언트 디바이스가 오케스트레이션 세션의 일부인지를 인식하지 못할 수 있다.
클라이언트 디바이스가 제어기 시스템을 알지 못하고/못하거나 세션 ID를 알지 못하는 경우, 클라이언트 디바이스가 동일한 제어기 시스템에 의해 제어되는 동일한 미디어 오케스트레이션에 참여할 수 있음을 보장하기 위한 해결책을 찾아야 할 필요가 있다. 표 3은 2개의 문제 차원과 이에 따른 4개의 해결책 영역을 보여준다:
클라이언트가 세션 ID를 알고 있는 경우 클라이언트가 세션 ID를 알지 못하는 경우
클라이언트가 제어기를 알고 있는 경우 (A) 기본 시나리오 (B) 서버-기반 세션 탐색
클라이언트가 제어기를 알지 못하는 경우 (C) 예를 들어,
1. 룩업
2. 리-디렉트
3.프록시
를 이용한 서버 탐색 프로세스
(D) 시나리오 (B) 및 (C)의 조합
시나리오(A) 는 가장 간단한 시나리오이다. 클라이언트 디바이스(31 및 37)는 세션 ID를 알고 있고, 제어기 시스템(41)의 URI를 알고 있다. 여기서, 제어기 시스템(41)의 세션 ID 및 URI는 사전에 클라이언트 디바이스(31 및 37) 간에 어떻게든 공유된다. 이는 통상적인 사용 시나리오에 대해 준비될 수 있다.
제1 사용 시나리오에서, 클라이언트 디바이스(31 및 37)는 사전에 사용자에 의해 페어링된다. 현재, 사용자가 캐스팅 메커니즘(예를 들어, Chromecast, Airplay)을 사용하면, 그 디바이스는 종종 디바이스 탐색 및 서비스 탐색이라고 칭해는, DLNA 또는 UPnP로부터 또한 알려진 몇몇 브로드캐스트 또는 멀티캐스트 메커니즘을 통상적으로 사용하여 다른 디바이스 및 이용 가능한 서비스를 우선 탐색한다. 그 후, 이용 가능한 디바이스 및/또는 서비스의 목록이 사용자에게 표시되며, 사용자는 목록에서 적절한 디바이스(들) 및 서비스(들)를 선택할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(31) 상에서 미디어 재생 세션을 시작할 수 있다. 다른 클라이언트 디바이스(37)는 클라이언트 디바이스(31) 및 이러한 특정 미디어 재생 세션(즉, 서비스)을 검출하기 위해 디바이스 및 서비스 탐색을 사용할 수 있고, 세션에 참여하기 위해 이를 선택할 수 있다. 세션 ID는 탐색 프로세스 중에 표시되거나 세션에 참여한 후에, 예를 들어 허가 프로세스 후에만 이용 가능하게 될 수 있다. 동일한 것이 블루투스 페어링과 같은 다른 페어링 기술을 사용하여, 또는 근거리 통신을 사용하여 달성될 수 있다.
제2 사용 시나리오에서, 클라이언트 디바이스(31 및 37)는 다른(메시징) 인프라스트럭처를 사용하여 서로 세션 ID를 공유할 수 있다. 통상적인 시나리오는, 사용자가 일부 메시징 플랫폼(예를 들어, WhatsApp, SMS, Twitter, Facebook 메시징)을 사용하여 다른 사용자에게 초대장을 전송하거나, 사이트(예를 들어, Facebook 페이지 또는 라이브 블로그) 상에서 링크를 공유하여 세션 ID를 다른 사용자와 공유하는 것이다. 그 후, 다른 사용자는 링크를 클릭하여 세션에 참가하도록 그 디바이스에 "명령"할 수 있다. 물론, 이러한 메커니즘은 새로운 소프트웨어 단편, 예를 들어, 이러한 소셜 네트워크 피쳐를 포함하는 컨텐츠 재생 어플리케이션에 또한 포함될 수 있다.
제3 사용 시나리오에서, 클라이언트 디바이스(31 및 37)는 특정 어플리케이션을 사용하여 참가하기 위해 능동 세션의 리스트를 제공받을 수 있다. 예를 들어, 사용자가 경기장에 있을 때, 홈 팀은 라이브 사용자 생성 컨텐츠를 허용하는 앱을 가질 수 있다. 사용자가 이 앱을 설치하고 앱을 열면, 앱은 현재 진행 중인 라이브 이벤트를 보여줄 수 있으며, 사용자는 이러한 특정 캡쳐 오케스트레이션 세션에 참가하도록 선택할 수 있다. 대안적으로, 사용자는 예를 들어, 맵 상에 보여지는 근처의 미디어 오케스트레이션을 보여주는 앱을 설치했을 수 있고, 거기에 참가하기 위해 하나를 선택할 수 있다.
제4 사용 시나리오에서, 사용자는 다른 수단을 통해 세션 ID를 공유할 수 있으며, 예를 들어, 이를 오프라인으로 공유하고 이를 그 어플리케이션에 수동으로 입력할 수 있다. 이것은 회의 ID가 사전에 공유되고 회의에 참가하는 사용자에 의해 수동으로 입력되는 현재의 회의 통화와 매우 유사하다. 또는, 이벤트는 예를 들어, 정보를 포함하는 QR 코드를 제공할 수 있다. 세션 ID를 공유할 때, 제어기 시스템의 URI가 또한 포함될 수 있고, 아마도 프로토콜 또는 프로토콜들도 사용될 수 있다. 제어기 시스템의 URI 및 프로토콜(들)은 사용되는 어플리케이션에서 구성된 디폴트(default) URI 및 디폴트 프로토콜(들)을 포함할 수 있다.
시나리오 B에서 , 클라이언트 디바이스(31 및 37) 모두는 동일 서버에 대한 통신 채널을 설정하지만, 클라이언트 디바이스(또는 적어도 하나의 클라이언트 디바이스)는 예를 들어, 오케스트레이션 세션 ID를 제공함으로써 오케스트레이션 세션을 지시할 수 없다. 이의 통상적인 예는 뉴스 공급자에 의해 제공되는 일반적인 사용자 생성 컨텐츠 어플리케이션이다. 많은 사용자는 뉴스의 가치가 있다고 여겨지는 컨텐츠의 (라이브) 스트림을 제공할 수 있으며, 뉴스 공급자는 다양한 스트림을 함께 결합하여(즉, 오케스트레이팅하여) 뉴스 항목을 생성할 수 있다. 세션 ID들을 사용하는 대신에, 뉴스 공급자의 제어기 시스템(41)은 근접성에 기초하여 함께 클라이언트 디바이스(31 및 37)를 포함하는 클라이언트 디바이스를 클러스터링하도록 구성될 수 있다. 예를 들어, 뉴스 공급자가 특정 관심 지점을 규정하면, 이 지점에서 500m 이내에 있는 모든 클라이언트 디바이스가 모두 동일한 오케스트레이션에 함께 그룹화된다. 이 경우, 클라이언트 디바이스가 통신 채널을 확립하기 위해 그들의 요청을 송신할 때, 클라이언트 디바이스는 자신의 위치를 나타낼 수 있거나, 이 위치가 네트워크에 의해 검출되고 나타내어질 수 있다. 위치 정보의 예는 GPS 좌표, 셀 ID, 주소 정보일 수 있다.
클라이언트 디바이스(31 및 37)가 속할 수 있는 오케스트레이션(세션)을 결정하기 위해 다른 유형의 정보가 또한 사용될 수 있다. 네트워크 주소, 예를 들어, IP 주소는, NAT 뒤에 있는 복수의 디바이스가 동일 IP 주소를 공유하기 때문에 이를 위해 사용될 수 있다. 그러한 설정에서, 예를 들어, 집의 동일한 로컬 네트워크의 복수의 클라이언트, 동일한 IP 주소를 갖는 복수의 클라이언트 디바이스는 물리적 근접성에 있을 가능성이 높으며, 따라서 공유된 세션에서 사용될 수 있다. 주변 SSID들은 Google 위치 서비스에서 사용되는 것과 유사한 위치 정보를 또한 제공할 수 있다.
제어기 시스템(41)이 시나리오 B와 관련하여 설명된 바와 같이, 클라이언트 디바이스(31 및 37)로부터 오케스트레이션 세션 ID 자체를 수신하는 대신 오케스트레이션 세션 ID 자체를 결정하는 경우, 제어기 시스템(41)은 결정된 오케스트레이션 세션 ID를 클라이언트 디바이스(31 및 37)에 제공하거나 제공하지 않을 수 있다. 세션 ID의 목적은 제어기 시스템이 어떤 클라이언트 디바이스가 어떤 오케스트레이션 세션에 속하는지를 식별할 수 있도록 하는 것이다. 제어기 시스템이 세션 ID 자체를 결정하고 올바른 제어기 시스템인 경우, 클라이언트 디바이스는 세션 ID를 수신할 필요가 없을 수 있다. 한편, 제어기 시스템은 세션 ID 자체를 결정하지만, 이는 정확한 제어기 시스템이 아니며, 즉, 클라이언트 디바이스는 다른 제어기 시스템을 사용할 필요가 있으며(또한, 시나리오 C 참조), 제어기 시스템이 세션 ID를 클라이언트 디바이스에 제공하게 하는 것이 유리할 수 있다.
시나리오 C에서 , 클라이언트 디바이스(31 및 37)는 공유된 세션 ID를 가지고/알고 있지만, 어떤 제어기 시스템에 접촉해야 하는지를 알지 못한다. 이것은 확장성을 위해 복수의 제어기 시스템이 존재하는 경우, 또는 예를 들어, 상이한 제어기 시스템이 다른 회사에 의해 제공되는 경우일 수 있다.
이 시나리오에서, 클라이언트 디바이스는 우선 초기 제어기 시스템, 예를 들어, 사전-구성된 제어기 시스템, 또는 채널 설정 정보에서 제공되는 디폴트 제어기 시스템에 접촉할 수 있다. 단일 세션의 2개의 클라이언트 디바이스는 우연히 동일한 제어기 시스템에 접속할 수 있지만, 또한 상이한 제어기 시스템에 접속하는 것으로 끝날 수 있다. 따라서, 동일한 오케스트레이션 세션의 클라이언트 디바이스가 동일한 제어기 시스템과의 통신 채널을 확립하도록 보장하는 메커니즘이 필요하다. 이것은 예를 들어, 다음과 같은 메커니즘을 사용하여 수행될 수 있다.
제1 메커니즘은 클라이언트 디바이스(31)가 제어기 시스템(41)과 접촉하는 것을 포함하지만, 상이한 제어기 시스템(47)으로 리-디렉트(re-direct)된다. 이것은 도 4에 나타내어진다. 클라이언트 디바이스(31)는 우선 제어기 시스템(41)과 접촉하지만, 제어기 시스템(41)은 이 오케스트레이션 세션을 담당하는 제어기 시스템이 아니다. 제어기 시스템(41)은 후술하는 바와 같이 룩업을 사용하여, 이 경우 제어기 시스템(47)이 이 세션을 담당하는 제어기 시스템임을 결정할 수 있고, 클라이언트 디바이스(31)를 제어기 시스템(47)으로 리디렉팅하기 위해 클라이언트 디바이스(31)에 리디렉트 메시지를 전송할 수 있다. 그 후, 클라이언트 디바이스(31)는 제어기 시스템(47)에 대한 통신 채널을 설정할 수 있다. 대안적으로, 리-디렉트 프로세스는 올바른 제어기 시스템에 도달하기 전에, 단 1회 수행되는 대신, 여러 회 수행될 수 있다.
제2 메커니즘은 클라이언트 디바이스(31 및 37)가 오케스트레이션 세션 ID를 사용하여 제어기 시스템 주소의 룩업을 우선 수행하는 것을 포함한다. 이것은 도 5에 나타내어진다. 우선, 클라이언트 디바이스(31, 37) 모두는 세션 ID를 사용하여 룩업 서버(49)에서 룩업을 수행한다. 룩업을 수행하기 위해 다양한 메커니즘이 사용될 수 있다. 알려진 메커니즘은 (DNS 룩업과 같은 또는 이와 유사한) 계층적 스킴, 플러딩(flooding) 방법(예를 들어, 관련된 다양한/모든 서버에 멀티캐스트 또는 브로드캐스트 메시지 전송), 피어-투-피어(peer-to-peer) 네트워킹에서 알려진 것과 같은 가시핑(gossiping) 프로토콜을 사용하는 것, 분산된 해시 테이블을 사용하는 것을 포함한다. 클라이언트 디바이스(31) 및/또는 클라이언트 디바이스(37) 중 어느 하나가 이러한 메커니즘을 사용하거나, 클라이언트 디바이스(31) 및/또는 클라이언트 디바이스(37)가 룩업 서버(49)에 접촉하고 룩업 서버(49)는 이러한 메커니즘을 사용하여 예를 들어, 일부 다른 룩업 서버에서 올바른 제어기 시스템(41)의 URI를 찾는다. 일단 클라이언트 디바이스(31 및 37)가 제어기 시스템(41)의 URI를 발견하면, 이들은 제어기 시스템(41)에 대한 통신 채널을 설정할 수 있다. 룩업 후의, 시나리오의 이 부분은 시나리오 A와 유사하다.
예를 들어, 룩업 서버(49)는 솔리드 스테이트 메모리, 예를 들어, 플래시 메모리로 이루어진 하나 이상의 솔리드 스테이트 디스크(SSD), 또는 하나 이상의 하드 디스크를 포함할 수 있다.
제3 메커니즘은 제어기(41)와 제어기(47)가 협업하는 것을 포함한다. 이것은 도 6에 나타내어진다. 단일 서버가 단일 미디어 오케스트레이션의 일부로서 다양한 클라이언트 디바이스를 제어하는 것은 단일 엔티티가 전체 오케스트레이션을 제어하는 것을 보장하는 용이한 방식이다. 그러나, 이것이 유일한 방법은 아니며: 단일 기능 제어기가 다양한 물리적 서버에 분산될 수 있다.
제1 예로서, 제어기(41)는 제어기(47)에 대한 프록시로서 작용할 수 있다. 클라이언트 디바이스(31)는 제어기 시스템(41)에 접촉하지만, 제어기 시스템(41)은 어떻게든 (예를 들어, 룩업을 사용하여 또는 국부적으로 이용 가능한 정보로부터) 제어기 시스템(47)이 클라이언트 디바이스(31)에 의해 제공되는 세션 ID에 의해 나타내어지는 바와 같이, 이 세션을 담당하는 제어기 시스템인 것으로 결정한다. 이 경우에, 제어기 시스템(41)은 통신 채널에 대한 요청을 제어기 시스템(47)에 전달한다. 예를 들어, 프로토콜 변환과 같은 일부 변환이 요청 또는 메시지를 전달하기 전에 수행될 수 있다. 클라이언트 디바이스(31)와 제어기 시스템(47) 사이의 모든 메시지는 제어기 시스템(41)을 통해 전달될 것이다. 이것은 클라이언트 디바이스(31)와 제어기 시스템(41) 사이의 제1 통신 채널 및 제어기 시스템(41)과 제어기 시스템(47) 사이의 제2 통신 채널을 생성하는 것으로 고려될 수 있다. 하나 초과의 제어기 시스템이 클라이언트 디바이스와 궁극적으로 최종 제어기 시스템 사이의 프록시일 수 있으며, 즉, 프록시의 캐스케이드일 수 있다.
제2 예로서, 상이한 제어기 시스템들 간의 연계(federation)가 구현될 수 있다. 예를 들어, 제어기 시스템(41)은 클라이언트 디바이스(31)를 제어하고 있을 수 있고, 제어기 시스템(47)은 클라이언트 디바이스(37)를 제어하고 있을 수 있으며, 제어기 시스템(41 및 47)은 그들의 각각의 클라이언트 디바이스를 제어하는 방식을 결정하기 위해 정보를 교환할 수 있다.
이러한 연계는 또한 마스터 제어기 시스템과 클라이언트 제어기 시스템의 사용을 포함할 수 있다. 예를 들어, 마스터 제어기 시스템이 오케스트레이션의 일부분을 오케스트레이팅할 수 있고(예를 들어, 어떤 클라이언트 디바이스가 어떤 컨텐츠의 일부를 재생하는지), 클라이언트 제어기 시스템이 오케스트레이션의 다른 부분을 오케스트레이팅할 수 있다(예를 들어, 클라이언트 디바이스 간 시간 동기화 또는 클라이언트 디바이스의 공간 정렬).
복수의 제어기 시스템이 확장성의 이유로 사용될 수 있지만, 상이한 제어기 시스템은 또한 그들이 제공하는 기능에서 다를 수 있다. 예를 들어, 특정 제어기 시스템은 시간적 오케스트레이션 서버(즉, MSAS 즉 미디어 동기화 어플리케이션 서버) 또는 공간적 오케스트레이션 서버 중 어느 하나일 수 있다. 이 경우, 단일 오케스트레이션 세션에 복수의 제어기 시스템이 필요할 수 있다. 따라서, 제어기 시스템의 룩업은 요구되는 기능에 기초할 수 있고 및/또는 룩업의 결과는 그 결과에 포함된 제어기 시스템에 의해 제공되는 기능을 갖는 복수의 결과를 포함할 수 있다.
물론, 이러한 유형의 연계의 조합 또한 가능하다. 이러한 모든 경우에, 각 클라이언트 디바이스는 그 자신의 제어기 시스템에 대한 통신 채널을 갖거나, 예를 들어, 상이한 제어기 시스템이 미디어 오케스트레이션의 상이한 양태를 제어할 때, 기능이 다양한 제어기 시스템 간에 분산되는 경우에 하나 초과의 제어기 시스템을 아마도 갖는다.
복수의 제어기 시스템을 사용함으로써 확장성을 증가시키는 대신, 또는 이에 추가하여, 확장성은 또한 도 7을 참조하여, 클라우드-기반 제어기 시스템(51)을 사용함으로써 향상될 수 있다. 클라우드-기반 제어기 시스템(51)은 클라우드 레이어(53) 및 3개의 하드웨어 구성 요소(55, 56 및 57)를 포함한다. 클라우드 레이어(53)는 특정 URI와 연관되어 클라이언트 디바이스(31 및 37)를 향한 통신 인터페이스를 형성한다. 예를 들어, 특정 하드웨어 구성 요소가 미디어 오케스트레이션의 특정 양태, 예를 들어, 참여 클라이언트 디바이스의 위치 및/또는 미디어 오케스트레이션의 유형에 따라, 및/또는 3개의 하드웨어 구성 요소(55, 56 및 57)의 부하에 따라 특정 미디어 오케스트레이션 세션에 대해 사용될 수 있다.
다른 오케스트레이션 모델은 피어-투-피어 모델이다. 또한 이러한 모델에서, 통신 채널을 설정하는 것이 타당하다. 이러한 통신 채널은 모든 피어들 사이에서, 일부 피어들 사이에서만 설정될 수 있으며, 다양한 레이아웃: 풀 메쉬, 링 토폴로지, 마스터-슬레이브를 가질 수 있다. 예를 들어, 하나의 클라이언트 디바이스가 배터리 부족 상태가 되어 오케스트레이션을 떠나는 다른 클라이언트 디바이스에 알릴 필요가 있는 경우, 다른 클라이언트 디바이스에게 이에 대해 알려줄 수 있고, 이는 그 후 출발을 수용하기 위한 적절한 조치에 대해 결정할 수 있다.
제어기 시스템이 아직 미디어 오케스트레이션을 담당하지 않는 경우, 예를 들어, 새로운 세션이 추가되는 경우가 발생할 수 있다. 제어기 시스템(41)은, 특정 제어기 시스템이 특정 오케스트레이션을 담당하는 제어기 시스템인지 여부를 결정하기 위해 룩업을 수행할 수 있다. 어떠한 세션도 발견되지 않으면, 제어기 시스템(41)은 이 세션을 담당하는 제어기 시스템이 될 수 있으며, 아마도 또한 (사용되는 룩업 메커니즘에 따라) 다른 제어기 시스템에 이를 알려준다. 그 후, 다른 제어기 시스템은, 제어기 시스템(41)이 이 세션을 담당하는 제어기 시스템임을 결정하기 위해 룩업을 수행할 수 있다.
시나리오 D 는 시나리오 B와 시나리오 C의 조합이다. 일반적으로, 우선 클라이언트 디바이스(31 및 37)에 대한 세션 ID가 예를 들어, 초기 제어기 시스템에 의해 결정될 것이고(시나리오 B 참조), 적절한 제어기 시스템이 발견될 수 있다(시나리오 C). 때로는 이는 단일 단계만을 거칠 것이며, 예를 들어, 근거리 네트워크에서 로컬 디바이스에 대한 모든 세션을 오케스트레이팅하는 단일 제어기 시스템이 있을 수 있으며 초기 제어기 시스템은 종종 또는 언제나 적절한 제어기 시스템이 될 수 있다. 이 시나리오는, 제어기 시스템이 세션 ID를 결정하고 적절한 제어기 시스템을 찾는 것 모두를 할 수 있을 필요가 있으므로, 제어기 시스템에 더 많은 부담을 줄 수 있다. 이 시나리오는 대부분 로컬 미디어 오케스트레이션에서 사용될 가능성이 있으므로, 즉, 친구가 그 디바이스를 켜고 그 어플리케이션을 시작하고 참가하기 위해 로컬로 이용 가능한 세션을 검색하므로, 이러한 시나리오는 여전히 실행 가능한 시나리오이다.
도 8은 도 1 및 도 2를 참조하여 설명된 방법을 수행할 수 있는 예시적인 데이터 프로세싱 시스템을 나타내는 블록도를 도시한다.
도 8에 나타낸 바와 같이, 데이터 프로세싱 시스템(200)은 시스템 버스(206)를 통해 메모리 요소(204)에 커플링된 적어도 하나의 프로세서(202)를 포함할 수 있다. 이와 같이, 데이터 프로세싱 시스템은 메모리 요소(204) 내에 프로그램 코드를 저장할 수 있다. 또한, 프로세서(202)는 시스템 버스(206)를 통해 메모리 요소(204)로부터 액세스된 프로그램 코드를 실행할 수 있다. 일 양태에서, 데이터 프로세싱 시스템은 프로그램 코드를 저장 및/또는 실행하는 데 적절한 컴퓨터로서 구현될 수 있다. 그러나, 데이터 프로세싱 시스템(200)은 본 명세서 내에서 설명된 기능을 수행할 수 있는 프로세서 및 메모리를 포함하는 임의의 시스템의 형태로 구현될 수 있음을 이해해야 한다.
메모리 요소(204)는 예를 들어, 로컬 메모리(208) 및 하나 이상의 대용량 저장 디바이스(210)와 같은 하나 이상의 물리적 메모리 디바이스를 포함할 수 있다. 로컬 메모리는 프로그램 코드의 실제 실행 중에 일반적으로 사용되는 랜덤 액세스 메모리 또는 다른 비영구적 메모리 디바이스(들)를 칭할 수 있다. 대용량 저장 디바이스는 하드 드라이브 또는 다른 영구 데이터 저장 디바이스로서 구현될 수 있다. 프로세싱 시스템(200)은 또한 프로그램 코드가 실행 동안 대용량 저장 디바이스(210)로부터 검색되어야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 임시 저장을 제공하는 하나 이상의 캐시 메모리(미도시)를 포함할 수 있다.
입력 디바이스(212) 및 출력 디바이스(214)로서 도시된 입력/출력(I/O) 디바이스는 선택적으로 데이터 프로세싱 시스템에 커플링될 수 있다. 입력 디바이스의 예는 키보드, 마우스와 같은 포인팅 디바이스 등을 포함할 수 있지만, 이에 한정되는 것은 아니다. 출력 디바이스의 예는 모니터 또는 디스플레이, 스피커 등을 포함할 수 있지만, 이에 한정되는 것은 아니다. 입력 및/또는 출력 디바이스는 직접 또는 개입 I/O 제어기를 통해 데이터 프로세싱 시스템에 커플링될 수 있다.
일 실시예에서, 입력 및 출력 디바이스는 결합된 입력/출력 디바이스(입력 디바이스(212) 및 출력 디바이스(214)를 둘러싸는 점선으로도 8에 나타내어짐)로서 구현될 수 있다. 이러한 결합된 디바이스의 예는 "터치 스크린 디스플레이" 또는 간단히 "터치 스크린"으로 또한 때로 칭해지는 터치 감지 디스플레이이다. 이러한 실시예에서, 디바이스에 대한 입력은 예를 들어, 터치 스크린 디스플레이 상의 또는 그 부근의 스타일러스 또는 사용자의 손가락과 같은 물리적 객체의 움직임에 의해 제공될 수 있다.
네트워크 어댑터(216)는 데이터 프로세싱 시스템에 또한 커플링되어, 개재된 사설 또는 공중 네트워크를 통해 이를 다른 시스템, 컴퓨터 시스템, 원격 네트워크 디바이스 및/또는 원격 저장 디바이스에 커플링될 수 있게 한다. 네트워크 어댑터는 상기 시스템, 디바이스 및/또는 네트워크에 의해 데이터 프로세싱 시스템(200)으로 송신된 데이터를 수신하기 위한 데이터 수신기, 및 데이터 프로세싱 시스템(200)으로부터 상기 시스템, 디바이스 및/또는 네트워크로 데이터를 송신하기 위한 데이터 송신기를 포함할 수 있다. 모뎀, 케이블 모뎀 및 이더넷 카드는 데이터 프로세싱 시스템(200)과 함께 사용될 수 있는 상이한 타입의 네트워크 어댑터의 예이다.
도 8에 도시된 바와 같이, 메모리 요소(204)는 어플리케이션(218)을 저장할 수 있다. 다양한 실시예에서, 어플리케이션(218)은 로컬 메모리(208), 하나 이상의 대용량 저장 디바이스(310)에 저장될 수 있거나 로컬 메모리 및 대용량 저장 디바이스와 별도로 저장될 수 있다. 데이터 프로세싱 시스템(200)은 어플리케이션(218)의 실행을 용이하게 할 수 있는 운영 체제(도 8에는 미도시)를 추가로 실행할 수 있음을 이해해야 한다. 실행 가능한 프로그램 코드의 형태로 구현되는 어플리케이션(218)은 데이터 프로세싱 시스템(200)에 의해, 예를 들어, 프로세서(202)에 의해 실행될 수 있다. 어플리케이션을 실행하는 것에 응답하여, 데이터 프로세싱 시스템(200)은 본원에 설명되는 하나 이상의 동작 또는 방법의 단계를 수행하도록 구성될 수 있다.
본 발명의 다양한 실시예는 컴퓨터 시스템과 함께 사용하기 위한 프로그램 제품으로서 구현될 수 있으며, 여기서 프로그램 제품의 프로그램(들)은 (본원에서 설명되는 방법을 포함하여) 실시예의 기능을 정의한다. 일 실시예에서, 프로그램(들)은 다양한 비일시적 컴퓨터-판독 가능 저장 매체 상에 포함될 수 있으며, 여기서, 본원에서 사용되는 "비일시적 컴퓨터 판독 가능 저장 매체"라는 표현은 모든 컴퓨터 판독-가능 매체를 포함하며, 유일한 예외는 일시적인, 전파 신호이다. 다른 실시예에서, 프로그램(들)은 다양한 일시적 컴퓨터-판독 가능 저장 매체 상에 포함될 수 있다. 예시적인 컴퓨터-판독 가능 저장 매체는: (i) 정보가 영구적으로 저장되는 기입 불능 저장 매체(예를 들어, CD-ROM 드라이브에 의해 판독 가능한 CD-ROM 디스크, ROM 칩 또는 임의의 유형의 솔리드-스테이트 비휘발성 반도체 메모리와 같은 컴퓨터 내의 판독-전용 메모리 디바이스); 및 (ii) 변경 가능한 정보가 저장되는 기임 가능 저장 매체(예를 들어, 플래시 메모리, 디스켓 드라이브 또는 하드-디스크 드라이브 내의 플로피 디스크 또는 임의의 유형의 솔리드-스테이트 랜덤-액세스 반도체 메모리)를 포함하지만, 이에 한정되는 것은 아니다. 컴퓨터 프로그램은 본원에 설명되는 프로세서(202) 상에서 실행될 수 있다.
본원에서 사용되는 용어는 단지 특정 실시예를 설명하기 위한 것이며, 본 발명을 한정하려고 의도된 것은 아니다. 본원에서 사용되는 단수 형태 "어느(a)", "어떤(an)" 및 "그(the)"는 문맥 상 명백하게 다르게 지시하지 않는 한 복수 형태도 포함하는 것으로 의도된다. 본 명세서에서 사용될 때, "포함하다(comprises)" 및/또는 "포함하는(comprising)"과 같은 용어는 명시된 피쳐, 정수, 단계, 동작, 요소 및/또는 구성 요소의 존재를 특정하지만, 하나 이상의 다른 피쳐, 정수, 단계, 동작, 요소, 구성 요소 및/또는 그 그룹의 존재 또는 추가를 배제하지는 않는다는 것이 추가로 이해될 것이다.
이하의 청구항들에서 모든 수단 또는 단계와 기능 요소의 대응하는 구조, 재료, 작용 및 등가물은 구체적으로 청구된 바와 같은 다른 청구된 요소와 조합하여 기능을 수행하기 위한 임의의 구조, 재료 또는 작용을 포함하도록 의도된다. 본 발명의 실시예에 대한 설명은 설명의 목적으로 제시되었지만, 개시된 형태의 구현에 한정적이거나 제한하려고 의도된 것은 아니다. 본 발명의 범주 및 사상을 벗어나지 않고도 본 기술 분야의 통상의 기술자에게 많은 수정 및 변형이 명백할 것이다. 실시예는 본 발명의 원리 및 일부 실제 어플리케이션을 가장 잘 설명하고 본 기술 분야의 통상의 기술자가 본 발명을 고려된 특정 용도에 적합한 다양한 수정을 갖는 다양한 실시예에 대해 본 발명을 이해할 수 있도록 선택 및 설명되었다.

Claims (15)

  1. 미디어 오케스트레이션(orchestration)을 활성화(enable)하는 방법으로서, 상기 미디어 오케스트레이션은 적어도 하나의 미디어 스트림을 프로세싱하기 위해 복수의 디바이스들을 오케스트레이팅(orchestrating)하고, 상기 방법은,
    - 클라이언트 디바이스에서 특정 미디어 오케스트레이션에 관한 통신 채널 설정 정보를 수신하는 단계(1);
    - 상기 통신 채널 설정 정보에 기초하여, 상기 클라이언트 디바이스로부터 제어기 시스템으로 요청을 송신하는 단계(3)로서, 상기 요청은 상기 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이에 통신 채널을 확립하는 제1 단계를 나타내는 것인, 상기 송신하는 단계(3); 및
    - 상기 통신 채널이 확립된 후에, 상기 제어기 시스템으로부터 상기 클라이언트 디바이스에서 상기 통신 채널을 통해 제어 정보를 수신하는 단계(11)
    를 포함하는, 미디어 오케스트레이션을 활성화하는 방법.
  2. 제1항에 있어서,
    상기 통신 채널 설정 정보는, 상기 제어기 시스템의 주소, 상기 제어기 시스템에 액세스하는 데 사용될 수 있는 하나 이상의 프로토콜을 식별하는 하나 이상의 프로토콜 식별자 및/또는 오케스트레이션 세션 식별자를 포함하는 것인, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 요청을 송신하기 전에 상기 요청에 식별자를 포함시키는 단계(2)를 더 포함하고, 상기 식별자는 상기 제어기 시스템이 오케스트레이션 세션을 결정할 수 있게 하는 것인, 방법.
  4. 제3항에 있어서,
    상기 식별자는 오케스트레이션 세션 식별자 및/또는 위치 식별자를 포함하는 것인, 방법.
  5. 미디어 오케스트레이션을 활성화하는 방법으로서, 상기 미디어 오케스트레이션은 적어도 하나의 미디어 스트림을 프로세싱하기 위해 복수의 디바이스들을 오케스트레이팅하고, 상기 방법은,
    - 제어기 시스템에서 클라이언트 디바이스로부터 요청을 수신하는 단계(5)로서, 상기 요청은, 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스와 상기 제어기 시스템 사이에 통신 채널을 확립하는 제1 단계를 나타내는 것인, 상기 수신하는 단계(5);
    - 상기 요청에 기초하여 오케스트레이션 세션을 결정하는 단계(7); 및
    - 상기 통신 채널이 확립된 후에, 상기 오케스트레이션 세션에 관한 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 송신하는 단계(9)
    를 포함하는 것인, 미디어 오케스트레이션을 활성화하는 방법.
  6. 제5항에 있어서,
    상기 오케스트레이션 세션을 결정하는 단계는, 동일한 미디어 오케스트레이션에 참여하는 하나 이상의 추가 클라이언트 디바이스와 연관된 오케스트레이션 세션을 결정하는 단계를 포함하는 것인, 방법.
  7. 제6항에 있어서,
    상기 하나 이상의 추가 클라이언트 디바이스 중 적어도 하나가 상기 동일한 미디어 오케스트레이션에 참여하는 것을 중지하였다고 결정하는 단계(21);
    상기 하나 이상의 추가 클라이언트 디바이스 중 상기 적어도 하나가 상기 동일한 미디어 오케스트레이션에 참여하는 것을 중지하였다고 결정하는 것에 응답하여, 새로운 제어 정보를 결정하는 단계(23); 및
    상기 새로운 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 송신하는 단계(25)
    를 더 포함하는, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 요청과 관련하여 식별자를 결정하는 단계(6)를 더 포함하고, 오케스트레이션 세션을 결정하는 단계(7)는 상기 식별자에 기초하여 상기 오케스트레이션 세션을 결정하는 단계(8)를 포함하는 것인, 방법.
  9. 제8항에 있어서,
    상기 식별자는 오케스트레이션 세션 식별자 및/또는 위치 식별자를 포함하는 것인, 방법.
  10. 적어도 하나의 소프트웨어 코드부 또는 상기 적어도 하나의 소프트웨어 코드부를 저장하는 컴퓨터 프로그램 제품을 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램들의 세트(suite)로서, 상기 소프트웨어 코드부는, 컴퓨터 시스템 상에서 실행될 때, 제1항 내지 제9항 중 어느 한 항의 방법을 수행하도록 구성되는 것인, 컴퓨터 프로그램 또는 컴퓨터 프로그램들의 세트.
  11. 미디어 오케스트레이션을 활성화하기 위한 클라이언트 디바이스(31)로서, 상기 미디어 오케스트레이션은 적어도 하나의 미디어 스트림을 프로세싱하기 위해 복수의 디바이스들을 오케스트레이팅하고, 상기 클라이언트 디바이스(31)는,
    - 통신 인터페이스(33); 및
    - 적어도 하나의 프로세서(35)
    를 포함하고,
    상기 적어도 하나의 프로세서(35)는,
    상기 통신 인터페이스(33)를 사용하여 특정 미디어 오케스트레이션에 관한 통신 채널 설정 정보를 수신하고;
    상기 통신 인터페이스(33)를 사용하여 상기 통신 채널 설정 정보에 기초하여 제어기 시스템(41)으로 요청 - 상기 요청은, 상기 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스(31)와 상기 제어기 시스템(41) 사이의 통신 채널을 확립하는 제1 단계를 나타냄 - 을 송신하며;
    상기 통신 채널이 확립된 후에, 상기 통신 인터페이스(33)를 사용하여 상기 제어기 시스템(41)으로부터 상기 통신 채널을 통해 제어 정보를 수신하도록
    구성되는 것인, 클라이언트 디바이스(31).
  12. 미디어 오케스트레이션을 활성화하기 위한 제어기 시스템(41)으로서, 상기 미디어 오케스트레이션은 적어도 하나의 미디어 스트림을 프로세싱하기 위해 복수의 디바이스들을 오케스트레이팅하고, 상기 제어기 시스템은,
    - 통신 인터페이스(43); 및
    - 적어도 하나의 프로세서(45)
    를 포함하고,
    상기 적어도 하나의 프로세서(45)는,
    상기 통신 인터페이스(43)를 사용하여 클라이언트 디바이스(31)로부터 요청 - 상기 요청은, 특정 미디어 오케스트레이션에 관하여 상기 클라이언트 디바이스(31)와 상기 제어기 시스템(41) 사이의 통신 채널을 확립하는 제1 단계를 나타냄 - 을 수신하고;
    상기 요청에 기초하여 오케스트레이션 세션을 결정하며;
    상기 통신 채널이 확립된 후에, 상기 통신 인터페이스(43)를 사용하여 상기 오케스트레이션 세션에 관한 제어 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스(31)로 송신하도록
    구성되는 것인, 제어기 시스템(41).
  13. 제12항에 있어서,
    상기 제어기 시스템(41)은 단일 디바이스를 포함하는 것인, 제어기 시스템(41).
  14. 미디어 오케스트레이션을 활성화하는 통신 채널 설정 정보에 대한 데이터 포맷으로서, 상기 미디어 오케스트레이션은 적어도 하나의 미디어 스트림을 프로세싱하기 위해 복수의 디바이스들을 오케스트레이팅하고, 상기 데이터 포맷은 미디어 오케스트레이션을 활성화하기 위한 제어기 시스템(41)의 주소를 포함하는 것인, 데이터 포맷.
  15. 제14항에 있어서,
    상기 제어기 시스템(41)에 액세스하는 데 사용될 수 있는 하나 이상의 프로토콜들을 식별하는 하나 이상의 프로토콜 식별자들 및/또는 오케스트레이션 세션 식별자를 더 포함하는, 데이터 포맷.
KR1020197013568A 2016-10-12 2017-10-12 미디어 오케스트레이션 활성화 KR102243753B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16193444.3 2016-10-12
EP16193444 2016-10-12
PCT/EP2017/076011 WO2018069426A1 (en) 2016-10-12 2017-10-12 Enabling a media orchestration

Publications (2)

Publication Number Publication Date
KR20190060849A true KR20190060849A (ko) 2019-06-03
KR102243753B1 KR102243753B1 (ko) 2021-04-26

Family

ID=57153310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013568A KR102243753B1 (ko) 2016-10-12 2017-10-12 미디어 오케스트레이션 활성화

Country Status (5)

Country Link
US (1) US20200053419A1 (ko)
EP (1) EP3526972A1 (ko)
KR (1) KR102243753B1 (ko)
CN (1) CN109983777B (ko)
WO (1) WO2018069426A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11005928B2 (en) * 2019-03-25 2021-05-11 Sap Se Resilience in natively non-high availability services
US11936638B2 (en) * 2019-06-28 2024-03-19 Salesforce Inc. Link protocol agents for inter-application communications
TW202235015A (zh) 2021-03-05 2022-09-16 瑞士商傑太日煙國際股份有限公司 用於包括固體氣溶膠產生基質的消耗品之加熱器
US20240080502A1 (en) * 2021-03-19 2024-03-07 Telefonaktiebolaget Lm Ericsson (Publ) Handover of capturing of a media stream
CN113329062B (zh) * 2021-05-10 2022-11-01 灵羲科技(北京)有限公司 数据共享方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110095968A (ko) * 2009-01-19 2011-08-25 알카텔-루센트 유에스에이 인코포레이티드 애플리케이션 배치를 위한 시스템, 방법 및 컴퓨터 판독가능 매체
WO2012068430A1 (en) * 2010-11-18 2012-05-24 Interdigital Patent Holdings, Inc. Method and apparatus for inter-user equipment transfer
KR20150107887A (ko) * 2008-09-02 2015-09-23 퀄컴 인코포레이티드 개선된 컨텐트 전달 시스템을 위한 액세스 포인트
KR20160114017A (ko) * 2013-04-05 2016-10-04 디즈니엔터프라이지즈,인크. 맞춤형 컨텐츠 스트림들의 어셈블리에 대한 컨텐츠 편성

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410698A (en) * 1993-10-12 1995-04-25 Intel Corporation Method and system for dynamic loading of software libraries
US7657916B2 (en) * 2000-07-31 2010-02-02 Cisco Technology, Inc. Digital subscriber television networks with local physical storage devices and virtual storage
US7076523B2 (en) * 2002-04-24 2006-07-11 Siemens Corporate Research, Inc. Interaction interface for a composite device computing environment
KR100965437B1 (ko) * 2003-06-05 2010-06-24 인터트러스트 테크놀로지즈 코포레이션 P2p 서비스 편성을 위한 상호운용 시스템 및 방법
US20070233802A1 (en) * 2006-02-02 2007-10-04 Sonim Technology, Inc. Methods and arrangements for implementing whisper mode conversations during a multiparty telecommunication session
US8719342B2 (en) * 2006-04-25 2014-05-06 Core Wireless Licensing, S.a.r.l. Third-party session modification
US20070271331A1 (en) * 2006-05-17 2007-11-22 Steve Muth System of archiving and repurposing a complex group conversation referencing networked media
CN101257647B (zh) * 2007-02-28 2011-09-07 国家广播电影电视总局广播科学研究院 一种移动多媒体广播电子业务指南的传输方法
US8180029B2 (en) * 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
CN101431381B (zh) * 2007-11-07 2011-12-07 中兴通讯股份有限公司 用户终端更新电子节目指南编排信息的方法
CN101895834B (zh) * 2010-06-21 2012-10-10 杭州热点信息技术有限公司 一种无线多媒体系统内容制作发布方法
EP2493140B1 (en) * 2011-02-24 2018-07-18 Nokia Solutions and Networks Oy Method for transporting multimedia information and device for processing multimedia information
CN102176740A (zh) * 2011-03-22 2011-09-07 北京九华互联科技有限公司 一种实现数字多媒体节目在线组合编排的方法和装置
PL2798816T3 (pl) * 2011-12-29 2016-11-30 Inicjowane sieciowo sterowanie strumieniowego przesyłania zawartości
CN102547481B (zh) * 2012-02-10 2014-08-20 中国联合网络通信集团有限公司 移动流媒体在线播放列表设置以及内容的快速切换方法及系统
US9183031B2 (en) * 2012-06-19 2015-11-10 Bank Of America Corporation Provisioning of a virtual machine by using a secured zone of a cloud environment
US9712634B2 (en) * 2013-03-15 2017-07-18 Cisco Technology, Inc. Orchestrating mobile data networks in a network environment
CN103957435B (zh) * 2014-05-05 2017-05-31 中国科学院声学研究所 媒体资源信息的处理方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150107887A (ko) * 2008-09-02 2015-09-23 퀄컴 인코포레이티드 개선된 컨텐트 전달 시스템을 위한 액세스 포인트
KR20110095968A (ko) * 2009-01-19 2011-08-25 알카텔-루센트 유에스에이 인코포레이티드 애플리케이션 배치를 위한 시스템, 방법 및 컴퓨터 판독가능 매체
WO2012068430A1 (en) * 2010-11-18 2012-05-24 Interdigital Patent Holdings, Inc. Method and apparatus for inter-user equipment transfer
KR20160114017A (ko) * 2013-04-05 2016-10-04 디즈니엔터프라이지즈,인크. 맞춤형 컨텐츠 스트림들의 어셈블리에 대한 컨텐츠 편성

Also Published As

Publication number Publication date
EP3526972A1 (en) 2019-08-21
US20200053419A1 (en) 2020-02-13
WO2018069426A1 (en) 2018-04-19
CN109983777B (zh) 2022-09-27
CN109983777A (zh) 2019-07-05
KR102243753B1 (ko) 2021-04-26

Similar Documents

Publication Publication Date Title
KR102243753B1 (ko) 미디어 오케스트레이션 활성화
US10447795B2 (en) System and method for collaborative telepresence amongst non-homogeneous endpoints
TWI669957B (zh) Media projection method, media projection device, control terminal, and cloud server
US10678393B2 (en) Capturing multimedia data based on user action
US9030523B2 (en) Flow-control based switched group video chat and real-time interactive broadcast
US8990317B2 (en) Shared multimedia experience
CN107211029B (zh) 服务控制器设备以及对应的发现和连接的方法和系统
US9736518B2 (en) Content streaming and broadcasting
WO2015117513A1 (zh) 视频会议控制方法和系统
US9756373B2 (en) Content streaming and broadcasting
EP2933982B1 (en) Media stream transfer method and user equipment
WO2016110169A1 (zh) 一种显示处理方法及装置
WO2017092338A1 (zh) 一种数据传输的方法和装置
WO2016063518A1 (en) System with a companion device and a primary device
US20140380387A1 (en) System, apparatus and method for utilizing a multimedia service
CN111092898B (zh) 报文传输方法及相关设备
EP3065338B1 (en) Control method, apparatus, server and terminal device of telepresence conference
EP3070876A1 (en) Method and system for improving teleconference services
Matsumoto et al. Different worlds broadcasting: A distributed Internet live broadcasting system with video and audio effects
US20170201720A1 (en) Media Control Method and Device
JP5262675B2 (ja) 映像配信システムおよびユニキャスト型多地点映像配信方法
WO2016170783A1 (en) Methods for media playback state information exchange
Zorrilla et al. Reaching devices around an HbbTV television
KR101528268B1 (ko) 콘텐츠를 원격 위치들에 스트리밍하기 위한 시스템과 방법
US20170064377A1 (en) Content streaming and broadcasting

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant