[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101781717B1 - 공간적으로-세그먼트된 콘텐츠 전달 - Google Patents

공간적으로-세그먼트된 콘텐츠 전달 Download PDF

Info

Publication number
KR101781717B1
KR101781717B1 KR1020157031010A KR20157031010A KR101781717B1 KR 101781717 B1 KR101781717 B1 KR 101781717B1 KR 1020157031010 A KR1020157031010 A KR 1020157031010A KR 20157031010 A KR20157031010 A KR 20157031010A KR 101781717 B1 KR101781717 B1 KR 101781717B1
Authority
KR
South Korea
Prior art keywords
spatial
spatial segment
stream
segment
client
Prior art date
Application number
KR1020157031010A
Other languages
English (en)
Other versions
KR20150127733A (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 KR20150127733A publication Critical patent/KR20150127733A/ko
Application granted granted Critical
Publication of KR101781717B1 publication Critical patent/KR101781717B1/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/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
    • 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
    • H04N21/234363Processing 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 by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • H04L29/06
    • H04L65/4084
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/218Source of audio or video content, e.g. local disk arrays
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2356Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages by altering the spatial resolution
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection

Landscapes

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

Abstract

방법 및 시스템이 콘텐츠 전달 네트워크로부터 유래되는 공간적으로 세그먼트된 콘텐츠를 처리하기 위해 개시된다. 하나의 방법은 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과, 상기 콘텐츠 전달 네트워크에 하나 이상의 전달 노드를 위치 시키기 위한 위치 정보, 및 선택적으로, 디스플레이를 위해 비디오 프레임으로 상기 세그먼트 스트림의 공간 세그먼트 프레임을 스티칭하기 위한 위치 정보를 식별하는 하나 이상의 공간 표현을 구비하는 공간 매니페스트 정보를 수신하고; 하나 이상의 공간 세그먼트 스트림을 선택하고 상기 공간 매니페스트 정보를 기초로 상기 클라이언트에게 상기 하나 이상의 선택된 공간 세그먼트 스트림을 전송하도록 상기 콘텐츠 전달 네트워크의 적어도 하나의 전달 노드를 요청하며; 상기 적어도 하나의 전달 노드로부터 상기 하나 이상의 선택된 공간 세그먼트 스트림을 수신하는; 미디어 처리 장치의 클라이언트를 갖추어 이루어진다.

Description

공간적으로-세그먼트된 콘텐츠 전달{SPATIALLY-SEGMENTED CONTENT DELIVERY}
본 발명은 공간적으로-세그먼트된 콘텐츠 전달에 관한 것으로, 특히, 비록 배타적이지는 않지만, 공간적으로-세그먼트된 콘텐츠를 처리하기 위한 방법 및 시스템, 공간적으로-세그먼트된 콘텐츠를 분배하도록 구성된 콘텐츠 전달 네트워크, 공간적으로-세그먼트된 콘텐츠를 처리하기 위해 구성된 클라이언트, 클라이언트 또는 콘텐츠 전달 네트워크에서 공간적으로-세그먼트된 콘텐츠를 제어하기 위한 데이터 구조, 및 이러한 방법을 이용하는 컴퓨터 프로그램 제품에 관한 것이다.
광각(wide-angle)의, 매우 높은 해상도의 비디오 콘텐츠를 캡쳐하고 전송할 수 있는 새로운 제조 장비가 이용가능하게 되는 것이 시작되고 있다. 이러한 미디어 파일의 처리는 높은 밴드폭(Gbps의 차수)을 요구하고 이러한 비디오 스트림에서 전체 정보를 활용하기 위해 큰 비디오 스크린, 전형적으로 대형 분할 텔레비전 화면(video wall)의 크기 또는 프로젝션 스크린이 이용되어져야만 한다.
비교적 작은 디스플레이 상에서 비디오를 관찰할 때, 사용자는 전체 비디오 프레임 및 그 내에 포함된 모든 정보를 관찰하는 것이 가능하지 않게 된다. 대신, 선호도를 기초로 사용자는 사용자 장비의 GUI(graphical user interface)와 상호작용하는 것에 의해 특정 프레임 영역(frame area), 관찰 각(viewing angle) 또는 비디오 해상도를 선택하게 된다. 현재의 네트워크 성능이 이들 HD 해상도를 넘는 큰 대역폭 요구를 취급할 수 없다는 사실은 별도로, 어떻게 하여도 이는 단순히 스크린 상에 디스플레이되지 않게 되는 콘텐츠를 전달하는데 능률적이지 않다.
비디오 콘텐츠 파일의 다중 해상도 층이 서버-기반 대화형 ROI 인코더(Region-of-lnterest encoder)를 이용해서 발생되는 소위 타일화된(tiled) 비디오 시스템을 Mavlankar 등에 의한 논문 "An interactive region-of-interest video streaming system for online lecturing viewing", proceeding of ICIP 2010, p.4437-4440에 개시하였다. 모든 층은 다중 공간 세그먼트(multiple spatial segments) 또는 타일(tiles)로 분할되고, 각각은 서로로부터 독립적으로 인코드 및 분배(예컨대, 스트리밍됨)될 수 있다.
비디오 클라이언트(video client)는 특정 공간 영역, ROI(Region of Interest)를 요청할 수 있고, 서버는 이어서 ROI 요청을 하나 이상의 세그먼트에 대해 맵핑하고 타일화된 스트림(tiled streams)의 선택된 그룹을, 타일화된 스트림을 하나의 비디오로 결합하도록 구성된, 클라이언트로 전송할 수 있다. 이러한 방식에 의하면, 디스플레이된 콘텐츠와의 대역폭 효율 사용자-상호작용, 예컨대 줌잉(zooming) 및 패닝(panning)은 디스플레이된 콘텐츠의 해상도에 관하여 손상(compromises)을 요구하는 것 없이 달성될 수 있다. 그러나 이러한 구조에 있어서 서비스의 품질 및 최적의 사용자 경험을 전달하기 위해 타일화된 스트림의 빠른 응답 및 처리가 필요로 된다.
현존하는 대규모 콘텐츠 전달 구조에서 이러한 서비스를 구현할 때 문제가 야기될 수 있다. 전형적으로, 콘텐츠 공급자는 소비자에게 직접적으로 콘텐츠를 전달하지 않는다. 대신, 콘텐츠는, 소비자에게 콘텐츠를 전달하기 위한 CDN(content delivery network; 콘텐츠 전달 네트워크)을 이용하는, 콘텐츠 분배자(content distributor)에게 보내진다. CDN들은 공간적으로 세그먼트된 콘텐츠를 취급하도록 배열되지 않는다. 더욱이, (Mavlankar의 논문에 개시된 바와 같은) 클라이언트에게 공간적으로 세그먼트된 콘텐츠를 전달하기 위한 알려진 솔루션은 기존의 CDN들과 함께 이용하기 위해 적절하지 않다. 공간적으로 세그먼트된 콘텐츠가 다른 위치에 저장될 수 있는 CDN에서 ROI 요청을 해결하기 위한 알려진 서버-기반 솔루션은 배율화가능 솔루션(scalable solution)을 제공하지 않고 이러한 서비스의 현실화를 심각하게 손상시킬 수 있는 과부하(overload) 및 지연(delay) 상황과 같은 원하지 않았던 효과를 용이하게 유도할 수 있다.
더욱이, Mavlankar에 의해 개시된 타일 맵핑 접근(tile mapping approach)에 대한 서버-기반 ROI는, 몇몇 공간 세그먼트(세그먼트 스트림)가 억세스 기술(매체)로서 브로드캐스트(broadcast) 또는 멀티캐스트(multicast)를 이용해서 수신될 수 있고 몇몇 다른 공간 세그먼트가 억세스 기술로서 예컨대 유니캐스트(unicast)를 이용해서 수신될 수 있는 시나리오와 같은, 2가지 분리 억세스 방법/프로토콜(separate access methods/protocols)을 통해 콘텐츠에 접근하는 클라이언트의 가능성을 가능하지 않게 한다. Mavlankar의 서버-기반 ROI 맵핑 메카니즘(server-based ROI mapping mechanism)은 다른 억세스 기술 및/또는 억세스 프로토콜을 매개로 세그먼트된 콘텐츠를 수신하기 위한 정확한 클라이언트-측 성능의 지식을 갖고 있지 않게 된다.
더욱이, 여러 공간적으로-세그먼트된 스트림을 기초로 비디오 스트림을 취급하고 디스플레이하기 위해, 특정 기능성이 다수의 공간 세그먼트 스트림을 기초로 끊김 없는 비디오 이미지의 디스플레이를 가능하게 하고 디스플레이된 콘텐츠와의 사용자-상호작용을 가능하게 하도록 하기 위해 클라이언트에서 구현되도록 필요로 된다.
따라서, 클라이언트에게 효과적인 공간적으로-세그먼트된 콘텐츠 전달을 위한 종래 기술에서의 필요성이 있다. 특히, 종래의 CDN 하부구조(infrastructure)에 대해 변경을 요구하는 것 없이 콘텐츠 전달을 허용하고, 또한 고-해상도 비디오 콘텐츠와의 사용자 상호작용을 위한 배율가능하고 유연한 솔루션을 제공할 수 있는 공간적으로-세그먼트된 콘텐츠 전달을 위한 방법 및 시스템에 대한 필요성이 있다.
본 발명은 상기한 점을 감안하여 발명된 것으로, 종래 기술에서 알려진 적어도 하나의 결점을 감소 또는 제거하기 위한 것으로, 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법을 제공함에 그 목적이 있다.
본 발명의 제1 측면은: 클라이언트가, 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하는 공간 매니페스트 데이터 구조를 수신하는 단계와; 적어도 하나의 상기 공간 표현과 관련된 하나 이상의 공간 세그먼트 스트림을 선택하고, 상기 위치 정보를 기초로, 상기 클라이언트에게 상기 적어도 하나의 선택된 공간 세그먼트 스트림을 전달하도록, 바람직하기는 상기 콘텐츠 전달 네트워크와 관련된, 적어도 하나의 전달 노드를 요청하는 단계; 및 상기 적어도 하나의 전달 노드로부터 상기 하나 이상의 선택된 공간 세그먼트 스트림을 수신하는 단계;를 갖추어 이루어지는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법을 제공한다.
공간 매니페스트 데이터 구조(파일)는, 비디오 데이터의 줌잉(zooming), 틸팅(tilting) 및 패닝(panning)을 포함하는, 효과적인 클라이언트-기반 비디오 조작 행위를 가능하게 하고, 여기서 네트워크, 특히 CDN의 기능성은 종래의 솔루션과 비교할 때 간단하게 유지될 수 있다.
하나의 실시예에 있어서, 상기 공간 매니페스트 데이터 구조는 디스플레이를 위해 비디오 프레임으로 상기 공간 세그먼트 스트림의 공간 세그먼트 프레임을 스티칭하기 위한 위치 정보를 더 구비하여 구성된다.
다른 실시예에 있어서, 상기 공간 매니페스트 데이터 구조가 상기 소스 스트림의 제1 해상도 버전과 관련된 적어도 제1 공간 표현과 상기 소스 스트림의 제2 해상도 버전과 관련된 적어도 제2 공간 표현을 구비하여 구성될 수 있다.
실시예에 있어서, 상기 공간 매니페스트 데이터 구조는 제1 다수의 세그먼트 스트림과 관련된 제1 공간 표현을 구비할 수 있고, 상기 제2 공간 표현이 제2 다수의 세그먼트 스트림을 구비한다.
다른 실시예에 있어서, 상기 방법은 상기 하나 이상의 선택된 공간 세그먼트 스트림을 버퍼링하는 단계와; 하나 이상의 공간 세그먼트 스트림과 관련된 동기화 정보를 수신하는 단계; 및 상기 동기화 정보를 기초로 상기 하나 이상의 요청된 공간 세그먼트 스트림을 동기화하는 단계;를 더 갖추어 이루어질 수 있다.
하나의 실시예에 있어서, 상기 방법은 위치 정보를 기초로 플레이-아웃을 위해 연속적인 비디오 프레임으로 상기 공간적으로 정렬된 공간 세그먼트 프레임을 스티칭하는 단계를 갖추어 이루어질 수 있다.
다른 실시예에 있어서, 상기 하나 이상의 요청된 공간 세그먼트 스트림이 적응형 스트리밍 프로토콜(adaptive streaming protocol), 바람직하기는 HTTP 적응형 스트리밍 프로토콜을 이용해서 상기 클라이언트에게 전송될 수 있고, 상기 공간 세그먼트 스트림의 적어도 일부가 시간 세그먼트(time segments)로 분할된다.
또 다른 실시예에 있어서, 상기 하나 이상의 세그먼트 스트림이 RTP 스트리밍 프로토콜을 이용해서 상기 클라이언트에게 전송되고, 동기화 정보가 RTSP 시그널링 메시지로 상기 클라이언트에게 전송될 수 있다.
또 다른 실시예에 있어서, 상기 공간 매니페스트 데이터 구조는 하나 이상의 억세스 기술 또는 프로토콜(예컨대, 유니캐스트(unicast), 멀티캐스트(multicast), 브로드캐스트(broadcast))에 대한 레퍼런스를 포함하고, 상기 레퍼런스는 바람직하기는 하나 이상의, 바람직하기는 공간의, 세그먼트 스트림과 관련된다.
다른 실시예에 있어서, 상기 하나 이상의 세그먼트 스트림은, 하나 이상의 상기 억세스 기술 및/또는 억세스 프로토콜을 이용해서, 클라이언트에게 전송될 수 있다. 예컨대, 몇몇 세그먼트 스트림은 억세스 기술로서 브로드캐스트 매체(예컨대, 브로드캐스트, 멀티캐스트)를 이용해서 전송될 수 있고, 반면 몇몇 다른 세그먼트 스트림은 억세스 기술로서 유니캐스트를 이용해서 전송될 수 있다.
또 다른 실시예에 있어서, 공간 매니페스트 데이터 구조(파일)는, 멀티캐스트 또는 브로브캐스트와 같은, 브로드캐스트 매체를 거쳐 바람직하기는 클라이언트에 의해, 수신될 수 있다.
다른 실시예에 있어서, 공간 매니페스트 데이터 구조(파일)는 브로드캐스트 매체(예컨대, 사이멀캐스트(simulcast))를 거쳐 동시에 다중 수신자(예컨대, 클라이언트)에게 전송될 수 있다.
다른 측면에 있어서, 본 발명은 미디어 처리 장치에서 클라이언트에 의해 사용자에게 디스플레이된 공간적으로 세그먼트된 콘텐츠와의 사용자-상호작용을 위한 방법에 관한 것으로, 상기 방법이: 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하는 공간 매니페스트 데이터 구조를 수신하는 단계와; 상기 공간 매니페스트 데이터 구조의 상기 위치 정보를 기초로, 상기 콘텐츠 전달 네트워크로부터 제1 공간 표현과 관련된 하나 이상의 공간 세그먼트 스트림을 검색하고, 상기 하나 이상의 공간 세그먼트 스트림을 디스플레이하는 단계; 관심있는 영역과 관련된 사용자 입력을 수신하는 단계로서, 상기 관심 있는 영역이 상기 디스플레이된 공간적으로-세그먼트된 콘텐츠의 선택된 영역을 정의하는, 단계; 및 상기 관심 있는 영역 및 상기 공간 세그먼트 데이터 구조의 위치 정보를 기초로 하나 이상의 미디어 처리 기준, 바람직하기는 대역폭, 스크린 해상도 및/또는 인코딩 품질 중 적어도 하나를 포함하는 상기 처리 기준에 따라 제2 공간 표현을 결정하는 단계;를 갖추어 이루어진다.
하나의 실시예에 있어서, 상기 방법은 하나 이상의 공간 표현에 대해 상기 선택된 관심 있는 영역을 중첩하는 공간 세그먼트 프레임을 결정하는 단계를 더 갖추어 이루어질 수 있다.
다른 측면에 있어서, 본 발명은 제1 콘텐츠 전달 네트워크으로 적어도 하나의 소스 노드, 바람직하기는 제2 콘텐츠 전달 네트워크과 관련된 상기 적어도 하나의 소스 노드로부터 유래하는 공간적으로 세그먼트된 콘텐츠를 수집하기 위한 방법에 관한 것으로, 상기 방법이: 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하는 공간 매니페스트 데이터 구조를 수신하는 단계로서, 상기 적어도 하나의 소스 노드가 상기 제1 전달 네트워크로 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된, 단계와; 상기 제1 콘텐츠 전달 네트워크의 하나 이상의 전달 노드로 상기 적어도 하나의 공간 세그먼트 스트림을 분배하는 단계; 및 상기 하나 이상의 전달 노드와 관련된 위치 정보를 상기 공간 매니페스트 정보에 부가하는 것에 의해 상기 공간 매니페스트 정보를 갱신하는 단계;를 갖추어 이루어질 수 있다.
다른 측면에 있어서, 본 발명은 공간적으로 세그먼트된 콘텐츠를 분배하기 위해 배열된 콘텐츠 분배 네트워크에 관한 것으로, 상기 네트워크가: 제어 기능, 수집 노드 및 하나 이상의 전달 노드를 구비하여 구성되고, 상기 제어 기능이 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하는 공간 매니페스트 데이터 구조를 수신하도록 구성되되, 상기 제어 기능이 상기 위치 정보를 기초로 상기 하나 이상의 소스 노드로부터 상기 하나 이상의 공간 세그먼트 스트림을 요청하도록 구성되고; 상기 수집 노드가 상기 하나 이상의 소스 노드로부터 하나 이상의 공간 세그먼트 스트림을 수신하도록 구성되며; 상기 하나 이상의 전달 노드가 상기 수집된 하나 이상의 공간 세그먼트 스트림을 수신하도록 구성될 수 있다.
다른 측면에 있어서, 본 발명은 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하여 구성되고; 상기 위치 정보를 기초로 상기 하나 이상의 소스 노드로부터 상기 하나 이상의 공간 세그먼트 스트림을 요청하도록 구성된 제어 기능과 관련될 수 있다.
본 발명은 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 클라이언트에 관한 것으로, 클라이언트는, 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하는 공간 매니페스트 데이터 구조를 수신하고; 하나 이상의 공간 세그먼트 스트림을 선택하고 상기 위치 정보를 기초로 상기 클라이언트에게 상기 하나 이상의 선택된 공간 세그먼트 스트림을 전송하도록 상기 콘텐츠 전달 네트워크의 적어도 하나의 전달 노드를 요청하며; 상기 적어도 하나의 전달 노드로부터 상기 하나 이상의 선택된 공간 세그먼트 스트림을 수신하기 위해 구성된다.
하나의 실시예에 있어서, 상기 클라이언트는 상기 하나 이상의 선택된 공간 세그먼트 스트림을 버퍼링하고; 상기 하나 이상의 공간 세그먼트 스트림과 관련된 동기화 정보를 수신하며; 및 상기 동기화 정보를 기초로 상기 하나 이상의 요청된 공간 세그먼트 스트림을 동기화하기 위해; 더 구성된다.
다른 실시예에 있어서, 상기 클라이언트는 상기 공간 매니페스트 데이터 구조에서의 위치 정보 상에 공간 세그먼트 프레임을 스티칭하기 위해 더 구성된다.
본 발명은 플레이-아웃 장치의 클라이언트, 바람직하기는 상기한 바와 같은 클라이언트에서 이용하기 위한 공간 매니페스트 데이터 구조에 더욱 관련되는 것으로, 상기 데이터 구조가 콘텐츠 전달 네트워크로부터 유래하는 공간적으로 세그먼트된 콘텐츠의 검색 및 디스플레이를 제어하고, 여기서 상기 데이터 구조가 소스 스트림의, 하나 이상의 공간 표현을 구비하고, 각 공간 표현은 하나 이상의 공간 세그먼트 스트림과, 상기 콘텐츠 전달 네트워크에 하나 이상의 전달 노드를 위치시키기 위한 위치 정보, 및 선택적으로, 디스플레이를 위해 비디오 프레임으로 상기 세그먼트 스트림의 공간 세그먼트 프레임을 스티칭하기 위한 위치 정보를 식별한다.
본 발명은 또한 콘텐츠 전달 네트워크, 바람직하기는 상기한 바와 같은 콘텐츠 전달 네트워크에 의해 이용하기 위한 공간 매니페스트 데이터 구조에 관한 것으로, 상기 공간 매니페스트 데이터 구조가 공간적으로 세그먼트된 콘텐츠의 수집을 제어하고, 여기서 상기 데이터 구조가 소스 스트림의 하나 이상의 공간 표현을 구비하고, 각 공간 표현은 하나 이상의 공간 세그먼트 스트림과, 상기 하나 이상의 소스 노드를 위치시키기 위한 위치 정보, 및 선택적으로, 디스플레이를 위해 비디오 프레임으로 상기 세그먼트 스트림의 공간 세그먼트 프레임을 스티칭하기 위한 위치 정보를 식별한다.
본 발명은 또한 컴퓨터의 메모리에서 실행될 때, 상기한 바와 같은 방법 단계 중 적어도 하나를 실행하기 위해 구성된 소프트웨어 코드부를 구비하여 구성되는 컴퓨터 프로그램 제품에 관한 것이다.
본 발명은 본 발명에 따른 실시예를 도식적으로 나타내는 첨부된 도면을 참조하여 더욱 설명된다. 본 발명은 어떠한 방법에 있어서도 이들 특정 실시예로 제한되지 않음이 이해될 것이다.
도 1은 본 발명의 실시예에 따른 세그먼트된 콘텐츠 전달 시스템을 나타낸 도면이다.
도 2a 내지 도 2e는 본 발명의 다양한 실시예에 따른 공간적으로 세그먼트된 콘텐츠의 발생 및 처리를 나타낸 도면이다.
도 3은 본 발명의 1실시예에 따른 SMF 데이터 구조를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 SMF의 일부의 예를 나타낸 도면이다.
도 5a 내지 도 5c는 본 발명의 실시예에 따른 공간적으로 세그먼트된 콘텐츠를 처리 및 디스플레이하도록 구성된 콘텐츠 처리 장치와의 사용자 상호작용의 프로세스를 나타낸 도면이다.
도 6a 및 도 6b는 본 발명의 다양한 실시예에 따른 공간적으로 세그먼트된 콘텐츠를 클라이언트에게 전달하기 위한 프로세스의 흐름도를 나타낸 도면이다.
도 7a 내지 도 7c는 본 발명의 다양한 실시예에 따른 SMF들의 부분을 나타낸 도면이다.
도 8a 및 도 8b는 이미지 프레임에서 공간 세그먼트 프레임(spatial segment frames)의 위치를 정의하기 위한 다른 좌표 시스템의 이용을 나타낸 도면이다.
도 9는 본 발명의 실시예에 따른 미디어 엔진(media engine)의 구조를 나타낸 도면이다.
도 10a 및 도 10b는 여러 스트리밍 프로토콜을 기초로 동기화되고(synchronized) 스티칭된(stitched) 공간 세그먼트 프레임을 나타낸 도면이다.
도 11은 본 발명의 실시예에 따른 공간적 세그먼트 콘텐츠를 동기화하기 위한 동기화 정보를 결정하기 위한 프로세스의 도면이다.
도 12는 2개의 다른 전달 노드로부터의 클라이언트 요청 콘텐츠(lient questing content)의 예를 나타낸 도면이다.
도 13은 본 발명의 실시예에 따른 공간적으로 세그먼트된 콘텐츠와의 사용자-상호작용(user-interaction)을 개선하기 위한 프로세스의 도면이다.
이하, 예시도면을 참조하면서 본 발명에 따른 각 실시예를 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 클라이언트에게 공간적으로 세그먼트된 콘텐츠를 전달하기 위한 콘텐츠 전달 시스템(100; content delivery system)을 나타낸 도면이다. 콘텐츠 전달 시스템은 콘텐츠 전달 네트워크(content delivery network ; CDN)(102), 콘텐츠 공급자 시스템(content provider system; CPS)(124), 및 다수의 클라이언트(104)를 구비하여 구성될 수 있다. CPS는, 터미널 상에서 호스트된 클라이언트를 이용해서 콘텐츠를 구매 및 수신할 수 있는, 소비자들에게, 콘텐츠, 예컨대 비디오 타이틀을 제공하도록 구성될 수 있다.
터미널은 일반적으로 콘텐츠 처리 장치(content processing device), 예컨대 전자 태블릿(electronic tablet), 스마트-폰, 노트북, 미디어 플레이어 등과 같은 (모바일) 콘텐츠 플레이-아웃 장치((mobile) content play-out device)와 관련될 수 있다. 몇몇 실시예에 있어서, 터미널은 콘텐츠 플레이-아웃 장치에 의한 미래의 소비를 위해 콘텐츠를 처리하고 일시적으로 저장하기 위해 구성된 콘텐츠 저장 장치 또는 셋-톱 박스일 수 있다.
콘텐츠의 전달은 전달 노드(1081-M) 및 적어도 하나의 수집 노드(1080; ingestion node)를 구비하여 구성되는 전달 네트워크(CDN)에 의해 실현된다. CDNCF(111; CDN control function)가 외부 콘텐츠 소스, 예컨대 콘텐츠 공급자(110; content provider) 또는 다른 CDN(도시되지 않았음)으로부터 콘텐츠를 수신하도록 구성된다. CDNCF는 전달 노드(delivery nodes)에 대해 콘텐츠의 하나 이상의 카피를 분배하도록 수집 노드를 더욱 제어할 수 있어 네트워크 전체에 걸쳐 터미널에 대해 콘텐츠 전달을 위한 충분한 대역폭이 보증된다. 하나의 실시예에 있어서, CDN은 ETSI TS 182 019에 개시된 바와 같은 CDN에 관련될 수 있다.
소비자는, 구매가능 콘텐츠를 식별하는 타이틀 레퍼런스(title references)를 제공하도록 구성된, 웹 포털(web portal; WP)(112)에 대해 요청(118; request)을 송신하는 것에 의해 콘텐츠 공급자로부터, 콘텐츠, 예컨대 비디오 타이틀을 구매할 수 있다. 요청에 응답하여, 클라이언트는, WP로부터 타이틀 레퍼런스의 적어도 일부 및 선택된 콘텐츠를 전달할 수 있는, CDN의 CDNCF의 위치 정보, 예컨대 URL을 수신할 수 있다. CDNCF는, 클라이언트에게 선택된 콘텐츠를 전달할 수 있는, CDN의 적어도 하나의 전달 노드와 관련된 클라이언트 위치 정보를 보낼 수 있다. 전형적으로, CDNCF는, 클라이언트에게 선택된 콘텐츠를 전달하기 위해 가장 적절한, CDN에서의 전달 노드를 선택하게 된다. 전달 노드를 선택하기 위한 기준은 클라이언트의 위치 및 전달 노드의 처리 부하를 포함할 수 있다.
클라이언트는 HTTP 및/또는 DNS 시스템을 포함하는 다양한 알려진 기술을 이용해서 CDN의 전달 노드를 접촉할 수 있다. 더욱이, 다양한 스트리밍 프로토콜(streaming protocols)이 클라이언트에게 콘텐츠를 전달하는데 이용될 수 있다. 이러한 프로토콜은 HTTP 및 RTP 타입 스트리밍 프로토콜을 포함할 수 있다. 바람직한 실시예에 있어서, HAS(HTTP adaptive streaming), DVB 적응형 스트리밍, DTG 적응형 스트리밍, MPEG DASH, ATIS 적응형 스트리밍, IETF HTTP Live 스트리밍 및 관련된 프로토콜과 같은 적응형 스트리밍 프로토콜(adaptive streaming protocol)이 이용될 수 있다.
CDN은 소위 공간적으로 세그먼트된 콘텐츠를 수집(ingest)하고 클라이언트에게 공간적으로 세그먼트된 콘텐츠를 분배(distribute)하도록 구성된다. 공간적으로 세그먼트된 콘텐츠는 소스 스트림(source stream), 예컨대 MPEG-형 스트림의 각 이미지 프레임을 다수의 공간 세그먼트 프레임으로 공간적으로 분할하는 것에 의해 발생될 수 있다. 이미지 프레임의 하나의 특정 영역과 관련된 공간 세그먼트 프레임의 타임 시퀀스(time sequence)는 개별 공간 세그먼트 스트림(separate spatial segment stream)에서 조직될 수 있다. 공간 세그먼트 스트림의 공간 세그먼트 프레임은 알려진 운송 콘테이너 포맷(transport container format)에 따라 포맷되고 공간 세그먼트 파일로서 메모리에 저장될 수 있다.
공간적으로 세그먼트된 콘텐츠의 수집(ingestion)을 취급하고 클라이언트에게 공간적으로 세그먼트된 콘텐츠를 전달하기 위해 CDNCF는, 이후 SMF(spatial manifest file)로 언급되는, 특정 데이터 구조를 이용한다. SMF는 zzzz.smf 파일 확장자를 이용해서 저장 및 식별될 수 있다. 클라이언트에 대해 CDN-기반의 공간적으로 세그먼트된 콘텐츠 전달에서 SMF의 이용이 이하 더욱 상세하게 설명된다.
도 2a 내지 도 2e는 본 발명의 실시예에 따른 공간적으로 세그먼트된 콘텐츠의 발생 및 처리를 나타낸 도면이다.
도 2a는 공간적으로 세그먼트하고 있는 콘텐츠를 발생시키기 위한 예시적 프로세스를 도식적으로 나타낸 도면이다. 콘텐츠 공급자는 클라이언트에게 CDN을 매개로 이러한 콘텐츠를 전달하기 위해 프로세스를 이용할 수 있다. 프로세스는 고-해상도 소스 스트림(220; high-resolution source stream)의 하나 이상의 더 낮은 해상도 버전을 발생시키는 이미지 처리 기능(image processing function)에 의해 시작될 수 있다. 그 후, 더 낮은 해상도 비디오 스트림의 각 이미지 프레임(222)은 개별의, 공간 세그먼트 프레임(2241-16)으로 분할되고, 여기서 각 공간 세그먼트 프레임은 이미지 프레임의 특정 영역과 관련된다. 원래의 소스 스트림의 이미지 프레임을 구성하기 위해 요구된 모든 공간 세그먼트 프레임은 이하 공간 세그먼트 그룹(spatial segment group)으로 언급된다.
하나의 실시예에 있어서, 공간 세그먼트 프레임은 공간 세그먼트 정보, 예컨대 그에 속하는 이미지 프레임의 특정 위치와 관련되는 정보인, 시퀀스 정보(예컨대, 타임 스탬프(time stamp)) 및 해상도 정보를 구비하여 구성되는 세그먼트 프레임 헤더를 구비하여 구성될 수 있다.
소스 스트림의 이미지 프레임의 하나의 특정 영역과 관련된 공간 세그먼트 프레임의 시퀀스는 이어 특정 포맷, 예컨대 AVI 또는 MPEG으로 인코드 되고, 공간 세그먼트 스트림(2261-16) 포맷으로 순서화된다. 각 공간 세그먼트 스트림은 공간 세그먼트 파일, 예컨대 xxxx.m2ts 또는 xxxx.avi로서 저장될 수 있다. 세그먼트화하는 동안, 이미지 처리 기능은 공간 세그먼트 스트림과 공간 세그먼트 스트림이 검색될 수 있는 곳을 나타내는 위치 정보 사이에서 공간 관계를 확립하기 위한 정보를 발생시킬 수 있다.
이는 세그먼트 그룹으로 이미지 프레임의 공간 분할이 도 2a에 도식적으로 도시된 것으로 한정되지 않음이 제기된다. 이미지 프레임은 동등한 디멘죤의 공간 세그먼트 프레임의 매트릭스를 정의하는 세그먼트 그룹으로 공간적으로 분할될 수 있다. 대안적으로, 다른 실시예에 있어서, 세그먼트 그룹의 공간 세그먼트 프레임은 다른 세그먼트 프레임 디멘죤, 예컨대 원래 이미지의 중앙과 관련된 작은 세그먼트 프레임과 이미지 프레임의 엣지(edges)에서 더 큰 크기로 된 공간 세그먼트 프레임을 갖을 수 있다.
도 2a에 도시된 공간 세그먼트 처리(spatial segmentation process)는 소스 스트림의 다른 해상도 버전을 위해 반복될 수 있다. 소스 스트림을 기초로, 이러한 방식에서, 다중 공간 표현(multiple spatial representations)이 발생될 수 있고, 여기서 각 공간 표현은 소스 파일의 소정의 공간적으로 세그먼트된 포맷과 관련될 수 있다.
각 공간 표현에서의 공간 세그먼트 스트림과 공간 세그먼트 스트림을 검색하기 위한 위치 정보, 예컨대 URL들 사이에서 공간 및/또는 일시적 관계를 확립하는 정보는 SMF(spatial manifest file)로서 계층적으로 순서화되고 저장될 수 있다. SMF의 구조는 도 3을 참조하여 상세하게 논의된다.
도 2b는 더욱 상세하게 본 발명의 하나의 실시예에 따른 CDN(200)의 적어도 일부를 나타낸 도면이다. CDN은, 각각 콘트롤러(2041-2) 및 전달 저장기(delivery storage; 2061- 2)를 구비하여 구성되는, 하나 이상의 전달 노드(2021-2)를 구비하여 구성될 수 있다. 수집 노드(ingestion node; 208)는, CDNCF의 제어 하에서, 콘텐츠 처리 엔티티(content processing entity; 210), 예컨대 콘텐츠 공급자(content provider) 또는 다른 CDN으로부터 공간적으로 세그먼트된 콘텐츠를 수신하도록 구성된다.
공간적으로 세그먼트된 콘텐츠를 수집하기 위해, CDNCF(212)는 콘텐츠 처리 엔티티(content processing entity)로부터 SMF를 수신할 수 있고, 여기서 SMF는, 콘텐츠 처리 엔티티와 관련된 공간적으로 세그먼트된 콘텐츠가 저장되는, 위치 정보, 예컨대 URL들을 구비하여 구성된다. SMF에서의 위치 정보를 기초로, CDNCF는 이어 수집 노드에 대해 공간 세그먼트 스트림의 반송을 개시할 수 있고, 이는 수집 캐시(ingestion cache; 214)에 대해 수집된 콘텐츠를 잠정적으로 저장하거나 버퍼할 수 있다.
CDNCF는 소정의 분배 기능(distribution function)에 따라 하나 이상의 전달 노드로 공간 콘텐츠 세그먼트 스트림의 카피들(copies)을 분배하기 위한 콘텐츠 배치 기능(content deployment function; 216)을 더 구비하여 구성될 수 있다. 기능은 알고리즘을 이용할 수 있고, 이는 처리 부하(processing load), 데이터 트래픽(data traffic), 및/또는 CDN의 전달 노드와 관련된 지형학적 근접 정보(geographical proximity information)를 기초로 CDN의 하나 이상의 전달 노드를 거쳐 공간적으로 세그먼트된 콘텐츠의 카피들을 분배하도록 할 수 있다.
따라서, 클라이언트로부터 콘텐츠 요청(content request)을 수신할 때, CDNCF는 하나 이상의 전달 노드를 선택할 수 있고, 이는 예컨대 클라이언트에 인접하고 큰 처리 부하를 경험하지 않는다. 하나의 SMF와 관련된 다른 공간 세그먼트 스트림은 CDN의 효율을 개선하기 위해 다른 전달 노드로 분배될 수 있다. 예컨대, 이미지 프레임의 중앙에 위치된 더욱-빈번하게 요청된 공간 세그먼트 스트림은 다중 전달 노드 상에 저장될 수 있는 한편, 이미지 프레임의 엣지에 위치된 덜-빈번하게 요청된 공간 세그먼트 스트림은 하나의 전달 노드 상에 저장될 수 있다.
수집된 공간적으로 세그먼트된 콘텐츠를 CDNCF가 전달 노드로 분배하면, CDNCF는 SMF의 위치 정보를 변경할 수 있음에 따라 변경된 SMF는 공간 세그먼트 스트림이 분배되는 전달 노드에 대해 레퍼런스(URL들)를 구비하여 구성된다. 따라서, 변경된 SMF는 CDNCF와 함께 SMF 저장기(218)에 저장된다.
도 2c 및 도 2d는 본 발명의 실시예에 따른 공간적으로 세그먼트된 콘텐츠를 수집하는 프로세스와 관련된 플로우차트 및 시퀀스 도이다. 도 2c에 도시된 바와 같이, 프로세스는 소스, 예컨대 콘텐츠 공급자, CDN 또는 다른 콘텐츠 처리 엔티티로부터 유래되는 콘텐츠 수집(content ingestion)을 위한 요청을 수신하는 CDNCF에 따라 시작할 수 있다(단계 230). 요청은 위치 정보, 예컨대 URL, 및 콘텐츠 식별자(content identifier)를 구비하여 구성될 수 있다. 응답에 있어서, CDNCF는 파일을 수신하고(단계 232), 이는 SMF(zzzz.smf) 또는 통상적인 비-세그먼트된 콘텐츠 파일(non-segmented content file) 중 어는 하나에 관련될 수 있다.
CDNCF가 SMF를 수신하면, 수신된 SMF를 토대로 공간적으로 세그먼트된 콘텐츠의 수집을 실행할 수 있다(단계 234). 수집 프로세스의 실행은, 공간 세그먼트 스트림과 관련된 위치 정보, 예컨대 URL을 검색하고 그리고 각 공간 세그먼트 스트림을 검색하도록 수집 노드(ingestion node)를 지시하고 수집 캐시(ingestion cache)에 수집된 스트림을 잠정적으로 저장하기 위해 SMF의 파싱(parsing)을 포함할 수 있다(단계 236).
처리 부하, 데이터 트래픽 및/또는 CDN에서 전달 노드와 관련된 지형학적 근접 정보를 기초로, CDN 배치 기능(deployment function)은 이때 하나 이상의 소정의 콘텐츠 전달 노드를 거쳐 공간 세그먼트 파일을 분배하고(단계 240) 이어서 다른 공간 세그먼트 파일이 저장되는 다른 전달 노드의 새로운 위치와 관련된 위치 정보를 부가하는 것에 의해 SMF를 갱신할 수 있다(단계 242). 선택적으로, URL이 또한 소스로 보내질 수 있다(단계 254).
CDNCF는 적어도 하나의 전달 노드를 갖는 갱신된(변경된) SMF를 저장하고(단계 244) 갱신된 SMF가 미래의 이용을 위해 검색될 수 있는 위치를 저장하기 위해 CDNCF와 관련된 SMF 테이블에서 새로운 엔티티를 발생시킬 수 있다(단계 246 및 248). 선택적으로, SMF를 위치시키기 위한 URL은 또한 소스로 보내질 수 있다(단계 254).
소스의 소스 수집 요청(source ingestion request)이 통상적인 비-세그먼트된 콘텐츠와 관련되면, CDN 배치 기능이 하나 이상의 전달 노드로 콘텐츠를 분배한 후, 콘텐츠는 수집 저장기(ingestion storage)에 잠정적으로 저장될 수 있다(단계 250). 저장된 파일과 관련된 URL이 나중의 검색을 위해 CDNCF에 따라 발생되고 저장될 수 있다(단계 252). 선택적으로, 콘텐츠를 위치시키기 위한 URL은 또한 소스로 보내질 수 있다(단계 254).
도 2d의 시퀀스 도는 더욱 상세히게 공간적으로 세그먼트된 콘텐츠를 수집하기 위한 프로세스의 실시예에 대해 도시한다. 본 예에 있어서, CDNCF 및 소스는 콘텐츠 수집을 제어하기 위해 HTTP-기반 프로토콜을 이용할 수 있다. 프로세스는 CDNCF로 콘텐츠 수집 요청을 보내는 소스에 따라 시작할 수 있고 여기서 요청은 Movie-4.smf로 명명된 SMF를 가리키는 URL을 구비하여 구성된다(단계 260). 공간 세그먼트 파일 위치(예컨대, 하나 이상의 URL들 형태로)를 검색하기 위해 CDNCF는 SMF를 검색하고(단계 262 및 264) SMF를 파싱할 수 있다(단계 268).
URL들을 이용하면, CDNCF는 SMF에서 식별된 공간 세그먼트 스트림, 예컨대 소스 저장 캐시(source storage cache)를 페치(fetch)하도록 CDN 수용 노드를 지시한다(단계 270). 공간 세그먼트 스트림을 수신한 후(단계 272-278), 수용 노드는 콘텐츠가 성공적으로 검색되었음을 CDNCF에게 통보할 수 있다(단계 280). 이어 CDNCF는 CDN의 전달 노드로 수집된 스트림의 카피를 분배할 수 있다. 예컨대, 처리 부하, 데이터 트래픽 및/또는 지형학적 근접 정보를 기초로, CDN 배치 기능은 분배 노드(DN2)로 4개의 공간적 세그먼트 스트림 Movie-4-1.seg, Movie-4-2.seg, Movie-4-3.seg 및 Movie-4-4.seg 그리고 DN1로 공간적 세그먼트 스트림 Movie-4-1.seg 및 Movie-4-3.seg의 카피를 분배하는 것에 대해 결정할 수 있다(단계 281).
전달 노드에 대한 분배 후, CDNCF는 공간적 세그먼트 스트림이 SMF에서 검색될 수 있는 전달 노드(이 경우에 있어서는 DN1 및 D2)의 위치를 삽입하는 것에 의해 SMF를 갱신할 수 있다(단계 282). 갱신된 SMF는 공간적 세그먼트 스트림과 함께 저장될 수 있다(단계 284 및 288). SMF의 위치는 CDNCF와 관련된 SMF 테이블에 저장될 수 있다(단계 286). 선택적으로, CDNCF는 갱신된 SMF와 관련된 위치 정보를 구비하여 구성되는 응답을 CDN에 의해 성공적 콘텐츠 수집을 나타내는 소스로 보낼 수 있다(단계 290).
도 2e는 도 2c 및 도 2d를 참조하여 설명된 바와 같이 공간적으로 세그먼트된 콘텐츠의 수집 전 및 후의 SMF의 일부의 예를 나타낸 도면이다. 소스로부터 수신된 SMF(292)는 콘텐츠 식별자, 세그먼테이션에 관한 정보, 예컨대 세그먼테이션의 형태, 다수의 세그먼트, 및 다른 공간 세그먼트 파일로부터의 공간 세그먼트 사이의 공간 관계를 구비하여 구성될 수 있다. 예컨대, 도 2e의 예시적 SMF의 콘텐츠는 공간적 세그먼트 스트림이 소스 파일 Movie_4를 기초로 발생되었음을 나타낸다. SMF는 더욱이 4개의 분리 공간 세그먼트 스트림 Movie-4-1.seg, Movie-4-2.seg, Movie-4-3.seg 및 Movie-4-4.seg이 소스 도메인에서 소정의 위치 cache.source.com/res/에 저장됨을 나타낸다.
공간 세그먼트 파일의 수집 후, CDNCF는 공간 세그먼트 스트림 Movie-4-1.seg 및 Movie-4-3.seg를 구비하여 구성되는 제1 전달 노드 cache_1.cdn_A/res/와 모든 4개의 공간 세그먼트 스트림 Movie-4-1.seg, Movie-4-2.seg, Movie-4-3.seg 및 Movie-4-4.seg를 구비하여 구성되는 제2 전달 노드 cache_2.cdn_Ares/를 가리키는 URL들의 형태로 갱신된 공간 세그먼트 위치를 구비하여 구성되는 갱신된 SMF(294)를 발생시킬 수 있다.
따라서, 상기로부터 SMF는 CDN으로 공간적으로 세그먼트된 콘텐츠의 제어된 수집을 허용함을 따른다. 수집 후, SMF는 공간 세그먼트 스트림이 검색될 수 있는 CDN에서의 위치를 식별한다. 이하 더욱 상세히 설명되어지는 바와 같이, SMF는 더욱이 클라이언트가 공간적으로 세그먼트 스트림을 검색하고 그와 상호작용할 수 있도록 할 수 있다. 특히, SMF는 디스플레이된 콘텐츠와의 클라이언트-제어 사용자-상호작용(client-controlled user-interaction)(예컨대, 줌잉, 패닝 및 틸팅 동작)을 허용한다.
도 3은 본 발명의 하나의 실시예에 따른 SMF 데이터 구조(300)를 도식적으로 나타낸다. SMF는 여러 계층적 데이터 레벨(302,308,318,328)을 구비하여 구성될 수 있고, 여기서 제1 레벨(302)은 소스 스트림(예컨대, source1.m2ts)의 하나 이상의 소위 공간 표현(3061-3)을 정의하는 공간 구성 정보(spatial composition information)와 관련될 수 있다. 전형적으로, 소스 스트림은 고해상도(high-resolution)이고, 종종 광각 비디오 스트림(wide-angle video stream)일 수 있다.
다음의 데이터 레벨(308)은 공간 표현을 정의하는 공간 표현 정보(spatial representation information)와 관련될 수 있다. 특히, 공간 표현 정보는 소스 스트림의 특정 버전, 예컨대 해상도 버전과 관련된 공간 세그먼트 스트림의 세트 사이의 공간 관계를 정의할 수 있다.
공간 표현 정보는 공간 맵(spatial map; 311)에 배열된 공간 세그먼트 스트림 인스턴스의 세트(set of spatial segment stream instances; 3121-4)를 구비하여 구성될 수 있다. 하나의 실시예에 있어서, 맵은, 소스 스트림에 의해 반송된 콘텐츠의 적어도 일부를 구비하여 구성되는 이미지의 구성을 허용하는, 공간 세그먼트 스트림 인스턴스의 (행 및 열을 구비하여 구성되는) 매트릭스를 정의할 수 있다.
공간 세그먼트 스트림 인스턴스는 위치 기준 시스템(positional reference system) 내에서 세그먼트의 위치를 정의하는 세그먼트 위치(segment position; 3131- 4)와 관련될 수 있다. 예컨대, 도 3은 공간 세그먼트 스트림 인스턴스의 매트릭스를 도시하고, 여기서 세그먼트 위치 (1,1) 및 (1,2)와 관련된 공간 세그먼트 스트림 인스턴스는 소스 스트림에서 비디오 이미지의 상부 좌측 및 상부 우측 영역과 관련된 콘텐츠로 언급될 수 있다. 이들 2개의 세그먼트 스트림 예를 기초로, 비디오 이미지는 소스 파일에서 비디오 이미지의 상부 반(top half)과 관련된 콘텐츠를 갖추어 구성될 수 있다.
공간 표현 정보는 소스 스트림의 해상도 버전을 나타내는 소스 해상도(300)를 더 구비하여 구성될 수 있고, 이는 공간 맵에서 언급된 공간 세그먼트 스트림을 발생시키는데 이용된다. 예컨대, 도 3에 있어서 공간 맵에서 언급된 공간 세그먼트 스트림은 소스 스트림의 4096×2160 해상도 버전을 기초로 발생될 수 있다.
공간 표현 정보는 공간 맵에서 언급되는 공간 세그먼트 스트림의 해상도를 정의하는 세그먼트 해상도(314)(도 3의 예에서 2048×1080 해상도)와 공간 맵에서의 공간 세그먼트 스트림이 클라이언트에게 전송되는 비트율을 정의하는 세그먼트 비트-스트림 율(segment bit-stream rate; 316)을 더 구비하여 구성될 수 있다.
다음의 데이터 레벨(318)은 공간 세그먼트 정보, 예컨대 공간 맵에서 공간 세그먼트 스트림 인스턴스와 관련된 정보와 관련될 수 있다. 공간 세그먼트 정보는 공간 세그먼트 스트림(324)에서 공간 세그먼트 프레임과 관련된 위치 좌표(position coordinates)를 포함할 수 있다. 위치 좌표는 절대(absolute) 또는 상대(relative) 좌표 시스템(coordinate system)을 기초로 할 수 있다. 공간 맵에서 언급된 공간 세그먼트 스트림의 공간 세그먼트 프레임의 위치 좌표는 디스플레이를 위해 끊김 없는 비디오 이미지로 인접하는 공간 세그먼트 프레임의 경계를 공간적으로 정렬하도록 클라이언트에 의해 이용될 수 있다. 이 프로세스는 종종 "스티칭(stitching)"으로 언급된다.
공간 세그먼트 정보는 전달 노드를 위치시키기 위한 하나 이상의 공간 세그먼트 스트림 위치기(spatial segment stream locators; 326,328)(예컨대, 하나 이상의 URL들)을 더 포함할 수 있고, 이는 클라이언트에게 특정 공간 세그먼트 스트림을 전송하도록 구성된다. 공간 세그먼트 정보는 또한, 어느 프로토콜(예컨대, RTSP 또는 HTTP)이 클라이언트에게 스트림의 전송을 제어하기 위해 이용되는가를 나타내는, 프로토콜 정보와, 클라이언트에 의해 수신된 다른 세그먼트 스트림을 동기화하도록 클라이언트의 동기화 모듈을 위한 동기화 정보(synchronization information; 330,332)를 구비하여 구성될 수 있다.
상기한 스티칭 및 동기화 프로세스는 도 9 내지 도 11을 참조하여 이하 더욱 상세히 설명된다.
SMF는 다른 공간 표현에서 공간 세그먼트 스트림에 대한 하나의 공간 표현에서 공간 세그먼트 스트림을 관련시키기 위한 표현간 정보(inter-representation information; 334)를 더 구비하여 구성될 수 있다. 표현간 정보는 클라이언트가 다른 표현을 통해 효과적으로 브라우즈(browse)할 수 있도록 한다.
도 4는 본 발명의 실시예에 따른 (의사(pseudo)-)XML을 이용하는 (고해상도) 소스 파일의 공간적으로 세그먼트된 비디오 표현의 세트를 정의하는 SMF의 일부의 예를 나타낸다. 이 SMF는 소스 파일 sourcel.m2ts를 기초로 다른 공간 표현(본 경우에 있어서는 3개)을 정의한다.
도 4의 SMF에서 제1 공간 표현은 단일의 1024×540 픽셀 해상도 비-세그먼트된 비디오 스트림 (segment_mode==OFF)를 정의한다. 클라이언트는 제1 공간 표현에서 정의된 URL rtsp://video.content.com/full_stream.avi를 이용해서 스트림을 검색할 수 있다.
SMF의 제2 공간 표현은, 4개의 공간 세그먼트 스트림 인스턴스를 구비하여 구성되는 2×2 매트릭스 (NumberOfColumns, NumberOfRows)로 공간적으로 세그먼트된, 4096×2160 해상도 소스 스트림과 관련되고, 각각은 2048×1080 세그먼트 해상도의 분리 공간 세그먼트 스트림(separate spatial segment stream)과 관련되고 각각은 URL에 의해 접근가능하다. 예컨대, 세그먼트 위치 (1,1)과 관련된 제1 세그먼트 스트림은 URL rtsp://video. content.com/stream1_1.avi를 이용해서 RTSP 서버로부터 요청될 수 있다.
SMF는 공간 세그먼트 스트림과 관련된 동기화 정보를 정의할 수 있다. 예컨대, 도 4의 SMF는 RTSP 서버를 위한 소정의 RTP 옵셋 값(offset value)을 정의하고, 이는 클라이언트에게 공간 세그먼트 스트림 stream1_1.avi를 전송하도록 구성된다. RTSP 서버는 클라이언트에게 공간 세그먼트 스트림을 스트리밍하기 위해 RTP 프로토콜을 이용한다. 통상적으로, RTP 스트림에서 연속되는 RTP 패킷은 시작 값(starting value)으로서 랜덤 옵셋 값(random offset value)을 이용해서 RTSP 서버에 의해 타임-스탬프된다(time-stamped). 초기 옵셋 값(initial offset value)에 관한 지식은 클라이언트에서 다른 공간 세그먼트 스트림을 동기화하기 위해 필요로 된다.
따라서, 클라이언트가 다른 RTSP 서버로부터 유래하는 다른 RTP 스트림을 동기화하는 것을 가능하게 할 수 있도록 하기 위해, 클라이언트는, RTP 타임 스탬핑의 시작 값으로서 요청에서 소정의 RTP 옵셋을 이용하도록 각 서버를 지시하는, 다른 RTSP 서버로 요청에서의 소정의 RTP 옵셋 값을 보낼 수 있다. 이 방법은, 클라이언트가 RTSP 서버로부터 유래하는 타임-스탬프된 RTP 스트림 사이의 잠정적 관계를 결정할 수 있다.
더욱이, SMF에서 제3 공간 표현은 소스 스트림의 7680×4320 해상도 버전에 관련될 수 있고, 이는 16 공간 세그먼트 스트림 인스턴스를 구비하여 구성되는 매트릭스로 세그먼트되며, 각각은 1920×1080 해상도 공간 세그먼트 스트림과 관련되고 각각은 소정의 URL을 매개로 접근가능하다.
바람직하기는, 공간적 세그먼트 스트림의 애스펙트 비(aspect ratio) 및 해상도는, 매크로 블록(macro block) 및 슬라이스 크기(slice sizes)와 같은, 공통 비디오 인코딩 및 디코딩 파라미터와 일치한다. 부가하여, 공간 세그먼트 스트림의 해상도는 충분한 비디오 코딩 이득(video coding gain)을 유지하는 것에 대해 충분히 커야 한다.
도 5a 내지 도 5c는 본 발명의 실시예에 따른 공간적으로 세그먼트된 콘텐츠를 처리하고 디스플레이하도록 구성된 콘텐츠 처리 장치(content processing device)와 상호작용하는 사용자의 처리를 나타낸 도면이다.
도 5a는 하나 이상의 전달 노드(5041,5042)로부터 공간 세그먼트 스트림을 직접적으로 검색하도록 구성된 클라이언트(502)를 구비하여 구성되는 콘텐츠 처리 장치(501)를 나타낸다. 각 전달 노드는 콘트롤러(5221,5222)와 공간 세그먼트 스트림을 저장하기 위한 전달 저장기(5241,5242)를 구비하여 구성될 수 있다.
콘텐츠 처리 장치의 디스플레이는 콘텐츠의 디스플레이와 사용자 입력(520)의 수신(reception) 양쪽을 허용하는 대화형(interactive) GUI(graphical user interface; 509)로서 구성될 수 있다. 이러한 사용자 입력은 비디오 데이터의 줌잉(zooming), 틸팅(tilting) 및 패닝(panning)과 같은 콘텐츠 조작 행위를 포함하는 디스플레이된 콘텐츠에 따른 사용자-상호작용과 관련될 수 있다. 이러한 GUI들은 기술이 잘 알려진 터치-스크린 기능성을 구비하는 디스플레이를 포함한다.
클라이언트는 CDN으로부터 SMF(503)를 수신하기 위해 그리고 GUI를 매개로 수신된 사용자 입력 및 SMF의 정보를 기초로 미디어 엔진(507) 및 억세스 엔진(508)을 제어하기 위해 구성된 제어 엔진(505)을 구비하여 구성될 수 있다. 이러한 사용자 입력은 디스플레이된 콘텐츠, 예컨대 줌잉 행위를 갖는 사용자-상호작용과 관련될 수 있다. 이러한 사용자-상호작용은 SMF에서의 위치 정보(URL들)를 이용해서 공간적으로 세그먼트된 콘텐츠를 검색하도록 억세스 엔진(예컨대, HTTP 또는 RTSP 클라이언트)을 지시하기 위해 제어 엔진을 시작할 수 있다.
도 5b는 더욱 상세하게 GUI를 통해 클라이언트에 따른 사용자 상호작용을 도식적으로 나타낸다. 특히, 도 5a는 도 5b에 도식적으로 도시된 바와 같이 디스플레이(514)의 특정 영역(512)(관심 영역 또는 ROI)을 선택하는 사용자를 도식적으로 나타낸다. 선택된 ROI의 크기 및 좌표를 기초로, 제어 엔진은 SMF으로부터 적절한 공간 표현을 선택할 수 있다. 적절한 공간 표현을 선택하기 위한 프로세스는 도 5c를 참조하여 더욱 상세하게 설명된다.
도 5b의 예에 있어서, 제어 엔진은 16 공간 세그먼트 스트림 인스턴스의 매트릭스를 구비하여 구성되는 SMF으로부터 공간 표현을 선택할 수 있고, 여기서 각 공간 세그먼트 스트림 인스턴스는 (디스플레이(514)에서 점선에 의해 도식적으로 나타낸 바와 같이) 디스플레이에서 특정 영역과 관련된 콘텐츠와 관련된다. 이어 제어 엔진은 선택된 공간 표현의 공간 세그먼트 스트림 인스턴스와 관련된 공간 영역과 ROI 간에서 중첩(overlap)을 결정할 수 있다.
이러한 방식에서, 도 5b의 예에 있어서, 제어 엔진은 4개의 공간 세그먼트 스트림 인스턴스(회색 음영 공간 세그먼트 스트림 인스턴스 S2, 1;S3 , 1;S2 , 2;S3 , 2)가 ROI와 중첩됨을 결정할 수 있다. 이러한 방식에서 4개의 공간 세그먼트 스트림(5151-4)은 사용자에게 ROI(512)의 콘텐츠를 디스플레이하는 새로운 비디오 스트림(516)의 구성을 허용하는 제어 엔진에 의해 식별된다. ROI를 구비하여 구성되는 식별된 공간 세그먼트 스트림 인스턴스는 이하 공간 세그먼트 서브그룹(spatial segment subgroup)으로 언급된다.
도 5a를 참조하면, 공간 세그먼트 서브그룹을 결정한 후, 제어 엔진(505)은 식별된 공간 세그먼트 스트림을 전달하도록 구성된 전달 노드에 대해 억세스를 요청하기 위해 억세스 엔진을 지시할 수 있다(본 예에서는 2개의 전달 노드가 식별되었음). 이어 억세스 엔진은 클라이언트에게 공간 세그먼트 스트림을 전송하도록 전달 노드(5041 및 5042)의 콘트롤러에 대해 요청(5111-2)을 보낼 수 있다(본 예에서는 각 전달 노드가 클라이언트에게 2개의 공간 세그먼트 스트림(5131-2 및 5151-2)을 전달한다). 억세스 엔진(508)은 전송된 공간 세그먼트 스트림을, 공간 세그먼트 서브그룹의 공간 세그먼트 스트림을 버퍼링, 동기화 및 디코딩하고, ROI를 구비하는 비디오 이미지에 대해 디코드된 공간 세그먼트 프레임을 스티칭하기 위한 처리 기능을 구비하여 구성될 수 있는, 미디어 엔진(507)에 대해 진행하게 할 수 있다.
도 5c는 본 발명의 실시예에 따른 SMF를 기초로 공간적으로 세그먼트된 콘텐츠의 사용자-상호작용(user-interaction) 및 플레이-아웃(play-out)을 위한 흐름도를 나타낸 도면이다. 특히, 도 5c는 흐름도를 나타낸 것으로, 여기서 사용자가 ROI를 선택하는 것에 의해 줌잉 행위를 시작한다.
프로세스는 SMF를 수신하고 디폴트(default)로서, 예컨대 소스 스트림의 낮은 대역폭 비-세그먼트된 버전(low bandwidth un-segmented version)으로서 공간 표현 중 하나를 선택하는 클라이언트, 특히 클라이언트의 제어 엔진에 따라 시작할 수 있다(단계 530). 더욱이, 제어 엔진은 디폴트 값, 전형적으로 풀 디스플레이 크기(full display size)에 대응하는 값에 대해 ROI를 설정할 수 있다(단계 532). 제어 엔진이 ROI 요청을 수신하면, 이는 잠정적 리스트 상에 공간 표현의 전부 또는 적어도 일부를 두고 "점검되지 않았음(unchecked)"으로서 공간 표현을 표시한다(단계 534). 제어 엔진은 이어 프로세스를 시작하고, 여기서 점검되지 않은 공간 표현이 리스트로부터 취해지고(단계 536) 점검된 것으로 표시된다(단계 538). SMF를 기초로, 제어 엔진은 이어 선택된 공간 표현에 대해 공간 세그먼트 서브그룹이 존재하는가, 예컨대 공간 세그먼트 스트림 인스턴스가 ROI를 구비하는 것과 관련되는가의 여부를 결정할 수 있다(단계 540).
공간 표현 정보(spatial representation information) 및 관련된 공간 세그먼트 정보를 이용하면, 제어 엔진은 식별된 공간 세그먼트 서브그룹이 플레이-아웃을 위한 요구, 예컨대 대역폭, 코덱 지원 등과 매치되는가의 여부를 더욱 검증할 수 있다(단계 542). 플레이-아웃 요구가 일치되면, 다음의 "점검되지 않은(unchecked)" 공간 표현이 처리된다. 플레이-아웃 요구가 일치되지 않으면, 제어 엔진은 리스트로부터 공간 표현을 제거할 수 있다(단계 546). 그 후, 리스트 상의 모든 공간 표현이 처리될 때까지 다음의 점검되지 않은 공간 표현이 처리된다(단계 544).
이어, 리스트 상의 모든 공간 표현을 점검한 후, 클라이언트는 리스트가 비워져 있는가를 점검할 수 있다(단계 547). 리스트가 비워져 있다면, 클라이언트는 이전의 ROI와 공간 표현이 선택을 위해 이용가능한가의 여부에 대해 결정할 수 있다(단계 548). 그렇다면, 해당의 이전의 ROI는 플레이-아웃을 위해 선택될 수 있다(단계 549). 이용가능한 이전의 ROI가 없다면, 에러 메시지가 발생될 수 있다(단계 550). 대안적으로, 점검된 공간 표현을 갖는 리스트가 비워져 있지 않으면, 콘텐츠 에이전트(content agent)는 플레이-아웃 기준, 예컨대 스크린 해상도, 품질, 인코딩, 대역폭 등, 및 해당 선택된 공간 표현에 대한 이어지는 변화를 가장 잘 매치하는 리스트로부터 공간 표현을 선택할 수 있다(단계 552).
제어 엔진은 이어 새롭게 선택된 공간 표현을 이용해서 공간적으로 세그먼트된 스트림의 플레이-아웃을 위한 프로세스를 실행할 수 있다(단계 554). 해당 경우에 있어서, 제어 엔진은 공간 세그먼트 서브그룹을 결정할 수 있고(단계 556) 공간 세그먼트 서브그룹의 공간 세그먼트 스트림이 검색될 수 있는 위치 정보를 결정할 수 있다(단계 558). 공간 세그먼트 스트림을 검색한 후(단계 560), 그들은 플레이-아웃을 위해 처리되는데(단계 562), 예컨대 ROI를 구비하는 비디오 이미지의 스트림을 형성하기 위해 버퍼되고, 동기화되며, 스티치된다.
공간적으로 세그먼트된 콘텐츠의 플레이-아웃 동안, 제어 엔진은 더욱 ROI 요청을 검색하도록 구성될 수 있고, 예컨대 사용자가 GUI를 매개로 더욱 ROI를 선택한다. 만약 이러한 신호가 검출되면(단계 564), 적절한 공간 표현의 리스트를 구축하고 점검하기 위한 상기한 프로세스가 다시 시작될 수 있다.
따라서, SMF에서 공간 표현은 다른 ROI들을 선택하기 위해, 그리고 SMF에서 하나 이상의 공간 표현에서 정의된 다른 공간 세그먼트 스트림을 선택하도록 클라이언트를 갖추는 것에 의해 비디오 이미지에서 줌하기 위해 사용자를 허용한다. SMF는 CDN에서의 전달 노드로부터 공간적으로 세그먼트된 콘텐츠를 직접 요청하도록 클라이언트를 허용한다. 이러한 직접 검색은, 서비스의 품질 및 최적 사용자 경험을 전달하기 위한 필요성이 요구되는, 콘텐츠에 대한 빠른 억세스를 제공한다.
따라서, 충실도(fidelity)의 손실을 초래하는 이미지의 선택된 픽셀을 단순히 확대하는 것(enlarging) 및 상향 크기조정하는 것(up-scaling) 대신, 클라이언트는 원하는 공간 표현으로 효과적으로 전환(switch)하도록 SMF를 단순히 이용할 수 있다. 예컨대, 소스 스트림의 예컨대 960×640 해상도 버전과 관련된 공간 표현이 선택될 수 있고, 따라서 좌상한(top-left quarter)은 480×320 픽셀 해상도의 공간 세그먼트 스트림을 이용해서 디스플레이된다. 이러한 방식에 있어서, 선택된 공간 표현은 전체 디스플레이를 알맞게 하기 위해 상세하게 존재하는 상향-크기조정하는 것을 기초로 통상적인 디스플레이 줌잉 상황과 비교할 경우 줌잉할 때 실제적으로 더욱 상세하게 보도록 사용자를 허용할 수 있다. SMF에서 다른 공간 표현은 충실도를 손상시키는 것 없이 그리고 대역폭의 과도한 양을 요구하는 것 없이 특정 ROI에 대해 줌(zoom)하도록 사용자를 허용할 수 있다.
도 6a는 본 발명의 실시예에 따른 클라이언트에게 공간적으로 세그먼트된 콘텐츠를 전달하기 위한 프로세스의 흐름도를 나타낸다. 이러한 특정의 실시예에 있어서, SMF는 공간 세그먼트 스트림과 동일한 전달 노드(DN) 상에 저장된다.
프로세스는 특정 미디어 파일 ashd31.asf을 선택하는 클라이언트에 따라 시작할 수 있고(단계 602), 콘텐츠 공급자 시스템(content provider system; CPS)(본 경우에는 YouTube™)에게 선택된 미디어 파일에 대한 참조를 구비하도록 HTTP GET를 보낸다(단계 604). CPS는 응답에 있어서 요청된 미디어 파일과 관련된 SMF를 얻기 위해 CDN의 CDNCF에 대해 방향지정(redirect)을 발생시킬 수 있다(단계 606 및 608). 응답에 있어서, CDNCF는 요청된 SMF가 저장되는 콘텐츠 전달 노드에 대해 방향지정을 발생시킬 수 있다(단계 609 및 610). 전달 노드는 이어 클라이언트에게 요청된 SMF를 보낼 수 있다.
이어 도 5c를 참조하여 상기한 바와 같이, 클라이언트는 사용자로부터 ROI 요청을 수신할 수 있고(단계 612) - 응답에 있어서 - 클라이언트는 원하는 공간 표현을 선택하고, 공간 세그먼트 서브그룹, 예컨대 선택된 ROI를 구비하는 공간 세그먼트 스트림 인스턴스를 결정하기 위한 프로세스를 개시할 수 있다(단계 614).
클라이언트는, 저장된 SMF를 구비하는 전달 노드에 따라, 스트리밍 세션(streaming sessions), 예컨대 RTSP 스트리밍 세션을 설정할 수 있다(단계 616 및 618). 요청된 공간 세그먼트 스트림을 수신하면(단계 620 및 622), 클라이언트는 선택된 ROI를 구비하는 비디오 이미지의 구성을 위해 공간 세그먼트 스트림을 처리할 수 있다(단계 624).
도 6b는 본 발명의 다른 실시예에 따른 클라이언트-제어된 공간적으로 세그먼트된 콘텐츠 전달(client-controlled spatially segmented content delivery)의 흐름도를 나타낸다. 이 경우에 있어서, 공간 세그먼트 스트림은 다른 전달 노드(D1 및 D2) 상에 저장된다. 해당 경우에 있어서, 프로세스는 도 6a와 동일한 방법으로 시작할 수 있다. 프로세스는 특정 미디어 파일 ashd31.asf를 선택하는 클라이언트에 따라 시작할 수 있고(단계 630), 콘텐츠 공급자 시스템(content provider system; CPS)(본 경우에는 YouTube™)에게 선택된 미디어 파일에 대한 참조를 구비하는 HTTP GET를 보낸다(단계 632). 응답에 있어서 CPS는 요청된 미디어 파일과 관련된 SMF를 얻기 위해 CDN의 CDNCF에 대해 방향지정(redirect)을 발생시킬 수 있다(단계 634 및 636). 그 후, CDNCF는 CDNCF와 관련된 SMF 저장기로부터 SMF를 검색할 수 있다. SMF는 도 2e에 관하여 설명된 것과 유사한 포맷을 갖을 수 있다. 특히, 적어도 몇몇 공간 세그먼트 스트림에 대해, SMF는 2 이상의 전달 노드를 정의할 수 있다.
따라서, 해당 경우에 있어서 CDNCF는 각 공간 세그먼트 스트림에 대해 결정을 해야만 하고, 이는 전달 노드가 클라이언트에게 공간 세그먼트 스트림을 전송하기 위해 가장 적절하다. 예컨대, 클라이언트의 위치를 기초로 몇몇 전달 노드는 다른 것들을 거치는 것이 바람직할 수 있다. 더욱이, 몇몇 전달 노드는 폭주 문제(congestion problems) 또는 과중한 처리 부하(heavy processing loads)에 기인하여 회피될 수 있다. 이러한 방식에 따르면, 저장된 SMF를 기초로, CDNCF는 가장 적절한 전달 노드를 각 공간 세그먼트 스트림을 위한 클라이언트를 위해 선택하는 것에 의해 "개인(personal)" SMF를 발생시키게 된다(단계 638). 이 개인 SMF는 클라이언트에게 보내진다(단계 640).
클라이언트는 사용자로부터 ROI 요청을 수신할 수 있다(단계 642). 이어, 개인 SMF를 기초로, 클라이언트는 원하는 공간 표현을 선택하고, 공간 세그먼트 서브그룹을 결정하며, 클라이언트에게 공간 세그먼트 서브그룹의 공간 스트림을 전송하기 위한 전달 노드의 위치를 결정하기 위해 프로세스를 개시할 수 있다(단계 644).
그 후, 클라이언트는, 클라이언트에게 공간 세그먼트 스트림을 전송하기 위해, 본 경우에는 각각 제1 및 제2 전달 노드(D1 및 D2)인, 다른 식별된 전달 노드에 따라, 스트리밍 세션, 예컨대 RTSP 스트리밍 세션을 설정할 수 있다(단계 646-652). 요청된 공간 세그먼트 스트림을 수신하면(단계 650 및 652), 클라이언트는 선택된 ROI를 구비하는 비디오 이미지의 구성을 위해 공간 세그먼트 스트림을 처리할 수 있다(단계 654). 따라서, 도 6b의 처리에 있어서, 클라이언트는 SMF를 수신하게 되고, 이는 전달 노드 등의 부하를 처리하는, CDN 환경, 예컨대 클라이언트-전달 노드 거리 및 특정 클라이언트에 따라 최적화된다.
도 6a 및 도 6b에 있어서 SMF 검색이 HTTP를 기초로 설명되는 반면, SIP/SDP, SIP/XML, HTTP/XML 또는 SOAP와 같은 다양한 프로토콜이 이용될 수 있다. 더욱이, 공간 세그먼트 스트림을 위한 요청은 예컨대 RTSP/SDP, SIP/SDP, SIP/XML, HTTP, IGMP를 기초로 할 수 있다. 세그먼트 전달은 IP-Multicast를 거쳐 DVB-T, DVB-H, RTP, HTTP (HAS) 또는 UDP/RTP를 기초로 할 수 있다.
소스 콘텐츠 스트림의 다중 공간 표현을 정의하는 SMF는 CDN에서의 콘텐츠의 수집(ingestion) 및/또는 CDN으로부터 클라이언트로 콘텐츠 전달을 위한 효과적인 툴(tool)을 제공할 수 있다. 이는 클라이언트가 ROI와 관련된 공간 세그먼트 스트림을 효과적으로 결정하고 CDN에서의 전달 노드를 위한 이들 공간 세그먼트 스트림을 직접적으로 검색할 수 있도록 한다. 이는 CDN 및 CDN과 클라이언트를 연결하는 억세스 라인에서 대역폭의 과도한 양을 소비하는 것 없이 콘텐츠와 상호작용(예컨대, 줌잉 및 패닝)하도록 사용자를 위한 효과적인 방법을 더욱 허용한다. SMF는 공간적으로 세그먼트된 콘텐츠를 제어하는 다른 유리한 방법을 위해 허용됨이 명백하다.
도 7의 A 내지 C는 본 발명의 다양한 실시예에 따른 SMF의 적어도 일부를 나타낸다. 도 7의 A는 본 발명의 하나의 실시예에 따른 SMF의 일부를 나타낸다. 특히, 도 7의 A의 SMF는 디스플레이되는 이미지의 공간 세그먼트 프레임의 공간 위치를 정의한다. 이러한 방법에 의하면, 예컨대 특정 공간 세그먼트 스트림의 공간 세그먼트 프레임의 좌측 아래쪽 코너는 절대 디스플레이 위치(absolute display position; 1000,500)와 관련될 수 있다.
이러한 좌표 시스템의 이용은 중첩되도록 인접하는 공간 세그먼트 스트림의 세그먼트 프레임을 허용하고, 그에 의해 개선된 패닝 및 줌잉 방법을 가능하게 한다. 예컨대, 중첩은 인접하는 공간 세그먼트 스트림으로 전환될 때 더 스므스한 패닝 동작을 제공할 수 있다.
도 7의 B는 표현간 정보(inter-representation information)를 구비하는 본 발명의 실시예에 따른 SMF의 일부를 나타낸다. 각각 다중 공간 세그먼트(multiple spatial segment)를 정의하는 많은 수의 공간 표현을 구비하는 공간적으로 세그먼트된 콘텐츠 내에서 줌잉할 때, 다른 공간 표현의 해상도 버전 및 특정 ROI와 관련된 공간 세그먼트 스트림에 대한 원하는 하나 이상의 레퍼런스를 찾기 위해 계산적으로 고가로 될 수 있다.
이들 상황에 대해 이는 다른 공간 표현 사이에서의 상관에 관한 정보를 또한 구비하도록 SMF를 구성하기에 유용할 수 있고, 여기서 각 공간 표현은 공간적으로 세그먼트된 비디오 콘텐츠의 특정 해상도 버전과 관련된다. 예컨대, 제1 공간 표현의 디스플레이 위치(1000,500)에서 공간 세그먼트 스트림은 제2 공간 표현의 디스플레이 위치(500,250)에서 공간 세그먼트 스트림 및 제3 공간 표현의 디스플레이 위치(250,125)에서 공간 세그먼트 스트림과 관련된다.
표간현 정보는 도 7의 A를 참조하여 설명된 바와 같이 절대 픽셀 좌표 시스템과 결합될 때 특히 유리할 수 있다. 표현간(inter-representation)은 예컨대 줌잉 동작 동안 ROI와 적절한 공간 표현을 매칭하는 것을 간단하게 할 수 있다.
도 7의 C는 본 발명의 실시예에 따른 SMF의 일부를 나타내고, 여기서 정규화 픽셀 좌표(normalized pixel coordinates)가 선택된 해상도 버전과 관계없이 공간 표현과 관련된 이미지 프레임 내의 절대 위치를 정의하는 비디오 이미지 프레임의 중앙으로서 선택된다. 이러한 정규화 좌표 시스템은 원점(origin)으로서 (0.5,0.5)를 이용해서 0부터 1까지의 범위일 수 있다. 이러한 정규화 좌표 시스템의 이용은 줌잉 동작 동안 SMF 내의 다른 공간 표현 사이에서 더 간단한 전환을 허용한다.
도 8a 및 도 8b는 이미지 프레임의 공간 세그먼트 프레임의 위치를 정의하기 위한 다른 좌표 시스템의 이용을 더 나타낸다. 도 8a는 여러 좌표 시스템, 예컨대 행 및 열을 기초로 하는 위치결정 시스템(802), 절대 좌표 시스템(804), 및 이미지 프레임의 세그먼트 프레임을 위치결정하기 위한 정규화 좌표 시스템(806)을 나타낸다. 도 8b는 공간 세그먼트 스트림 인스턴스의 매트릭스를 구비하는 단일 공간 표현을 나타내고, 그에 의해 인접하는 공간 세그먼트 프레임이 중첩(예컨대, 50% 중첩)된다.
다른 전달 노드로부터 유래되는 개별적으로 전송된 공간 세그먼트 스트림을 기초로 콘텐츠를 처리 및 디스플레이하기 위해, 특정 기능성이 클라이언트에서 구현되는 것이 필요로 된다. 특히, (CDN의 전달 노드와 같은) 다른 전송 노드로부터 유래하는 공간 세그먼트 스트림의 프레임 레벨 동기화(frame level synchronization)가 필요로 되어 개별 공간 세그먼트 프레임은 디스플레이를 위해 단일 이미지 프레임으로 스티치될 수 있고, 여기서 이미지 프레임은 ROI를 구비하여 구성된다.
동기화가 클라이언트 사이에서 데이터 교환에 따라 요구되고 전달 노드는 다양한 원점의 네트워크에서 알 수 없는 지연, 예컨대 전송 지연(transmission delays), 네트워크 경로에서의 차이 및 코딩 및 디코딩 지연에서의 차이를 겪게 된다. 결과적으로, 요청이 하나의 생산되어지는 비디오와 관련된 공간 세그먼트 스트림의 전송의 다른 시작 시간을 유도하는 다른 시간에서 다른 전달 노드에서 도달할 수 있다.
Mavlankar 등은 동기화된 방법으로 동시에 타이틀화된 비디오 스트림을 디스플레이하기 위해 미디어 플레이어의 다중 인스턴스(multiple instances)를 이용한다. 그러나, 이러한 솔루션은, 스마트 폰, 태블릿 등과 같은, 많은 저전력 미디어 처리 장치에 대해 적절하지 않다. 이들 장치는 일반적으로 동시에 실행되는 단일 디코더 인스턴스(single decoder instance)만을 허용한다. 더욱이, Mavlankar는 다른 전달 노드로부터 유래하는 다중 세그먼트 스트림을 동기화하는 문제를 언급하지 않는다. 특히, Mavlankar는 새로운 공간 세그먼트 스트림의 요청과 공간 세그먼트 스트림의 수신 사이에서 지연이 존재하고 이 지연이 CDN의 다른 전달 노드 사이에서 변경될 수 있다는 문제를 언급하지 않는다.
버퍼링 및 동기화 문제는 단일 운송 콘테이너(single transport container)에 공간 세그먼트 스트림을 캡슐화하는 것에 의해 회피되거나 적어도 상당히 감소될 수 있다. 그러나, 다른 전달 노드에서 클라이언트로 직접적으로 스트림되도록 개별 공간 세그먼트 스트림을 허용하지 않으므로 단일 콘테이너에서의 공간 세그먼트 스트림의 운송은 공간적으로 세그먼트된 콘텐츠의 스트리밍의 유연성(flexibility)을 상당히 감소시킨다. 따라서, 공간적으로 세그먼트된 콘텐츠를 위한 제안된 방법의 이점을 유지하기 위해, 공간 세그먼트 스트림의 스트리밍 동기화가 요구된다.
도 9는 본 발명의 다양한 실시예에 따른 공간 세그먼트 프레임을 동기화, 디코딩, 및 공간 정렬하기 위해 구성된 미디어 엔진(902)의 개요도이다. 미디어 엔진은 도 5a를 참조하여 설명된 바와 같이 클라이언트에 포함될 수 있다.
미디어 엔진(902)은 다중 패킷화된 공간 세그먼트 스트림(multiple packetized spatial segment streams; 9061- 4)을 버퍼링하기 위한 다중 적응형 버퍼 인스턴스(multiple adaptive buffer instances)를 구비하는 버퍼(903)를 구비하여 구성될 수 있다. 동기화 정보를 이용하면, 공간 세그먼트 스트림에서의 패킷을 동기화하기 위해 동기화 엔진(910)은 버퍼를 제어할 수 있다.
동기화 정보는 공간 세그먼트 스트림의 패킷의 헤더(headers)에서 타이밍 정보(timing information)를 구비하여 구성될 수 있다. 이러한 타이밍 정보는, 스트림에서 이미지 프레임의 상태 위치(relative position)를 나타내는, 타임 스탬프, 예컨대 RTP 타임 스탬프를 포함할 수 있다. 타이밍 정보는 또한 RTSP 서버와 클라이언트 사이에서 교환된 RTP 타임 스탬프 정보와 관련될 수 있다. 다른 실시예에 있어서, 타이밍 정보는 타임 세그먼트, 예컨대 HTTP DASH 매니페스트 파일(manifest file) 및 타임 스탬프된 프레임(예컨대, MPEG)에서 특정된 DASH 타임 세그먼트 또는 이러한 DASH 타임 세그먼트에 포함된 순차적으로 넘버링된 프레임(예컨대, AVI)과 관련될 수 있다.
도 4를 참조하여 이미 설명된 바와 같이, 동기화 정보(911), 예컨대 RTP 옵셋 값(offset value)은 또한 SMF(913)에 포함되고 동기화 모듈로 제어 엔진(915)에 의해 보내질 수 있다. 다른 실시예에 있어서, 동기화 정보(917)가 동기화 엔진으로 대역 내(in-band) 또는 대역 외(out-of-band) 채널에서 보내질 수 있다.
타이밍 정보는 버퍼 모듈의 하나 이상의 적응형 버퍼 인스턴스(adaptive buffer instances)를 제어하는데 이용될 수 있다. 예컨대, 다른 공간 세그먼트 스트림의 타이밍 정보를 기초로 적응형 버퍼 인스턴스에 대한 시간 지연이 결정될 수 있어 버퍼의 출력이 시간-정렬된(예컨대, 시간-동기화된) 패킷을 발생시킬 수 있다.
버퍼의 출력에서 동기화된 패킷은 소위 GOP들(groups of pictures)로 논리적으로 배열되는 프레임을 구비하는 시간-동기화된 패킷의 스트림(stream of time-synchronized packets; 912)으로 멀티플렉서(도시되지 않았음)에 의해 멀티플렉스될 수 있어, 디코더(916)는 디코드된 공간 세그먼트 프레임(920)의 스트림으로 패킷을 순차적으로 디코드할 수 있다. 다른 실시예에 있어서, 미디어 엔진은 버퍼로부터 유래되는 데이터를 디코딩하기 위해 2 이상의 디코더(920)를 구비하여 구성될 수 있다.
하나의 실시예에 있어서, 디코드된 세그먼트 프레임은 공간 세그먼트 서브그룹(9211-4)의 시퀀스로 순서화될 수 있다. 스티칭 엔진은 각 공간 세그먼트 서브그룹과 관련된 공간 세그먼트 프레임을 ROI를 구비하는 비디오 이미지 프레임으로 스티치할 수 있다. 사용자에게 디스플레이하기 위해 공간 세그먼트 서브그룹의 공간 세그먼트 스트림을 끊김 없는 비디오 이미지 프레임(922)으로 공간적으로 정렬하기 위해, 스티칭 엔진은, 예컨대 SMF에서의 위치 좌표를 이용할 수 있다.
이미지 스티칭의 프로세스는 공간 세그먼트 서브그룹의 공간 세그먼트 프레임을 공간적으로 정렬하는 것에 의한 공간 세그먼트 프레임을 기초로 비디오 이미지를 재생산(reproducing)하는 기술을 포함한다. 다른 실시예에 있어서, 이미지 등록(image registration), 조정(calibration) 및 브렌딩(blending) 같은 이미지-처리 기술은 스티칭 프로세스를 개선하는데 이용될 수 있다. 이미지 등록은 2개의 인접하는 공간 세그먼트 프레임 사이에서 이미지 특징을 매칭시키는 것을 포함할 수 있다. 직접 정렬 방법은 중첩되는 픽셀들 사이에서 SAD(sum of absolute differences)를 최소화하는 이미지 정렬을 위한 검색에 이용될 수 있다. 이미지 조정은 이미지 사이의 광학 차이 및/또는 왜곡을 최소화하는 것을 포함할 수 있고 블렌딩(blending)은 노출 차이(exposure differences)에 대해 보상하기 위해 이미지 사이에서 컬러(colours)를 조정하는 것을 포함할 수 있다.
도 10a 및 도 10b는 다른 스트리밍 프로토콜을 기초로 동기화되고 스티치된 공간 세그먼트 프레임을 나타낸다. 특히, 도 10a는 하나의 이미지 프레임으로 동기화되고 스티치된 공간 세그먼트 프레임(본 예의 경우 4개)을 나타내고, 여기서 공간 세그먼트 프레임은 적응형 스트리밍 프로토콜, 예컨대 MPEG DASH ISO-IEC_23001-6 v 12에서 정의된 바와 같은 HAS(HTTP adaptive stream) 프로토콜을 이용해서 클라이언트에게 운송된다.
각 HAS-형 공간 세그먼트 스트림은 N개의 동등하게 크기조정된 잠정적 세그먼트(N equally sized temporal segments)(이하, 공간-잠정 세그먼트(spatio-temporal segments) 또는 ST 세그먼트로 칭함)로 분할될 수 있다. 각 ST 세그먼트는 공간 세그먼트 스트림에서 특정 주기, 예컨대 2-4초와 관련된다. 공간 세그먼트 스트림의 ST 세그먼트의 위치는 세그먼트 번호(segment number)를 단조롭게 증가(또는 감소)시키는 것에 의해 결정된다.
각 ST 세그먼트는 소정 수의 순차적(sequential) 공간 세그먼트 프레임을 더 구비하여 구성되고, 여기서 ST 세그먼트의 공간 세그먼트 프레임의 위치는 (사용된 운송 콘테이너에 따라) 타임 스탬프 또는 프레임 번호(frame number)를 단조롭게 증가시키는 것에 의해 결정될 수 있다. 예컨대, 각 번호가 매겨진 ST 세그먼트는 소정 수의 단조롭게 번호가 매겨지거나 타임 스탬프된 공간 세그먼트 프레임을 구비하여 구성될 수 있다. 따라서, HAS-형 공간 세그먼트 스트림(또는 ST 세그먼트 스트림)의 각 공간 세그먼트 프레임의 (잠정적) 위치는 해당 ST 세그먼트 내의 세그먼트 번호 및 프레임 번호에 의해 유일하게 결정된다.
동등한 길이의 ST 세그먼트의 공간 세그먼트 스트림의 분할은, GOP(Group of Pictures)의 길이 및 구조, 비디오 프레임 율, 및 각각의 개별 공간 세그먼트 스트림을 위한 전체 비트 율과 같은, 비디오 인코딩 파라미터를 이용하는 것에 의해 용이하게 될 수 있다.
HAS-형 공간 세그먼트 스트림의 잠정적 포맷, 예컨대 각 TS 세그먼트와 관련된 시간 주기, TS 세그먼트의 다수의 프레임 등은 HAS 매니페스트 파일에서 설명될 수 있다(도 3을 참조하면, 여기서 HTTP 공간 세그먼트 스트림은 HAS 매니페스트 파일에 따라 정의된다). 따라서, HAS-형의 공간적으로 세그먼트된 콘텐츠에 있어서, SMF는 콘텐츠의 공간 포맷을 정의할 수 있고, 콘텐츠의 잠정적 포맷을 정의하기 위해, 또 다른 매니페스트 파일인, HAS 매니페스트 파일에 대해 언급될 수 있다.
ST 세그먼트된 콘텐츠의 공간 세그먼트 프레임의 동기화 및 스티칭은 도 10a에 도시된 바와 같이 세그먼트 번호 및 프레임 번호를 기초로 실현될 수 있다. 예컨대, 미디어 엔진의 버퍼가 4개의 개별 ST 세그먼트 스트림(10021-4)을 수신하면, 동기화 엔진은 세그먼트 번호(도 10a에서 시간 세그먼트 번호(time segment number) N) 및 프레임 번호(도 10a에서 세그먼트 프레임 번호(segment frame number) #M)에 따라 ST 세그먼트 스트림을 처리할 수 있다. 예컨대, 동기화 엔진은 매트릭스 위치 (1,1)(1,2)(2,1)(2,2)와 관련된 각 ST 세그먼트 스트림에 대해 결정할 수 있고, 특정 세그먼트 번호 및 프레임 번호와 관련된 공간 세그먼트 프레임은 동기화 엔진에 의해 선택되고 버퍼의 출력으로 보내진다.
버퍼의 출력에서 인코드된 공간 세그먼트 프레임은 디코드될 수 있고 디코드된 공간 세그먼트 프레임은 도 9를 참조하여 설명된 것과 유사한 방법으로 디스플레이하기 위해 비디오 이미지로 스티치될 수 있다.
도 10b는 하나의 이미지 프레임으로 동기화되고 스티치되는 공간 세그먼트 프레임(본 예에서는 4개)을 나타내고, 여기서 공간 세그먼트 프레임은 RTP/RTSP 스트리밍 프로토콜을 이용해서 클라이언트에게 운송된다. 해당 경우에 있어서, 버퍼는 타임-스탬프된 RTP 패킷을 구비하여 구성되는 4개의 RTP 스트림을 수신할 수 있다. RTP 타임 스탬프의 값은 단조롭게 증가하고 랜덤 RTP 옵셋 값에 따라 시작할 수 있다. 따라서, 다른 RTP-형 공간 세그먼트 스트림의 공간 세그먼트 프레임 사이의 관계를 결정하기 위해, RTP 옵셋 값의 지식이 요구된다.
이하 더욱 상세히 설명되는 바와 같이, 특정 공간 세그먼트 스트림을 위한 RTSP 서버를 요청할 때, RTSP 서버는 클라이언트에게 RTP 타임 스탬프 정보를 보낼 수 있다. 이러한 RTP 타임 스탬프 정보를 기초로 랜덤 RTP 옵셋 값이 결정될 수 있다. 대안적으로, 특정 공간 세그먼트 스트림을 요청할 때, 요청은 특정한 소정의 RTP 옵셋 값을 구비하여 구성될 수 있고, 이는 RTSP 서버가 클라이언트에게 스트리밍을 하기 위해 이용되게 된다. 이러한 소정의 RTP 옵셋 값은 SMF에서 정의될 수 있다(예컨대, 도 3 참조).
따라서, 동기화 엔진은 버퍼된 공간 세그먼트 스트림과 관련된 RTP 옵셋 값을 수신할 수 있다. 이들 RTP 옵셋 값은 SMF(1006)에서 결정될 수 있다. RTP 옵셋 값을 이용하면, 동기화 엔진은 이어 각각의 공간 세그먼트 스트림의 RTP 패킷 간의 관계를 결정할 수 있다. 예컨대, 도 10b에 있어서, 동기화 엔진은 4개의 다른 공간 세그먼트 스트림(10041-4)과 관련된 4개의 RTP 옵셋 값을 수신할 수 있다. 이들 옵셋 값을 이용하면, 동기화 엔진은 이어 각각의 버퍼된 공간 세그먼트 스트림에서 패킷을 결정할 수 있다. 예컨대, 공간 세그먼트 스트림(1,1)에서 RTP 타임스탬프(8000)(및 RTP 옵셋(4000))을 구비하는 RTP 패킷은, RTP 타임스탬프 6000 및 RTP 옵셋 2000을 구비하는 공간 세그먼트 스트림(1,2)의 RTP 패킷과, RTP 타임스탬프 11000 및 RTP 옵셋 7000을 구비하는 공간 세그먼트 스트림(2,1)의 RTP 패킷, 및 RTP 타임스탬프 5000 및 RTP 옵셋 값 1000을 구비하는 공간 세그먼트 스트림(2,2)의 RTP 패킷에 속한다.
동기화 엔진은 이들 패킷을 버퍼의 출력으로 보낼 수 있다. 그 후 도 9를 참조하여 설명된 것과 유사한 방법으로 패킷이 공간 세그먼트 프레임으로 디코드되고 디스플레이를 위해 비디오 이미지로 스티치된다.
상기한 동기화 프로세스는 2 이상의 공간 세그먼트 스트림을 기초로 끊김 없는 비디오 이미지를 구축하기 위해 요구되는 공간 이미지 프레임의 프레임-레벨 동기화(frame-level synchronization)를 허용한다.
덜 정확한 NTP 클럭 정보(clock information)에 의존하는, 소위 RTCP Sender Reports의 이용과 같은 다른 알려진 동기화 구조는 공간 세그먼트 스트림의 동기화를 위해 적절하지 않다.
도 11은 본 발명의 실시예에 따른 공간적 세그먼트 스트림을 동기화하기 위한 동기화 정보를 결정하기 위한 프로세스(1100)를 나타낸다. 특히, 도 11은 다른 공간 세그먼트 스트림과 관련된 RTP 옵셋 값을 결정하기 위한 프로세스를 나타낸다. 프로세스는, 클라이언트 시작에 대해 제1 공간 세그먼트 스트림 stream1_1RTSP를 스트리밍하는 것을 시작하도록 RTP 서버를 요청하는, 제1 전달 노드(DN1)로 RTSP PLAY 요청을 보내는 클라이언트에 따라 시작할 수 있다. RTSP PLAY 요청에서의 범위 파라미터(range parameter)는 스트림의 위치 t=10초에서 스트리밍을 시작하도록 RTSP 서버를 지시한다(단계 1102). 응답에 있어서, DN1은 요청을 실행함을 확인하는 클라이언트에게 RTSP 200 OK 응답을 보낸다. 더욱이, 응답에서 RTP-info field는 스트림의 제1 패킷이 RTP 타임 스탬프 5000을 갖게 됨을 나타낸다(단계 1104). 이어, 100프레임/초의 스트리밍 클럭율(streaming clock rate)을 기초로, 클라이언트는 1000(예컨대, 100×10초)의 예상된 RTP 타임 스탬프를 계산할 수 있다. 4000의 RTP 옵셋 값은 이어 예상된 RTP 타임스탬프로부터 수신된 RTP 타임 스탬프를 감산하는 것에 의해 결정될 수 있다(단계 1106).
유사한 방법으로, t=20초에서 클라이언트는 이어 제2 전달 노드(DN2)로부터 또 다른 공간 세그먼트 스트림 stream 1_2을 요청할 수 있다(단P 1108). 응답에 있어서, DN2는 제1 RTP 패킷이 RTP 타임 스탬프 7000을 갖게 됨을 나타내는 클라이언트에게 RTSP 200 OK 메시지를 보낸다(단계 1110). 이러한 정보를 이용하면, 클라이언트는 이어 제2 공간 세그먼트 스트림을 위한 RTP 타임스탬프 옵셋이 5000임을 결정할 수 있다(단계 1112). 따라서, 클라이언트와 전달 노드 사이에서 RTSP 시그널링(signalling)에서의 RTP 타이밍 정보를 기초로, 클라이언트는 각 공간 세그먼트 스트림과 관련된 RTP 옵셋 값을 효과적으로 결정할 수 있다.
상기로부터, SMF는 클라이언트가 직접적으로 CDN의 다른 전달 노드에 억세스할 수 있도록 하여 빠른 콘텐츠 전달이 달성됨을 추구한다. 디스플레이된 공간적으로 세그먼트된 콘텐츠에 따라 양호한 사용자-상호작용, 예컨대 줌잉 및 패닝을 허용하기 위해 빠른 콘텐츠 전달이 요구된다. 그러나, 콘텐츠의 요청 및 수신 사이에서 몇몇 지연은 불가피하다. 이들 지연은 또한 CDN의 다른 전달 노드 사이에서 다를 수 있다. 도 12는 2개의 다른 전달 노드(DN1 및 DN2)로부터 클라이언트 요청 콘텐츠의 예를 나타낸다.
t=0에서 클라이언트는 DN1으로 RTSP PLAY 요청을 보낼 수 있다(단계 1202). 요청에 응답하여, DN1은 클라이언트에게 RTP 패킷을 보내는 것을 시작할 수 있다(단계 1204). 몇몇 지연에 기인하여, t=0와 관련된 RTP 패킷은 t=1에서 클라이언트에 의해 수신될 수 있다. 마찬가지로, t=1에서 전송된 RTP 패킷은 t=2에서 클라이언트에 의해 수신되게 되고, t=2에서 전송된 RTP 패킷은 t=3에서 클라이언트에 의해 수신되게 된다. 그 순간, 클라이언트는 제1 RTP 패킷 t=0의 플레이-아웃을 시작하도록 결정할 수 있고(단계 1206), 반면 다른 2개의 RTP 패킷 t=1 및 2는 여전히 버퍼된다.
이어, RTP 패킷 t=1의 플레이-아웃을 시청하는 동안, 사용자는 패닝 동작을 요청하도록 t=4에서 결정할 수 있다. 이러한 요청에 응답하여, 클라이언트는 t=4(예컨대, 범위 파라미터가 t=4로 설정됨)로부터 시작하는 제2 전달 노드(DN2)로부터 소정의 공간 세그먼트 스트림의 스트리밍을 요청할 수 있다(단계 1208). 그러나, DN2는 더 느린 응답 시간을 갖추고, 따라서 이는 클라이언트에게 t=6에서 RTP 패킷 t=4를 보낸다(단계 1210). 이러한 지연에 기인하여, 클라이언트는 단지 t=7에서 DN2로부터 유래하는 공간 세그먼트 스트림을 디스플레이하는 것이 가능하고(단계 1212), 3초 후 사용자는 패닝 요청을 개시한다. 따라서, 구조는 가능한 한 많은 지연의 효과를 감소시키도록 요구된다.
도 13은 본 발명의 실시예에 따른 공간적으로 세그먼트된 콘텐츠와의 사용자-상호작용을 개선하기 위한 프로세스를 나타낸다. 특히, 도 13은 도 12를 참조하여 설명된 것과 유사한 2개의 전달 노드(예컨대, 1초의 응답을 갖는 제1 전달 노드(DN1) 및 2초의 응답 지연을 갖는 더 느린 제2 전달 노드(DN2)) 및 클라이언트를 나타낸다.
시작 위치 t=0으로부터 제1 공간 세그먼트 스트림을 스트리밍하는 것을 시작하도록 DN1을 요청하는 것 후(단계 1302), 클라이언트는 (예컨대, 버퍼된 2개의 RTP 패킷을 갖추는 것 후) t=3에서 RTP 패킷의 플레이-아웃을 시작할 수 있다(단계 1304). 이어, RTP 패킷 t=1의 플레이-아웃을 시청하는 동안, 사용자는 패닝 동작을 요청하도록 t=4에서 결정할 수 있다. 이러한 요청에 응답하여, 클라이언트는 제2 전달 노드(DN2)로 2개의 RTSP PLAY 요청: (RTSP PLAY 요청에서의 범위 파라미터를 이용해서) 위치 t=4s로부터 시작하는 제2 공간 세그먼트 스트림을 스트리밍하는 것을 시작하도록 제2 전달 노드를 요청하는 제1 RTSP PLAY 요청(단계 1306)과; (RTSP PLAY 요청에서의 범위 파라미터 및 SPEED 파라미터를 이용해서) 실시간 보다 더 빠른 스트리밍 율에서 위치 t=1에서 위치 t=4까지 제2 공간 세그먼트 스트림을 스트리밍하는 것을 시작하도록 DN2를 요청하는 제2 RTSP PLAY 요청(단계 1308);을 보낼 수 있다.
응답에 있어서, (t=6에서) 제2 전달 노드는 클라이언트에게 증가된 율로 RTP 패킷 t=1,2,3,4을 보내는 것을 시작할 수 있고(단계 1310) 따라서 t=6에서 클라이언트는 제2 전달 노드로부터 RTP 패킷 t=3의 플레이-아웃을 시작할 수 있다(단계 1312). 동시에, 제1 RTSP PLAY 요청은 정상적인 비율에서 RTP 패킷의 전송을 개시할 수 있어, 클라이언트 플레이-아웃이 t=4에서 도달하면, 증가된 비율에서 RTP 패킷의 전달이 종료될 수 있다. 이러한 방식에 따르면, 사용자는 2초의 지연을 갖는 패닝 동작을 주목하게 되고, 따라서 네트워크 지연에 기인하는 사용자-상호작용의 영향을 감소시킨다.
증가된 비율에서 RTP 패킷의 잠정적 전달은 주문형 비디오(Video-on-Demand) 상황에서 이용될 수 있다. 실시간 보다 더 빠른 스트리밍을 허용하지 않는, 라이프-스트리밍(life-streaming) 상황에 대해, 다른 솔루션이 이용될 수 있다. 해당 경우에 있어서, IEFT 문헌 "Unicast-based rapid acquisition of multicast RTP sessions" http://tools.ietf.org/html/draft-ietf-avt-rapid-acquisition-for-rtp-17에서 설명된 바와 같은 IP-Multicast를 기초로 하는 빠른-채널 변경 기술(fast-channel change techniques)이 이용될 수 있다.
어떠한 하나의 실시예와 관련하여 설명된 소정의 특징은 단독으로, 또는 설명된 다른 특징과 조합하여 이용될 수 있고, 또한 소정의 다른 실시예의 하나 이상의 특징과 조합하여, 또는 소정의 다른 실시예의 소정의 조합으로 이용될 수 있음이 이해되어진다.
본 발명의 하나의 실시예는 컴퓨터 시스템과 함께 이용하기 위한 프로그램 제품으로서 구현될 수 있다. 프로그램 제품의 프로그램(들)은 (여기서 설명된 방법을 포함하는) 실시예의 기능을 정의하고 다양한 컴퓨터-판독가능 저장 매체 상에 포함될 수 있다. 이에 한정되는 것은 아니지만, 실례로 되는 컴퓨터-판독가능 저장 매체는: (i) 정보가 영구적으로 저장되는 비-재기록가능 저장 매체(예컨대, CD-ROM 드라이브에 의해 판독가능한 CD-ROM 디스크와 같은 컴퓨터 내의 ROM(read-only memory) 장치, ROM 칩 또는 소정 형태의 고체-상태 비-휘발성 반도체 메모리)와; (ii) 변경가능 정보가 저장되는 재기록가능 저장 매체(예컨대, 디스크 드라이브 내의 플로피 디스크 또는 하드-디스크 드라이브 또는 고체-상태 랜덤- 억세스 반도체 메모리);를 포함한다. 본 발명은 상기한 실시예로 한정되는 것은 아니고, 첨부되는 청구항의 범위 내에서 변경될 수 있다.

Claims (13)

  1. 클라이언트가, 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하는 공간 매니페스트 데이터 구조를 수신하는 단계로서, 상기 공간 매니페스트 데이터 구조가 디스플레이를 위해 비디오 프레임으로 상기 공간 세그먼트 스트림의 공간 세그먼트 프레임을 스티칭하기 위한 위치 정보를 더 갖추어 이루어지는, 단계와;
    적어도 하나의 상기 공간 표현과 관련된 하나 이상의 공간 세그먼트 스트림을 선택하고, 상기 위치 정보를 기초로, 상기 클라이언트에게 상기 적어도 하나의 선택된 공간 세그먼트 스트림을 전달하도록 상기 콘텐츠 전달 네트워크와 관련된 적어도 하나의 전달 노드를 요청하는 단계; 및
    상기 적어도 하나의 전달 노드로부터 상기 하나 이상의 선택된 공간 세그먼트 스트림을 수신하는 단계로서, 상기 적어도 하나 이상의 요청된 선택된 공간 세그먼트 스트림이 HTTP 적응형 스트리밍 프로토콜을 이용해서 상기 클라이언트에게 전송되고, 상기 공간 세그먼트 스트림의 적어도 일부가 시간 세그먼트(time segments)로 분할되는, 단계;를 갖추어 이루어지고,
    공간 매니페스트 데이터 구조가 소스 스트림의 하나 이상의 공간 표현을 정의하는 공간 구성 정보와 관련되는 제1 데이터 레벨과, 소스 스트림의 공간 표현을 정의하는 공간 표현 정보와 관련되는 제2 데이터 레벨, 및 공간 맵에서 공간 세그먼트 스트림 인스턴스와 관련된 공간 세그먼트 정보와 관련되는 제3 데이터 레벨을 포함하는 계층적 데이터 레벨을 구비하여 구성되고,
    상기 위치 정보가 공간 세그먼트 스트림의 공간 세그먼트 프레임과 관련된 위치 좌표인 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 공간 매니페스트 데이터 구조가 상기 소스 스트림의 제1 해상도 버전과 관련된 적어도 제1 공간 표현과 상기 소스 스트림의 제2 해상도 버전과 관련된 적어도 제2 공간 표현을 구비하여 구성되는 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  4. 제3항에 있어서,
    상기 공간 매니페스트 데이터 구조가 제1 다수의 공간 세그먼트 스트림과 관련된 제1 공간 표현을 구비하고, 상기 제2 공간 표현이 제2 다수의 공간 세그먼트 스트림을 구비하는 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 선택된 공간 세그먼트 스트림을 버퍼링하는 단계와;
    상기 하나 이상의 공간 세그먼트 스트림과 관련된 동기화 정보를 수신하는 단계;
    상기 동기화 정보를 기초로 상기 하나 이상의 요청된 공간 세그먼트 스트림을 동기화하는 단계;를 더 갖추어 이루어진 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  6. 제1항에 있어서,
    상기 위치 정보를 기초로 플레이-아웃을 위해 연속적인 비디오 프레임으로 상기 공간적으로 정렬된 공간 세그먼트 프레임을 스티칭하는 단계를 갖추어 이루어진 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  7. 제1항에 있어서,
    상기 하나 이상의 공간 세그먼트 스트림이 RTP 스트리밍 프로토콜을 이용해서 상기 클라이언트에게 전송되고, 동기화 정보가 RTSP 시그널링 메시지로 상기 클라이언트에게 전송되는 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  8. 제1항에 있어서,
    인접하는 공간 세그먼트 프레임이 중첩하는 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  9. 제8항에 있어서,
    상기 중첩이 50%인 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  10. 제1항에 있어서,
    상기 공간 매니페스트 데이터 구조가 제1 다수의 공간 세그먼트 스트림과 관련된 제1 공간 표현을 구비하고, 제2 공간 표현이 제2 다수의 공간 세그먼트 스트림을 구비하는 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  11. 제5항에 있어서,
    상기 위치 정보를 기초로 플레이-아웃을 위해 연속적인 비디오 프레임으로 상기 공간적으로 정렬된 공간 세그먼트 프레임을 스티칭하는 단계를 갖추어 이루어진 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법.
  12. 컴퓨터의 메모리에서 실행될 때, 청구항 제1항, 제3항 내지 제9항 중 어느 한 항에 따른 방법 단계를 실행하기 위해 구성된 소프트웨어 코드부를 구비하여 구성되는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
  13. 클라이언트가, 소스 스트림의, 각각이 하나 이상의 공간 세그먼트 스트림과 상기 클라이언트에게 상기 하나 이상의 공간 세그먼트 스트림을 전송하도록 구성된 콘텐츠 전달 네트워크와 관련된 하나 이상의 전달 노드를 위치시키기 위한 위치 정보를 식별하는, 하나 이상의 공간 표현을 구비하는 공간 매니페스트 데이터 구조를 수신하는 단계로서, 상기 공간 매니페스트 데이터 구조가 디스플레이를 위해 비디오 프레임으로 상기 공간 세그먼트 스트림의 공간 세그먼트 프레임을 스티칭하기 위한 위치 정보를 더 갖추어 이루어지는, 단계와;
    적어도 하나의 상기 공간 표현과 관련된 하나 이상의 공간 세그먼트 스트림을 선택하고, 상기 위치 정보를 기초로, 상기 클라이언트에게 상기 적어도 하나의 선택된 공간 세그먼트 스트림을 전달하도록 상기 콘텐츠 전달 네트워크와 관련된 적어도 하나의 전달 노드를 요청하는 단계; 및
    상기 적어도 하나의 전달 노드로부터 상기 하나 이상의 선택된 공간 세그먼트 스트림을 수신하는 단계로서, 상기 적어도 하나 이상의 요청된 선택된 공간 세그먼트 스트림이 HTTP 적응형 스트리밍 프로토콜을 이용해서 상기 클라이언트에게 전송되고, 상기 공간 세그먼트 스트림의 적어도 일부가 시간 세그먼트(time segments)로 분할되는, 단계;를 갖추어 이루어지되,
    상기 위치 정보를 기초로 플레이-아웃을 위해 연속적인 비디오 프레임으로 상기 공간적으로 정렬된 공간 세그먼트 프레임을 스티칭하는 단계를 더 갖추어 이루어지고,
    공간 매니페스트 데이터 구조가 소스 스트림의 하나 이상의 공간 표현을 정의하는 공간 구성 정보와 관련되는 제1 데이터 레벨과, 소스 스트림의 공간 표현을 정의하는 공간 표현 정보와 관련되는 제2 데이터 레벨, 및 공간 맵에서 공간 세그먼트 스트림 인스턴스와 관련된 공간 세그먼트 정보와 관련되는 제3 데이터 레벨을 포함하는 계층적 데이터 레벨을 구비하여 구성되고,
    상기 위치 정보가 공간 세그먼트 스트림의 공간 세그먼트 프레임과 관련된 위치 좌표인 것을 특징으로 하는 공간적으로 세그먼트된 콘텐츠를 처리하기 위한 방법
KR1020157031010A 2011-06-08 2012-06-07 공간적으로-세그먼트된 콘텐츠 전달 KR101781717B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11169068 2011-06-08
EP11169068.1 2011-06-08
PCT/EP2012/060801 WO2012168365A1 (en) 2011-06-08 2012-06-07 Spatially-segmented content delivery

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020137030584A Division KR20140016357A (ko) 2011-06-08 2012-06-07 공간적으로-세그먼트된 콘텐츠 전달

Publications (2)

Publication Number Publication Date
KR20150127733A KR20150127733A (ko) 2015-11-17
KR101781717B1 true KR101781717B1 (ko) 2017-10-23

Family

ID=46208606

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020157031010A KR101781717B1 (ko) 2011-06-08 2012-06-07 공간적으로-세그먼트된 콘텐츠 전달
KR1020157005410A KR101633239B1 (ko) 2011-06-08 2012-06-07 공간적으로-세그먼트된 콘텐츠 전달
KR1020137030584A KR20140016357A (ko) 2011-06-08 2012-06-07 공간적으로-세그먼트된 콘텐츠 전달

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020157005410A KR101633239B1 (ko) 2011-06-08 2012-06-07 공간적으로-세그먼트된 콘텐츠 전달
KR1020137030584A KR20140016357A (ko) 2011-06-08 2012-06-07 공간적으로-세그먼트된 콘텐츠 전달

Country Status (7)

Country Link
US (3) US9860572B2 (ko)
EP (2) EP2719190B8 (ko)
JP (2) JP5905957B2 (ko)
KR (3) KR101781717B1 (ko)
CN (1) CN103583050B (ko)
PL (2) PL3313083T3 (ko)
WO (1) WO2012168365A1 (ko)

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US8953478B2 (en) * 2012-01-27 2015-02-10 Intel Corporation Evolved node B and method for coherent coordinated multipoint transmission with per CSI-RS feedback
US8923880B2 (en) * 2012-09-28 2014-12-30 Intel Corporation Selective joinder of user equipment with wireless cell
GB2506911B (en) * 2012-10-12 2015-12-09 Canon Kk Method and correponding device for streaming video data
GB2513139A (en) * 2013-04-16 2014-10-22 Canon Kk Method and corresponding device for streaming video data
EP2907313A1 (en) * 2012-10-12 2015-08-19 Canon Kabushiki Kaisha Method and corresponding device for streaming video data
US10713726B1 (en) 2013-01-13 2020-07-14 United Services Automobile Association (Usaa) Determining insurance policy modifications using informatic sensor data
EP3073712B1 (en) 2013-01-16 2019-06-19 Huawei Technologies Co., Ltd. Url parameter insertion and addition in adaptive streaming
GB2509956B (en) * 2013-01-18 2016-05-04 Canon Kk Method, device and computer program for efficient encapsulation of timed tiled media data
GB2509953B (en) * 2013-01-18 2015-05-20 Canon Kk Method of displaying a region of interest in a video stream
GB2512880B (en) * 2013-04-09 2017-12-20 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data
KR101861979B1 (ko) * 2013-01-18 2018-05-28 캐논 가부시끼가이샤 미디어 데이터 영역 및 메타 데이터 영역을 포함하는 미디어 파일의 생성 방법 및 디바이스
GB2509954B (en) 2013-01-18 2016-03-23 Canon Kk Method of displaying a region of interest in a video stream
US20140278573A1 (en) 2013-03-15 2014-09-18 State Farm Mutual Automobile Insurance Company Systems and methods for initiating insurance processing using ingested data
GB2513140B (en) * 2013-04-16 2016-05-04 Canon Kk Methods, devices, and computer programs for streaming partitioned timed media data
WO2014194286A1 (en) * 2013-05-31 2014-12-04 Level 3 Communications, Llc Storing content on a content delivery network
EP3018910B1 (en) * 2013-07-05 2019-11-13 Saturn Licensing LLC Transmission device, transmission method, reception device, and reception method
EP2824885B1 (en) * 2013-07-12 2019-01-23 Provenance Asset Group LLC A manifest file format supporting panoramic video
CN105519131B (zh) * 2013-07-19 2019-05-03 索尼公司 信息处理装置和方法
US9628528B2 (en) * 2013-07-19 2017-04-18 Electronics And Telecommunications Research Institute Apparatus and method for providing content
KR102196504B1 (ko) * 2013-07-19 2020-12-30 아이디어허브 주식회사 콘텐츠 제공 장치 및 방법
GB2516825B (en) * 2013-07-23 2015-11-25 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
GB2516826B (en) * 2013-07-23 2016-06-22 Canon Kk Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f
WO2015013685A1 (en) 2013-07-25 2015-01-29 Convida Wireless, Llc End-to-end m2m service layer sessions
CN105408916B (zh) * 2013-07-26 2019-07-23 华为技术有限公司 用于自适应流媒体中的空间自适应的系统和方法
WO2015014773A1 (en) * 2013-07-29 2015-02-05 Koninklijke Kpn N.V. Providing tile video streams to a client
SG11201600922VA (en) * 2013-08-05 2016-03-30 Risoftdev Inc Extensible media format system and methods of use
US9710858B1 (en) 2013-08-16 2017-07-18 United Services Automobile Association (Usaa) Insurance policy alterations using informatic sensor data
GB2542282B (en) * 2013-10-22 2018-08-01 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data in a server
US9720989B2 (en) 2013-11-11 2017-08-01 Amazon Technologies, Inc. Dynamic partitioning techniques for data streams
US9794135B2 (en) 2013-11-11 2017-10-17 Amazon Technologies, Inc. Managed service for acquisition, storage and consumption of large-scale data streams
US10635644B2 (en) 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
US9858322B2 (en) 2013-11-11 2018-01-02 Amazon Technologies, Inc. Data stream ingestion and persistence techniques
GB2520310A (en) * 2013-11-15 2015-05-20 Sony Corp A method, server, client and software
WO2015071461A1 (en) 2013-11-15 2015-05-21 Koninklijke Kpn N.V. Synchronization of processing media streams by one or more media processing devices
CN108184101B (zh) * 2013-11-25 2020-07-14 华为技术有限公司 处理视频的设备和方法
KR20150065069A (ko) * 2013-12-04 2015-06-12 삼성전자주식회사 디스플레이 장치, 디스플레이 장치의 영상 표시 방법 및 컴퓨터 판독가능 기록매체
US20150181168A1 (en) * 2013-12-20 2015-06-25 DDD IP Ventures, Ltd. Interactive quality improvement for video conferencing
US11416941B1 (en) 2014-01-10 2022-08-16 United Services Automobile Association (Usaa) Electronic sensor management
US11087404B1 (en) 2014-01-10 2021-08-10 United Services Automobile Association (Usaa) Electronic sensor management
US10552911B1 (en) 2014-01-10 2020-02-04 United Services Automobile Association (Usaa) Determining status of building modifications using informatics sensor data
US12100050B1 (en) 2014-01-10 2024-09-24 United Services Automobile Association (Usaa) Electronic sensor management
US10567765B2 (en) * 2014-01-15 2020-02-18 Avigilon Corporation Streaming multiple encodings with virtual stream identifiers
CN105191303B (zh) * 2014-02-21 2018-08-21 华为技术有限公司 处理视频的方法、终端和服务器
US11847666B1 (en) 2014-02-24 2023-12-19 United Services Automobile Association (Usaa) Determining status of building modifications using informatics sensor data
US10614525B1 (en) 2014-03-05 2020-04-07 United Services Automobile Association (Usaa) Utilizing credit and informatic data for insurance underwriting purposes
GB2558086B (en) * 2014-03-25 2019-02-20 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
DE102014205485A1 (de) * 2014-03-25 2015-10-01 Siemens Aktiengesellschaft Verfahren zur Übertragung digitaler Bilder aus einer Bilderfolge
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
KR102312632B1 (ko) * 2014-06-11 2021-10-15 삼성전자주식회사 전자 장치 및 전자 장치의 파일 저장 방법
JP6541309B2 (ja) * 2014-06-23 2019-07-10 キヤノン株式会社 送信装置、送信方法、及びプログラム
US10397666B2 (en) * 2014-06-27 2019-08-27 Koninklijke Kpn N.V. Determining a region of interest on the basis of a HEVC-tiled video stream
EP2961182A1 (en) * 2014-06-27 2015-12-30 Alcatel Lucent Method, system and device for navigating in ultra high resolution video content by a client device
US10694192B2 (en) 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
CN106464941B (zh) * 2014-06-30 2019-10-29 索尼公司 信息处理装置和方法
GB2527786B (en) * 2014-07-01 2016-10-26 Canon Kk Method, device, and computer program for encapsulating HEVC layered media data
CN105227535B (zh) * 2014-07-01 2019-12-06 思科技术公司 用于边缘缓存和客户端设备的装置及方法
US9734021B1 (en) 2014-08-18 2017-08-15 Amazon Technologies, Inc. Visualizing restoration operation granularity for a database
EP2993910A1 (en) * 2014-09-04 2016-03-09 Thomson Licensing Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer-readable medium.
US10142386B2 (en) 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US9509742B2 (en) 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10084838B2 (en) 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US10129839B2 (en) * 2014-12-05 2018-11-13 Qualcomm Incorporated Techniques for synchronizing timing of wireless streaming transmissions to multiple sink devices
US9661355B2 (en) 2015-01-08 2017-05-23 Kiswe Mobile Inc. Virtual immersion via streamed content adaptation
US10628108B2 (en) * 2015-05-08 2020-04-21 Telefonaktiebolaget Lm Ericsson (Publ) Controlling an ultra wide video display in stadium settings using mobile positioning information
KR102106103B1 (ko) 2015-07-03 2020-05-04 에스케이 텔레콤주식회사 고 해상도 영상에서의 영상 추출 장치 및 방법
WO2017030865A1 (en) * 2015-08-14 2017-02-23 Vid Scale, Inc. Method and systems for displaying a portion of a video stream
WO2017029400A1 (en) 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
JP6675475B2 (ja) * 2015-08-20 2020-04-01 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ メディア・ストリームに基づくタイルド・ビデオの形成
EP3345184A1 (en) * 2015-09-02 2018-07-11 THOMSON Licensing Method, apparatus and system for facilitating navigation in an extended scene
CN108476324B (zh) 2015-10-08 2021-10-29 皇家Kpn公司 增强视频流的视频帧中的感兴趣区域的方法、计算机和介质
US10853182B1 (en) 2015-12-21 2020-12-01 Amazon Technologies, Inc. Scalable log-based secondary indexes for non-relational databases
US10423493B1 (en) 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
US10567500B1 (en) 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
JP6587539B2 (ja) 2015-12-28 2019-10-09 キヤノン株式会社 送信装置、情報処理方法及びプログラム
EP3223524A1 (en) 2016-03-22 2017-09-27 Thomson Licensing Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
GB2550622B (en) * 2016-04-19 2018-10-24 Cisco Tech Inc Information centric networking routing in an IP network
WO2017196670A1 (en) 2016-05-13 2017-11-16 Vid Scale, Inc. Bit depth remapping based on viewing parameters
GB2550589B (en) * 2016-05-23 2019-12-04 Canon Kk Method, device, and computer program for improving streaming of virtual reality media content
CN114125504A (zh) * 2016-05-26 2022-03-01 弗劳恩霍夫应用研究促进协会 针对交互式客户端的全景视频的广播流
EP4336850A3 (en) 2016-07-08 2024-04-17 InterDigital Madison Patent Holdings, SAS Systems and methods for region-of-interest tone remapping
WO2018035133A1 (en) * 2016-08-17 2018-02-22 Vid Scale, Inc. Secondary content insertion in 360-degree video
US10805614B2 (en) * 2016-10-12 2020-10-13 Koninklijke Kpn N.V. Processing spherical video data on the basis of a region of interest
US10932276B2 (en) 2016-11-03 2021-02-23 Convida Wireless, Llc Frame structure in NR
CN110140335B (zh) 2016-11-10 2022-08-12 瑞典爱立信有限公司 用于改进递送性能的资源分段
EP3583780B1 (en) 2017-02-17 2023-04-05 InterDigital Madison Patent Holdings, SAS Systems and methods for selective object-of-interest zooming in streaming video
US11272237B2 (en) 2017-03-07 2022-03-08 Interdigital Madison Patent Holdings, Sas Tailored video streaming for multi-device presentations
GB2563439B (en) * 2017-06-16 2022-02-16 Canon Kk Methods, devices, and computer programs for improving streaming of portions of media data
US10652300B1 (en) 2017-06-16 2020-05-12 Amazon Technologies, Inc. Dynamically-generated encode settings for media content
US10911512B2 (en) * 2017-09-05 2021-02-02 Amazon Technologies, Inc. Personalized content streams using aligned encoded content segments
US10754844B1 (en) 2017-09-27 2020-08-25 Amazon Technologies, Inc. Efficient database snapshot generation
US10990581B1 (en) 2017-09-27 2021-04-27 Amazon Technologies, Inc. Tracking a size of a database change log
US11182372B1 (en) 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US11042503B1 (en) 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
KR102030983B1 (ko) * 2017-11-29 2019-10-11 전자부품연구원 분할 영상 기반의 라이브 스트리밍 서비스 운용 방법 및 이를 지원하는 전자 장치
US10621049B1 (en) 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock
CN110519652B (zh) * 2018-05-22 2021-05-18 华为软件技术有限公司 Vr视频播放方法、终端及服务器
US11075984B1 (en) 2018-07-16 2021-07-27 Amazon Technologies, Inc. Workload management at streaming data service supporting persistent connections for reads
US10768830B1 (en) 2018-07-16 2020-09-08 Amazon Technologies, Inc. Streaming data service with isolated read channels
US11070600B1 (en) 2018-07-16 2021-07-20 Amazon Technologies, Inc. Optimization techniques to support lagging readers at streaming data service
US10798140B1 (en) 2018-07-16 2020-10-06 Amazon Technologies, Inc. Stream data record reads using push-mode persistent connections
US10855754B1 (en) 2018-07-16 2020-12-01 Amazon Technologies, Inc. Isolated read channel categories at streaming data service
US10956246B1 (en) 2018-07-16 2021-03-23 Amazon Technologies, Inc. Isolated read channel management interfaces at streaming data service
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US20200089779A1 (en) * 2018-09-19 2020-03-19 Twitter, Inc. Progressive API Responses
EP3858023A1 (en) 2018-09-27 2021-08-04 Convida Wireless, Llc Sub-band operations in unlicensed spectrums of new radio
US11042454B1 (en) 2018-11-20 2021-06-22 Amazon Technologies, Inc. Restoration of a data source
US20200296462A1 (en) 2019-03-11 2020-09-17 Wci One, Llc Media content presentation
US20200296316A1 (en) 2019-03-11 2020-09-17 Quibi Holdings, LLC Media content presentation
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
RU2743956C1 (ru) * 2019-08-15 2021-03-01 Сцреенлифе Лимитед Способ создания вертикально ориентированного видео
CN114270790B (zh) * 2019-08-30 2024-07-02 英国电讯有限公司 内容递送
CN111195119A (zh) * 2019-12-25 2020-05-26 杭州中威电子股份有限公司 一种实时检测生理的眼镜装置及方法
CN111195133A (zh) * 2019-12-25 2020-05-26 杭州中威电子股份有限公司 一种能够实时检测疲劳的装置及方法
US12101532B2 (en) 2020-10-27 2024-09-24 Circle Computer Resources, Inc. Low-latency content delivery over a public network
CN117581550A (zh) * 2021-11-10 2024-02-20 英特尔公司 基于内容分区的沉浸式媒体实时通信
US11895173B2 (en) * 2022-01-07 2024-02-06 Avago Technologies International Sales Pte. Limited Gapped and/or subsegmented adaptive bitrate streams
US20230328308A1 (en) * 2022-04-07 2023-10-12 Dazn Media Israel Ltd. Synchronization of multiple content streams

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1479235A1 (en) 2002-02-07 2004-11-24 Koninklijke Philips Electronics N.V. Method for distributing a video split up in spatial pieces
US7899915B2 (en) * 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
WO2003098464A1 (en) 2002-05-14 2003-11-27 Akamai Technologies, Inc. Enterprise content delivery network having a central controller for coordinating a set of content servers
US20070024706A1 (en) * 2005-08-01 2007-02-01 Brannon Robert H Jr Systems and methods for providing high-resolution regions-of-interest
US7518053B1 (en) * 2005-09-01 2009-04-14 Texas Instruments Incorporated Beat matching for portable audio
US7876978B2 (en) * 2005-10-13 2011-01-25 Penthera Technologies, Inc. Regions of interest in video frames
JP4736957B2 (ja) 2006-05-31 2011-07-27 日本電気株式会社 品質計測システム、通信装置、通信端末及びそれらに用いるストリーミング配信品質計測方法
US20090060043A1 (en) 2007-08-29 2009-03-05 Geert Nuyttens Multiviewer based on merging of output streams of spatio scalable codecs in a compressed domain
US7907142B2 (en) 2008-01-15 2011-03-15 Verint Systems Inc. Video tiling using multiple digital signal processors
JP2009212821A (ja) * 2008-03-04 2009-09-17 Toshiba Corp コンテンツ配信装置、受信装置、コンテンツ配信方法及び受信方法
US20090300692A1 (en) 2008-06-02 2009-12-03 Mavlankar Aditya A Systems and methods for video streaming and display
JP5284771B2 (ja) * 2008-12-24 2013-09-11 株式会社情報システム総合研究所 画像圧縮装置、および画像圧縮方法
US8099476B2 (en) 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
CN102308547B (zh) 2008-12-31 2014-11-19 苹果公司 通过非流化协议流化多媒体数据的方法
US20100232504A1 (en) 2009-03-13 2010-09-16 The State of Oregon acting by and through the State Board of Higher Education on behalf of the Supporting region-of-interest cropping through constrained compression
JP5237174B2 (ja) 2009-04-09 2013-07-17 Kddi株式会社 携帯端末によって原コンテンツを編集するコンテンツ編集方法、コンテンツサーバ、システム及びプログラム
US8793282B2 (en) * 2009-04-14 2014-07-29 Disney Enterprises, Inc. Real-time media presentation using metadata clips
KR101616874B1 (ko) * 2009-09-23 2016-05-02 삼성전자주식회사 다중 영상 합성 방법 및 그 장치
US8527647B2 (en) * 2009-10-06 2013-09-03 Unwired Planet, Inc. Managing network traffic using intermediate flow control
US20110083073A1 (en) * 2009-10-07 2011-04-07 Cisco Technology, Inc. Synchronized Recording and Playback of a Plurality of Media Content
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
US9124642B2 (en) * 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
KR101777347B1 (ko) * 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
KR101786051B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
US8782268B2 (en) * 2010-07-20 2014-07-15 Microsoft Corporation Dynamic composition of media

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Alex Zambelli:"IIS Smooth Streaming Technical Overview", 31 March 2009 (2009-03-21)*
An Interactive Region Of Interest Video Streaming System For Online Lecture Viewing*

Also Published As

Publication number Publication date
US20190141373A1 (en) 2019-05-09
KR20140016357A (ko) 2014-02-07
JP6415468B2 (ja) 2018-10-31
KR20150127733A (ko) 2015-11-17
CN103583050A (zh) 2014-02-12
PL2719190T3 (pl) 2018-02-28
EP3313083A1 (en) 2018-04-25
US20140089990A1 (en) 2014-03-27
KR101633239B1 (ko) 2016-06-23
JP5905957B2 (ja) 2016-04-20
EP2719190A1 (en) 2014-04-16
EP2719190B1 (en) 2017-10-04
PL3313083T3 (pl) 2020-05-18
JP2016158255A (ja) 2016-09-01
EP3313083B1 (en) 2019-12-18
CN103583050B (zh) 2018-09-14
WO2012168365A1 (en) 2012-12-13
JP2014520442A (ja) 2014-08-21
KR20150038538A (ko) 2015-04-08
US20180124442A1 (en) 2018-05-03
EP2719190B8 (en) 2017-11-22
US9860572B2 (en) 2018-01-02

Similar Documents

Publication Publication Date Title
KR101781717B1 (ko) 공간적으로-세그먼트된 콘텐츠 전달
EP3028472B1 (en) Providing tile video streams to a client
JP5818603B2 (ja) パノラマシーン内でのナビゲーション方法
JP6462566B2 (ja) 送信装置、送信方法、受信装置および受信方法
JP6807852B2 (ja) Lctに基づくdashフォーマットを有するファイルフォーマットベースのストリーミング
US20190362151A1 (en) Streaming virtual reality video
EP2690876A2 (en) Heterogeneous network-based linked broadcast content transmitting/receiving device and method
US9241197B2 (en) System and method for video delivery over heterogeneous networks with scalable video coding for multiple subscriber tiers
US20070121629A1 (en) Accelerated channel change
CN100515079C (zh) 一种在iptv中实现画中画的方法
KR20140002026A (ko) 파일 전달 방법들을 이용한 ip 브로드캐스트 스트리밍 서비스 배포
US20120030707A1 (en) Methods and Arrangements for Channel Change in an IPTV Network
KR20150072231A (ko) 멀티 앵글 뷰 서비스 제공 장치 및 방법
US8276180B1 (en) System, method, and computer program product for transcoding or transrating video content for delivery over a wide area network
WO2009095080A1 (en) Method and apparatus for obtaining media over a communications network
JP2009171294A (ja) 映像配信システム、映像中継装置、及び映像中継方法
Prins et al. A hybrid architecture for delivery of panoramic video
WO2009095079A1 (en) Method and apparatus for distributing media over a communications network

Legal Events

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