KR20160048942A - 미디어 스트림들 간의 타임라인 정보를 상관시키기 위한 시스템 및 방법 - Google Patents

미디어 스트림들 간의 타임라인 정보를 상관시키기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20160048942A
KR20160048942A KR1020167008393A KR20167008393A KR20160048942A KR 20160048942 A KR20160048942 A KR 20160048942A KR 1020167008393 A KR1020167008393 A KR 1020167008393A KR 20167008393 A KR20167008393 A KR 20167008393A KR 20160048942 A KR20160048942 A KR 20160048942A
Authority
KR
South Korea
Prior art keywords
media stream
stream
media
information
synchronization
Prior art date
Application number
KR1020167008393A
Other languages
English (en)
Other versions
KR101883579B1 (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 KR20160048942A publication Critical patent/KR20160048942A/ko
Application granted granted Critical
Publication of KR101883579B1 publication Critical patent/KR101883579B1/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43079Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on multiple devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

양쪽 모두가 공통 플레이아웃 타임라인과 연관되어 있는 제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템이 제공된다. 본 시스템은, 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득함으로써, 지속적 아이덴티피케이션과 연관된 타임스탬프값을 결정함으로써, 그리고 타임스탬프값 및 지속적 아이덴티피케이션을 아이덴티피케이션 정보로서 제공함으로써, 미디어 스트림에 대한 아이덴티피케이션 정보를 제공하도록 배치된 적어도 두 개의 스트림 모니터들을 포함한다. 게다가, 상관 서브시스템은, 제1 미디어 스트림의 제1 지속적 아이덴티피케이션을 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 매칭시켜서, 제1 미디어 스트림의 제1 타임스탬프값을 제2 미디어 스트림의 제2 타임스탬프값에 매칭시킴으로써, 제1 미디어 스트림의 타임라인 정보를 제2 미디어 스트림의 타임라인 정보에 상관시키는 것이 가능하도록 아이덴티피케이션 정보를 결합하게 제공된다. 본 시스템은 더 적은 계산 복잡도 및/또는 대역폭을 가지고 미디어 배포 네트워크의 세그먼트 내에 있는 복수의 장치들에 대해서 미디어 동기화가 제공되는 것을 가능하게 한다.

Description

미디어 스트림들 간의 타임라인 정보를 상관시키기 위한 시스템 및 방법{CORRELATING TIMELINE INFORMATION BETWEEN MEDIA STREAMS}
본 발명은 제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키기(correlating) 위한 시스템 및 방법에 관한 것이다. 본 발명은 또한 이러한 시스템을 포함하는 미디어 배포 네트워크(media distribution network)에 관한 것이며, 이러한 시스템에서 이용되는 스트림 모니터(stream monitor) 또는 상관 서브시스템(correlation subsystem)에 관한 것이며, 프로세서 시스템으로 하여금 이러한 방법을 수행하도록 하는 명령어들을 포함하는 컴퓨터 프로그램 제품에 관한 것이다. 본 발명은 또한 동기화 클라이언트(synchronization client)에 관한 것이다.
비디오 콘텐츠 및 오디오 콘텐츠와 같은 미디어 콘텐츠는 흔히 디지털 형태로 사용자들에게 전달된다(delivered). 만일 미디어 콘텐츠가 시간적 측면(temporal aspect)을 가진다면, 특히, 시간의 경과에 따라서 미디어 콘텐츠가 어떻게 플레이아웃될(played out)지를 나타내는 타임라인(timeline)과 연관되어 있다면, 이러한 디지털 형태는 전형적으로 미디어 스트림(media stream)이라고 지칭된다. 미디어 스트림들은 미디어 배포 네트워크를 통해서 사용자의 수신기에 전달될 수 있다. 특히, 미디어 스트림은 수신기에 스트리밍될(streamed) 수 있는데, 이것은 수신기로 하여금 전체 미디어 스트림을 수신하기 전에 미디어 스트림의 플레이아웃(play-out)을 시작하는 것을 가능하게 한다. 하지만, 미디어 스트림은, 예컨대, 파일(file)의 형태로 수신기에 전달됨으로써 스트리밍이 아닌(non-streaming) 방식으로 사용자의 수신기에 전달될 수도 있다.
미디어 스트림들의 예들은, 카메라로 레코딩된(camera-recorded) 또는 컴퓨터로 렌더링된(computer-rendered) 스트림들과 같은 비디오 스트림(video stream)들, 마이크로폰으로 레코딩된(microphone-recorded) 스트림들과 같은 오디오 스트림(audio stream)들, 자막(subtitle) 스트림들 또는 소셜-미디어(social-media) 스트림들과 같은 타이밍이 정해진 텍스트 스트림(timed text stream)들, 수신기에서 액션(action)을 수행하거나 광고 이미지를 보이는, 타이밍이 정해진 이벤트 스트림(timed events stream)들, 및 상이한 타입의 미디어 스트림들을 포함하는 멀티미디어 스트림(multimedia stream)들을 포함한다.
상이한 미디어 스트림들은 미디어 스트림들 간에 시간적 관계(temporal relationship)가 존재할 수 있다는 점에서 공통 플레이아웃 타임라인(common play-out timeline)과 연관되어 있을 수 있다. 특히, 미디어 스트림들은 동기화된 방식으로 플레이아웃되도록 의도될 수 있다. 이것은 미디어 스트림들이 동일한 이벤트의 상이한 레코딩(recording)들에 관한 것인 경우의 상황일 수 있는데, 예컨대, 제1 미디어 스트림이 비디오 스트림이고 제2 미디어 스트림이 오디오 스트림인 경우이거나, 제1 미디어 스트림이 제1 카메라 각도(camera angle)로부터의 이벤트의 레코딩을 나타내는 비디오 스트림이고 제2 미디어 스트림도 비디오 스트림이지만 상이한 카메라 각도로부터의 레코딩을 나타내는 경우이다.
그래서, 동기화된 방식으로 상이한 미디어 스트림들의 플레이아웃을 가능하게 할 필요성이 존재할 수 있다. 게다가, 예컨대, 상이한 수신기들에 걸쳐(across), 동기화된 방식으로 동일한, 유사한, 또는 상이한 미디어 스트림의 플레이아웃을 가능하게 할 필요성이 존재할 수 있다. 이러한 미디어 동기화가 채용될 수 있는 알려져 있는(known) 예들이 이하에서 보인다:
Figure pct00001
소셜 TV(Social TV). 여기에서는 복수의 사용자들의 복수의 TV들 또는 다른 장치들에 걸쳐 동일한 또는 유사한 미디어 스트림들의 동기화가 소망된다. 동일한 또는 유사한 미디어 스트림들은 동일한 스트림의 기술적 베리에이션(technical variation)들을 포함할 수 있지만, 동일한 이벤트의 상이한 카메라 각도들로부터의 레코딩들과 같이 상이한 콘텐츠를 이루는, 동일한 이벤트의 스트림들도 포함할 수 있다.
Figure pct00002
하이브리드 TV(Hybrid TV). 여기에서는 잠재적으로 복수의 경로(route)들을 통해서 단일한 TV로 오는 복수의 미디어 스트림들의 동기화가 소망된다. 이러한 복수의 경로들은, 예컨대, DVB(Digital Video Broadcast), IP(Internet Protocol) 멀티캐스트(multicast), 및 IP 유니캐스트(unicast)를 포함할 수 있다.
Figure pct00003
동반 스크린(Companion screen). 여기에서는 TV와 동반 스크린, 예컨대, 태블릿 장치(tablet device) 간의 동일한 또는 상이한 미디어 스트림을 동기화하는 것이 소망된다. '동반 스크린(companion screen)'이라는 용어는 세컨드 스크린(second screen)이라고 알려져 있다는 점이 주목된다.
상술한 예들은 주로 텔레비전을 지칭하지만, 유사한 예들이 다른 타입의 장치들 또는 수신기들에 존재한다는 점이 주목된다. 게다가, 상술한 예들에서, 미디어 스트림들의 일부 또는 전부는 실시간(real-time) 또는 준-실시간(quasi-real time) 미디어 스트림들일 수 있다. 부가적으로 또는 대안적으로, 미디어 스트림들의 일부 또는 전부는, 예컨대, 미디어 배포 네트워크에 의해 캐싱되거나(cached), 예컨대, PVR(Personal Video Recorder)에 의해 레코딩되거나(recorded), 소위 캐치업 TV(catchup TV) 또는 사용자 트릭 모드(user trick-mode) 미디어 스트림들을 구성할 수 있다.
브로드캐스터(broadcaster)들은 동기화된 서비스들을 제공하기 위해서 미디어 동기화를 채용할 수 있는데, 이 경우에 사용자들은 다양한 브로드캐스터-제공 조합(broadcaster-offered combination)으로 복수의 장치들상의 및/또는 복수의 경로들을 통한 미디어 스트림들을 결합할(combine) 수 있다. 이러한 동기화는 모든 미디어 스트림들이 합쳐지는 브로드캐스터의 스튜디오 시스템(studio system)에서 일어날 수 있다. 또한, 부가가치 서비스 제공자(value-added-service provider)들은 부가가치 동기화 서비스(value-added synchronization service)들을 제공하기 위하여 미디어 동기화를 채용할 수 있다. 부가가치 미디어 스트림(value-added media stream)들의 예들은 다른 미디어 스트림, 예컨대, 브로드캐스팅된(broadcasted) 비디오 스트림의 코멘팅(commenting), 서브타이틀링(subtitling), 오디오 디스크립션(audio description), 또는 수화 통역(sign-language interpretation)을 제공하는 미디어 스트림들을 포함한다.
미디어 동기화와 관련된 문제점은, 상이한 미디어 스트림들이 브로드캐스터 또는 써드 파티(third party)에서 동기화될 수 있지만, 이들이 엔드 유저(end user)에 배포되는 동안 자신들의 동기성(synchronicity)을 상실할 수 있다는 점일 수 있다. 예를 들면, 미디어 스트림들은 상이한 경로들을 통해서 전달될 수 있다. 이 경로들은 거리(전송 속도), 멀티플렉싱 및 라우팅(버퍼들), 캐싱 및 레코딩된 전달, 신호 처리(예컨대, 믹싱(mixing), 트랜스코딩(transcoding)) 등의 차이들로 인하여 상이한 지연(delay)들을 가질 수 있다. 유사하게, 부가가치 서비스 제공자의 경우에, 부가가치 미디어 스트림은 오리지널 브로드캐스트 스트림(original broadcast stream)으로부터 전달될 수 있지만, 부가가치 미디어 스트림은 서비스 제공자로부터, 즉, 상이한 경로를 통해서 전달될 수 있다.
논문 "Multimedia group and inter-stream synchronization techniques: A comparative study" by F. Boronat et al., Elsevier Information Systems, 34, 2009, pp. 108-131 은 알려져 있는 인터-데스티네이션(inter-destination) 동기화 기술들, 즉, 상이한 엔드-터미널들 간의 동기화에 대한 종합적인 개요(comprehensive overview)를 제공한다.
언급된 인터-데스티네이션 동기화 기술들의 대부분은 미디어 스트림 내에 포함된 타임라인 정보를 이용한다. 여기서, '타임라인 정보(timeline information)'라는 용어는 수신기로 하여금 플레이아웃 타임라인에 따라서 미디어 스트림의 미디어 샘플들을 플레이아웃할 수 있게 하는 메타데이터(metadata)를 지칭한다. 예를 들면, 만일 미디어 스트림이 RTP(Real-time Transport Protocol)를 통해서 전달된다면, 즉, RTP 미디어 스트림을 이룬다면, RTP 타임스탬프와 같은 타임라인 정보가 이용될 수 있다. 타임라인 정보의 다른 예들은 소위 PCR(Program Clock Reference), PTS(Presentation Time Stamp), 및 DTS(Decode Time Stamp)를 포함한다. 상이한 수신기들에 걸쳐 이러한 타임라인 정보를 비교함으로써, 적절한 스트림 조정치(adjustment)들이 계산될 수 있다. 수신기들에 걸쳐 이러한 비교를 가능하게 하기 위해서, 동기화된 벽시계(synchronized wall-clock)들이 수신기들상에서 이용되거나, 이와 달리, 적은(little) 및/또는 알려져 있는(known) 지연들을 가진 고품질 시그널링 커넥션(high-quality signaling connection)들이 이용될 수 있다. 예를 들면, 미디어 스트림의 플레이아웃 시간(play-out time)의 지연은 수신기에서 미디어 스트림을 버퍼링함으로써 달성될 수 있다.
미디어 스트림들이 미디어 배포 네트워크 내에서 오리지널 타임라인 정보(original timeline information)를 잃을 수 있다고 인식되어 왔다. 이러한 미디어 배포 네트워크들은, 전형적으로 브로드캐스터들 또는 부가가치 서비스 제공자들과는 다른, 케이블 오퍼레이터(cable operator)들, 텔레콤 오퍼레이터(telecom operator)들, 및 인터넷 서비스 제공자들에 의해 전형적으로 소유된다. 이러한 미디어 배포 네트워크들에서, 미디어 스트림이 네트워크들을 거쳐 배포하기에 적합하게 되도록 하기 위해서 미디어 스트림은 헤드-엔드(head-end)들에서 변경될(modified) 수 있다. 이러한 네트워크들은, 예컨대, DVB 기반(DVB-T, DVB-C, DVB-H), IP 기반(RTP/RTCP, IP 멀티캐스트, IP 유니캐스트)일 수 있다. 상이한 코덱(codec)들(MPEG 2, H.264, HEVC), 전송 기술들(브로드캐스트, 스트리밍, 프로그래시브 다운로드(progressive download), 어댑티브 스트리밍(adaptive streaming)) 등이 미디어 스트림의 최종 전달(final delivery)에 이용될 수 있다. 이러한 프로세스들 중의 하나 이상 동안에, 미디어 스트림에서 그것의 오리지널 메타데이터가 벗겨질(stripped) 수 있다. 그 결과, 변경된 미디어 스트림에는 오리지널 타임라인 정보가 포함되어 있지 않을 수 있다. 대신에, 새로운 타임라인 정보를 포함할 수 있는 새로운 메타데이터가 포함되어 있을 수 있다.
미디어 스트림의 이러한 변경의 예들은 이하를 포함한다:
Figure pct00004
(재-)멀티플렉싱((re-)multiplexing). MPEG TS(Transport Stream)를 위한 대부분의 멀티플렉서들은 멀티플렉싱을 하면서 새로운 PCR/PTS/DTS 값들을 생성한다. 전형적으로, 하지만, PCR/PTS/DTS의 절대값들만이 변하는 반면에, 미디어 스트림들에 걸쳐 이들의 관계(relationship)는 유지된다. 그래서, 오디오-비디오 립 싱크(audio-video lip sync)가 보존될 수 있다.
Figure pct00005
트랜스코딩(transcoding) 및 재-인코딩(re-encoding). 여기에서, 들어오고 나가는 미디어 샘플들 간의 모든 관계가 상실될 수 있다. 예를 들면, 비디오 스트림의 경우에, 비디오 스트림의 프레임들은 다른 타입이 될 수 있는데, 예컨대, l-frame에서 B-frame으로 될 수 있다. 게다가, 만일 트랜스코딩 및 재-인코딩 동안 프레임 레이트(frame-rate)가 변한다면, 들어오고 나가는 프레임들 간의 일대일(one-to-one) 관계가 상실될 수 있다. 게다가, 미디어 스트림의 전체 컨테이너(container)는, 예컨대, 소위 TS에서 ISOBFF로 바뀔 수 있고, 이로써 타임라인 정보의 타입도 바뀔 수 있다.
Figure pct00006
기술적 또는 비즈니스적 이유들(technical or business reasons). 미디어 배포 네트워크들은 타임라인 정보를 패스(pass)하는 것을 거부할 수 있다. 예를 들어, 디폴트로(by default) DVB SAD-PID(Synchronized Auxiliary Data Packet Identifier)가 TS(Transport Stream)로부터 벗겨질 수 있다. 이것은 예컨대 비즈니스적인 이유들로 인하여 의도적(on purpose)일 수 있고, 또는 기술적 이유로 인하여 파라미터가 현재 네트워크에 의해 지지되지 않을 수 있다.
미디어 스트림들이 변경됨으로써 오리지널 타임라인 정보를 상실하는 것 외에도, 이러한 타임라인 정보는 또한, 동기적으로(synchronously) 재생되도록(played) 의도되되, 예컨대 미디어 스트림 오리지네이션(media stream origination)에서 이미 처음에(initially) 공통 타임라인 정보가 제공되지 않는, 상이한 미디어 스트림들 사이에서 선천적으로(inherently) 다를 수 있다. 또한, 미디어 동기화를 위한 필요성이 존재할 수 있다.
WO 2010106075 A1은 적어도 제1 및 제2 (미디어) 스트림의 인터-데스티네이션 미디어 동기화를 위한 방법 및 시스템을 기술하는데, 여기에서 제2 스트림은 제1 스트림을 입력 스트림으로 이용하는 스트림 변경 유닛의 출력 스트림이다. 이 방법은: 제1 동기화 지점(synchronization point)에 도착하는 제1 스트림 내의 패킷(packet)의 제1 도착 시간 정보(arrival time information) 및 제2 동기화 지점에 도착하는 제2 스트림 내의 패킷의 제2 도착 시간 정보를 제공하는 단계; 상기 입력 스트림과 상기 출력 스트림 간의 동기성 관계(synchronicity relationship)에 관한 동기화 상관 정보(synchronization correlation information)를 제공하는 단계; 및 제1 및 제2 도착 시간 정보와 동기화 상관 정보를 기초로 하여 지연 정보(delay information)를 계산하는 단계;를 포함한다.
WO 2010106075 A1은 두 개의 상이하게 변경된 스트림들 간의 또는 변경된 미디어 스트림들과 변경되지 않은 미디어 스트림들 간의 인터-데스티네이션 미디어 동기화를 가능하게 하지만, 상기 미디어 동기화의 적어도 하나의 관점에 더욱 향상된 시스템 또는 방법을 제공하는 것은 유익할 것이다.
본 발명의 제1 관점은 제1 미디어 스트림(media stream)과 제2 미디어 스트림 간의 타임라인 정보(timeline information)를 상관시키는 것(correlating)을 가능하게 하기 위한 시스템을 제공하는 것이며, 제1 미디어 스트림 및 제2 미디어 스트림 양쪽 모두는 공통 플레이아웃 타임라인(common play-out timeline)과 연관되어(associated) 있고, 본 시스템은:
- 적어도 두 개의 스트림 모니터(stream monitor)들; 및
- 상관 서브시스템(correlation subsystem);
을 포함하고,
스트림 모니터들 각각은:
지속적 아이덴티피케이션(persistent identification)은 미디어 스트림을 이용해서 재현가능하게 획득될(reproducibly obtained) 수 있는 데이터인데,
i) 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득함으로써,
ii) 미디어 스트림에 포함된 타임라인 정보로부터 지속적 아이덴티피케이션과 연관된 타임스탬프값(timestamp value)을 결정함으로써, 및
iii) 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션 및 타임스탬프값을 아이덴티피케이션 정보(identification information)로서 제공함으로써,
미디어 스트림에 대한 아이덴티피케이션 정보를 제공하도록 배치되고,
적어도 두 개의 스트림 모니터들은 제1 미디어 스트림에 대한 제1 아이덴티피케이션 정보를 제공하기 위한 제1 스트림 모니터 및 제2 미디어 스트림에 대한 제2 아이덴티피케이션 정보를 제공하기 위한 제2 스트림 모니터를 포함하고,
상관 서브시스템은, 제1 미디어 스트림의 제1 지속적 아이덴티피케이션을 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 매칭(matching)시켜서, 제1 미디어 스트림의 제1 타임스탬프값을 제2 미디어 스트림의 제2 타임스탬프값에 매칭시킴으로써, 제1 미디어 스트림의 타임라인 정보를 제2 미디어 스트림의 타임라인 정보에 상관시키는 것이 가능하도록 제1 아이덴티피케이션 정보를 제2 아이덴티피케이션 정보와 결합시킨다.
실시예들이 종속청구항들에서 정의된다.
상술한 방안들은 적어도 두 개의 스트림 모니터들을 포함하는 시스템을 제공한다. 두 개의 스트림 모니터들 각각은 상이한 미디어 스트림, 즉 제1 미디어 스트림 및 제2 미디어 스트림에 대한 아이덴티피케이션 정보를 제공한다. 아이덴티피케이션 정보를 제공하기 위하여, 각각의 스트림 모니터는 각각의 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득한다. 여기에서, 지속적 아이덴티피케이션(persistent identification)'이라는 용어는 미디어 스트림을 이용해서 재현가능하게 획득될 수 있는 데이터를 지칭한다. 지속적 아이덴티피케이션들의 예들은 지속적 방식(persistent manner)으로 미디어 스트림에 포함되는 핑거프린트들, 워터마크들, 및 마커들을 포함한다. 이러한 아이덴티피케이션들은, 예컨대, 미디어 배포 네트워크를 통한 미디어 스트림의 배포 동안 미디어 스트림이 겪을 수 있는 다양한 처리(processing)에 대해서 로버스트(robust)할 수 있다는 점에서 지속적일 수 있다는 것이 이해될 것이다. 또한, 각각의 스트림 모니터는 타임스탬프값을 결정하는데, 타임스탬프값은 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션과 연관되어 있고 그래서 미디어 샘플(들) 그 자체와 연관되어 있다. 타임스탬프값은 프리젠테이션 타임스탬프(presentation timestamp)들 또는 RTP 타임스탬프들과 같이 각각의 미디어 스트림에 포함될 수 있는 타임라인 정보로부터 결정된다.
그래서, 제1 스트림 모니터는 적어도 제1 미디어 스트림의 하나 이상의 미디어 샘플들의 제1 지속적 아이덴티피케이션 및 제1 미디어 스트림의 제1 타임라인 정보로부터 획득된 연관된 제1 타임스탬프값(associated first timestamp value)을 제공하는 한편, 제2 스트림 모니터는 적어도 제2 미디어 스트림의 하나 이상의 미디어 샘플들의 제2 지속적 아이덴티피케이션 및 제2 미디어 스트림의 제2 타임라인 정보로부터 획득된 연관된 제2 타임스탬프값(associated second timestamp value)을 제공한다.
게다가, 상관 서브시스템이 제공되는데, 상관 서브시스템은 제1 스트림 모니터로부터 획득된 제1 아이덴티피케이션 정보 및 제2 스트림 모니터로부터 획득된 제2 아이덴티피케이션 정보를 획득하고, 그 이후에(subsequently) 제1 스트림 모니터로부터 획득된 제1 아이덴티피케이션 정보를 제2 스트림 모니터로부터 획득된 제2 아이덴티피케이션 정보와 결합시킨다. 그래서, 상관 서브시스템에는 적어도 제1 지속적 아이덴티피케이션 및 이것의 연관된 제1 타임스탬프값과 제2 지속적 아이덴티피케이션 및 이것의 연관된 제2 타임스탬프값이 제공된다. 양쪽(both) 미디어 스트림들은 공통 플레이아웃 타임라인과 연관되어 있기 때문에, 동기화된 방식(synchronized manner)으로 양쪽 미디어 스트림들을 플레이아웃(play-out)하거나 처리할 필요성이 존재할 수 있다. 하지만, 양쪽 미디어 스트림들은, 예컨대, 스트림 내에서 동일한 위치에 대해, 즉 콘텐츠의 동일한 부분에 대해 상이한 타임스탬프값들을 가짐으로써 상이한 타임라인 정보를 포함할 수 있다.
상술한 방안들은 제1 미디어 스트림과 제2 미디어 스트림 간의 이러한 상이한 타임라인 정보를 상관시키는 것을 가능하게 한다. 여기에서, '상관시키는 것(correlating)'이라는 용어는 시스템이 제1 미디어 스트림의 타임라인 정보를 제2 미디어 스트림의 타임라인 정보와 관련되어 있을(related) 수 있게 한다는 것을 지칭한다. 그래서, 제1 미디어 스트림의 타임라인 정보로부터의 타임스탬프들 또는 다른 타이밍 데이터는 제2 미디어 스트림의 타임라인 정보로부터의 타이밍 데이터와 관련되어 있을 수 있고, 그 반대의 경우도 가능하다(vice versa). 이것은 결합된 제1 아이덴티피케이션 정보 및 제2 아이덴티피케이션 정보가 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 대한 제1 미디어 스트림의 제1 지속적 아이덴티피케이션의 매칭을 가능하게 하기 때문에 가능하다. 여기에서, '매칭(matching)'이라는 용어는 제1 지속적 아이덴티피케이션이 제2 지속적 아이덴티피케이션과 관련되어 있는 것을 지칭한다. 이러한 매칭은, 예컨대, 그들 특성(characteristics)의 유사성(similarity)을 기초로 하여 직접적일 수 있고, 또는 공통 플레이아웃 타임라인상에서의 그들의 상대적 포지션(relative position)을 기초로 하여 간접적일 수 있다. 특히, 이 매칭은 양쪽 지속적 아이덴티피케이션들이, 예컨대, 공통 플레이아웃 타임라인에 관해서, 시간적으로 관련되어 있을(related in time) 수 있다는 점에서 시간적인 매칭(matching in time)일 수 있다. 예를 들면, 만일 양쪽 지속적 아이덴티피케이션들이 동일한 핑거프린트를 포함한다면, 이것은 양쪽 지속적 아이덴티피케이션들이 공통 플레이아웃 타임라인상의 동일한 플레이아웃 시간과 관련이 있다는 것을 나타낼 수 있다.
제1 지속적 아이덴티피케이션이 제2 지속적 아이덴티피케이션에 매칭된 것의 내재적 결과(inherent result)로서, 각각의 연관된 타임스탬프값들은 또한 서로 매칭되었을 수 있다. 그래서, 상기 매칭이 적어도 제1 타임스탬프값으로 하여금 제2 타임스탬프값에 상관될 수 있게 한다는 점에서 제1 미디어 스트림의 타임라인 정보는 제2 미디어 스트림의 타임라인 정보와 상관될 수 있고, 상기 상관은 양쪽 미디어 스트림들 간의 전체 타임라인 정보의 상관(correlation)을 가능하게 하기 위하여 전형적으로 일반화가능하다(typically generalizeable). 그래서, 한 번 또는 한정된 횟수로 각각의 미디어 스트림들의 지속적 아이덴티피케이션들을 매칭시킨 후에, 양쪽 미디어 스트림들의 타임라인 정보가 직접적으로, 즉 지속적 아이덴티피케이션들의 추가적인 이용 없이, 상관될 수 있다.
본 발명자들은 이하의 것들을 인식했다. 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득하는 것은 미디어 스트림에 포함된 타임라인 정보로부터 타임스탬프값을 결정하는 것에 비하여 상대적으로 계산이 복잡할 수 있다. 유사하게, 지속적 아이덴티피케이션은 전송을 위하여 타임스탬프값보다 더 많은 대역폭을 필요로 할 수 있다. 그래서, 미디어 동기화가 적용될 모든 장치들에게 이러한 지속적 아이덴티피케이션들을 제공하도록 요구하는 것은 약점일(disadvantage) 수 있다. 하지만, 본 발명자들은 이러한 장치들의 그룹들이 제1 미디어 스트림의 동일한 버전에 대한 액세스를 가질(have access) 수 있다는 것을 인식했는데, 이것이 동일한 타임라인 정보를 포함하기 때문이다. 예를 들면, 장치들의 그룹은 미디어 배포 네트워크의 동일한 세그먼트 내에 위치해 있을 수 있다. 여기에서, 세그먼트(segment)라는 용어는, 제1 경계(boundary)에서의 미디어 스트림에 대한 인풋(input) 및 제2 경계에서의 미디어 스트림에 대한 적어도 하나의 아웃풋(output) 또는 엔드-지점(end-point)을 포함함으로써 미디어 스트림이 가로질러(across) 분산되는 미디어 배포 네트워크의 일부를 지칭하며, 인풋 및 아웃풋에서의 미디어 스트림은 본질적으로(essentially) 동일하다. 그래서, 미디어 스트림의 타임라인 정보는 세그먼트를 가로지르는(across) 배포 동안 유지된다.
타임라인 정보만을 기초로 하는 제1 세그먼트 내의 장치들의 제 1그룹과 제2 세그먼트 내의 장치들의 제2 그룹 간의 미디어 동기화가 상술한 이유들로 인하여 신뢰할 수 없을지라도, 본 발명은, 예컨대, 제1 세그먼트에 배치된, 제1 미디어 스트림에 대한 제1 아이덴티피케이션 정보를 제공하는 제1 스트림 모니터 및 예컨대, 제2 세그먼트에 배치된, 제2 미디어 스트림에 대한 제2 아이덴티피케이션 정보를 제공하는 제2 스트림 모니터를 제공함으로써 이러한 미디어 동기화를 가능하게 한다. 그러므로, 제1 세그먼트 및/또는 제2 세그먼트 내에 있는 모든 장치들이 이러한 지속적 아이덴티피케이션들을 획득하고 제공할 필요가 있는 것은 아니다. 오히려, 제1 아이덴티피케이션 정보를 제2 아이덴티피케이션 정보와 결합한 후에, 상관 서브시스템에 의해서 다른 미디어 스트림의 타임라인 정보에 상관될 수 있는 각각의 미디어 스트림들의 타임라인 정보를 제공하는 장치들을 기초로 하여, 양쪽 세그먼트들 간에, 즉 양쪽 세그먼트들 내의 장치들상에서 미디어 동기화가 이후에 제공될 수 있다.
그래서, 본 발명은, 하나의 장치상에서 인터-스트림 동기화(inter-stream synchronization) 또는 립싱크(lip-sync)를 제공하기 위하여 또는 장치들 사이에서 동반 스크린 동기화(companion screen synchronization)와 같은 인터-스트림 및 인터-디바이스(inter-device) 동기화나 인터-데스티네이션 동기화(inter-destination synchronization)를 제공하기 위하여 이전에 무관계한(previously unrelated) 타임스탬프들을 가진 미디어 스트림들의 동기화를 가능하게 할 수 있다. 특히, 본 발명은 타임라인 정보가 이러한 미디어 스트림들 간에 직접적으로 결부지어지지(relatable) 않을 수 있다는 사실로 인해 이러한 미디어 동기화와 전형적으로 연관된 비신뢰성(unreliability) 없이 각각의 미디어 스트림들의 타임라인 정보를 기초로 하여 제1 미디어 스트림과 제2 미디어 스트림 간의 미디어 동기화를 가능하게 할 수 있다. 추가적인 이점은 이러한 미디어 동기화가 적용될 장치들이 지속적 아이덴티피케이션들을 제공할 필요가 없을 수 있다는 점이다. 오히려, 이러한 장치들은 미디어 스트림의 현재 미디어 샘플과 연관된 타임스탬프와 같은, 미디어 스트림의 타임라인 정보를 제공하는 것으로 충분할 수 있다. 그래서, 장치들의 그룹에 걸친 미디어 동기화에 영향을 주기 위하여 더 적은 대역폭 및/또는 더 적은 계산 복잡도가 요구된다.
실시예에서, 제2 미디어 스트림은 제1 미디어 스트림의 변경된 버전(modified version)일 수 있고, 상기 변경된 버전은 제1 미디어 스트림의 타임라인 정보와는 다른 타임라인 정보를 포함한다. 본 시스템은 제1 미디어 스트림과 제1 미디어 스트림의 변경된 버전 간의 타임라인 정보를 상관시키는 것을 가능하게 하는 데에 이용될 수 있다. 이러한 변경들은 미디어 스트림들의 배포 동안 흔히 일어날 수 있다. 그래서, 본 시스템은, 제1 미디어 스트림의 변경되지 않은 버전 및 변경된 버전 양쪽 모두로부터 재현가능한(reproducible), 즉 이러한 변경들에 대해 내성이 있는(resistant) 지속적 아이덴티피케이션들을 이용하기 때문에, (변경되지 않은) 제1 미디어 스트림의 타임라인 정보를 기초로 하여 제1 미디어 스트림의 변경된 버전의 미디어 동기화를 가능하게 할 수 있다.
실시예에서, 제1 미디어 스트림은 미디어 배포 네트워크(media distribution network)를 통해서 배포될 수 있고, 미디어 배포 네트워크는 제1 미디어 스트림의 변경된 버전을 생성하기 위한 스트림 변경자(stream modifier)를 포함할 수 있고, 제1 스트림 모니터는 스트림 변경자의 업스트림의 미디어 배포 네트워크(the media distribution network upstream of the stream modifier)에 포함될 수 있고, 제2 스트림 모니터는 스트림 변경자의 다운스트림의 미디어 배포 네트워크(the media distribution network downstream of the stream modifier)에 포함될 수 있다. (리-)멀티플렉서((re-)multiplexer)들, 트랜스코더들, 및 리-인코더(re-encoder)들과 같은, 스트림 변경자들은 제1 미디어 스트림의 타임라인 정보가 변경되거나 교체되게 할 수 있고, 양쪽 모두의 경우에서 새로운 타임라인 정보를 수립한다(establish). 미디어 배포 네트워크를 따라서 배치됨으로써, 스트림 변경자는 실질적으로(effectively) 제1 미디어 스트림이 배포되는 미디어 배포 네트워크의 업스트림 세그먼트 및 제1 미디어 스트림의 변경된 버전이 배포되는 미디어 배포 네트워크의 다운스트림 세그먼트를 수립한다. 업스트림 세그먼트에서의 제1 스트림 모니터 및 다운스트림 세그먼트에서의 제2 스트림 모니터를 제공함으로써, 제1 미디어 스트림으로부터의 타임라인 정보가 제1 미디어 스트림의 변경된 버전으로부터의 타임라인 정보와 상관될 수 있다는 점에서 양쪽 세그먼트들 간의 미디어 동기화가 가능하게 된다. 그래서, 제1 미디어 스트림의 변경된 버전의 미디어 동기화는 (변경되지 않은) 제1 미디어 스트림의 타임라인 정보를 기초로 하여 가능하게 된다. 이러한 실시예의 이점은 미디어 스트림 오리지네이션, 예컨대, 브로드캐스터에서 미디어 스트림의 타임라인 정보에 관해서(with respect to) 흔히 정의되는, 수신기상의 애플리케이션의 트리거링과 같은, 동기화 기능들이 이러한 미디어 스트림들의 변경된 버전들에도 적용될 수 있다는 점일 수 있다.
실시예에서, 상관 서브시스템은, 제1 지속적 아이덴티피케이션 및 제2 지속적 아이덴티피케이션을 공통 플레이아웃 타임라인에 링킹(linking)하는 제3 아이덴티피케이션 정보를 기초로 하여, 제1 지속적 아이덴티피케이션을 제2 지속적 아이덴티피케이션에 매칭시키도록 배치될 수 있다. 그래서, 상관 서브시스템은 공통 플레이아웃 타임라인을 통해서 제1 지속적 아이덴티피케이션을 제2 지속적 아이덴티피케이션에 결부시킬(relate) 수 있다. 예를 들면, 상관 서브시스템은 공통 플레이아웃 타임라인상의 제1 플레이아웃 시간에 제1 지속적 아이덴티피케이션을 매칭시키고 공통 플레이아웃 타임라인상의 제2 플레이아웃 시간에 제2 지속적 아이덴티피케이션을 매칭시키기 위하여 제3 아이덴티피케이션 정보를 이용할 수 있다. 이러한 목적을 위해서, 제3 아이덴티피케이션 정보는, 예컨대, 복수의 지속적 아이덴티피케이션들 및 공통 플레이아웃 타임라인상의 연관된 복수의 플레이아웃 시간들을 포함할 수 있다. 이러한 매칭의 내재적 결과로서, 각각의 연관된 타임스탬프값들도 공통 플레이아웃 타임라인상의 각각의 플레이아웃 시간들에 매칭되었다. 그래서, 만일 제1 플레이아웃 시간이 제2 플레이아웃 시간과 차이가 있다면, 상관 서브시스템은 제1 타임라인 정보를 제2 타임라인 정보에 상관시킬 때 이러한 차이를 고려할 수 있다. 이러한 실시예의 이점은 만일 양쪽 지속적 아이덴티피케이션들이 서로 상이하더라도 제1 지속적 아이덴티피케이션이 제2 지속적 아이덴티피케이션에 매칭될 수 있다는 점일 수 있는데, 만일 제1 미디어 스트림 및 제2 미디어 스트림이 상이한 타입의 미디어 스트림들이거나 양쪽 지속적 아이덴티피케이션들이 콘텐츠의 관점에서 동일한 또는 유사한 미디어 스트림의 상이한 플레이아웃 시간들에서 획득되었다면 이러한 경우일 수 있다.
실시예에서, 제1 미디어 스트림 및 제2 미디어 스트림은 공통 타임라인 정보를 포함하는 미디어 스트림들의 복합체의 일부분(part)일 수 있고, 본 시스템은 미디어 스트림들의 복합체에 대한 제3 아이덴티피케이션 정보를 제공하기 위한 제3 스트림 모니터를 더 포함할 수 있다. 여기에서, '미디어 스트림들의 복합체(composite of media streams)'라는 용어는 미디어 스트림들이 공통 플레이아웃 타임라인과 의도적으로(purposefully) 연관되어 있어서 미디어 스트림들의 이러한 복합체를 형성하는 것을 지칭한다. 미디어 스트림들의 복합체는 복합체 미디어 스트림의 형태로 배포될 수도 있고 복합체 미디어 스트림의 형태로 배포되지 않을 수도 있다는 점이 주목된다. 여기에서, '복합체 미디어 스트림(composite media stream)'이라는 용어는 둘 이상의 미디어 스트림들로 구성된, 즉 합성된 미디어 스트림을 지칭한다. 미디어 스트림들의 복합체는, 배포 동안, 미디어 스트림들의 복합체의 공통 플레이아웃 타임라인을 수립하도록 기능할 수 있는 타임라인 정보를 미디어 스트림들 중의 적어도 하나가 포함하므로 공통 타임라인 정보를 포함할 수 있다. 예를 들면, 제3 스트림 모니터는 미디어 배포 네트워크에서의 미디어 스트림들의 복합체의 오리지네이션 근처에서 제공될 수 있고, 미디어 스트림들 각각에 대한 복수의 지속적 아이덴티피케이션들 및 공통 플레이아웃 타임라인상의 연관된 복수의 플레이아웃 시간들을 포함하는 아이덴티피케이션 정보를 시스템에 제공할 수 있다. 제3 아이덴티피케이션 정보를 제공하는 제3 스트림 모니터를 제공함으로써, 본 시스템은 제1 지속적 아이덴티피케이션 및 제2 지속적 아이덴티피케이션을 공통 플레이아웃 타임라인에 링킹할 수 있다.
실시예에서, 제2 미디어 스트림은 미디어 배포 네트워크를 통해서 배포될 수 있고, 미디어 배포 네트워크는 제2 미디어 스트림에 관해서 동기화 기능(synchronization action)을 수행하기 위한 동기화 서브시스템(correlation subsystem)을 더 포함할 수 있고, 상관 서브시스템은 제1 미디어 스트림의 타임라인 정보를 기초로 하여 동기화 서브시스템이 동기화 기능을 수행하는 것을 가능하게 하기 위한 타이밍 정보(timing information)를 제공하도록 배치될 수 있다. 여기에서, 동기화 서브시스템은 청구항에서 청구된 바와 같은 시스템 및/또는 미디어 배포 네트워크의 일부일 수도 있고 일부가 아닐 수도 있다는 점에서 '서브시스템(subsystem)'이다. 상관 서브시스템은 제1 미디어 스트림의 타임라인 정보를 기초로 하여 제2 미디어 스트림에 관해서 동기화 기능이 수행되는 것을 가능하게 하도록 동기화 서브시스템의 개체들(entities)과 상호작용할 수 있다. 이러한 상호작용은 쿼리-응답(query-response) 타입 상호작용과 같이 다양한 형태를 취할 수 있다는 점이 이해될 것인데, 여기서 동기화 서브시스템의 개체는 제2 미디어 스트림의 타임라인 정보로부터의 타임스탬프를 포함하는 쿼리(query)를 제공하고, 상관 서브시스템은 공통 플레이아웃 타임라인상의 동일한 플레이아웃 시간과 관련이 있는 제1 미디어 스트림의 타임라인 정보로부터의 타임스탬프를 포함하는 타이밍 정보 형태의 응답(response)을 제공한다. 그래서, 여기에서, 타이밍 정보는 상관 서브시스템의 출력을 구성할 수 있다. 타이밍 정보는 제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시킴으로써 상관 서브시스템에 의해 획득가능하다(obtainable). 이러한 쿼리-응답 타입 상호작용의 포맷(format)은, 예컨대, API(Application Programming Interface)에 의해서 특정될 수 있다. 실질적으로, 상관 서브시스템은 동기화 서브시스템의 개체들을 위한 번역 서비스(translation service)를 제공할 수 있는데, 번역 서비스는 제2 미디어 스트림의 타임라인 정보로부터의 타임스탬프들 및 다른 타이밍 데이터를 제1 미디어 스트림의 타임라인 정보로 번역하는 것을 포함한다.
실시예에서, 동기화 기능은:
- 복수의 수신기(receiver)들상에서 제1 미디어 스트림 및/또는 제2 미디어 스트림의 동기화된 재생(playback)을 가능하게 하기 위한 미디어 스트림 버퍼링(buffering) 또는 스킵핑 어헤드(skipping ahead),
- 수신기상에서 제1 미디어 스트림의 제2 미디어 스트림과의 동기화된 재생을 가능하게 하기 위한 미디어 스트림 버퍼링 또는 스킵핑 어헤드, 및
- 수신기상에서의 미디어 스트림 플레이아웃(media stream play-out)과 동기화한, 수신기상에서의 애플리케이션(application)의 트리거링(triggering)
으로 이루어지는 그룹의 하나일 수 있다.
미디어 스트림 버퍼링 또는 스킵핑 어헤드에 관한 동기화 기능들은, 복수의 사용자들의 복수의 수신기들에 걸친(across) 동일한 또는 유사한 미디어 스트림들의 동기화가 소망되는 상술한 소셜 TV 시나리오에서, 단일한 수신기에 대한 상이한 미디어 스트림들의 동기화가 소망되는 하이브리드 TV 시나리오에서, 그리고 TV 수신기와 동반 스크린 간의 동일한 또는 상이한 미디어 스트림 동기화가 소망되는 동반 스크린 시나리오에서 미디어 동기화를 성취하기 위해 바람직할 수 있다. 미디어 스트림 버퍼링은 수신기 그 자체에서, 즉 내부 동기화 클라이언트(internal synchronization client)를 이용해서, 수행될 수도 있고 수행될 필요가 없을 수도 있다는 점이 주목된다. 예를 들면, 미디어 스트림 버퍼링 또는 스킵핑 어헤드는 수신기의 업스트림의 미디어 배포 네트워크에 포함된 동기화 클라이언트에 의해 수행될 수도 있다. 애플리케이션에 대한 트리거링에 관한 동기화 기능들은 퀴즈 질문들, 광고들 등의 동기화된 프리젠테이션(synchronized presentation)을 수행하기 위해 바람직할 수 있으며, 또는 다른 타입의 액션(action)들을 수행하기 위한 애플리케이션을 트리거링하기(trigger) 위해 바람직할 수 있다.
실시예에서, 동기화 서브시스템은 동기화 서버(synchronization server) 및 복수의 동기화 클라이언트(synchronization client)들을 포함할 수 있고, 복수의 동기화 클라이언트들은 제2 미디어 스트림을 배포하도록 배치된 미디어 배포 네트워크의 세그먼트(segment) 내에 포함되어 있을 수 있고, 제2 스트림 모니터는 세그먼트 내에서 복수의 동기화 클라이언트들 중에 포함되어 있을 수 있다. 여기에서, '동기화 서버(synchronization server)'라는 용어는 클라이언트-서버 모델에 따라서, 즉 분산된 방식(distributed manner)으로, 미디어 동기화를 수행하기 위하여 동기화 클라이언트들과 협력하는(cooperate) 동기화 서브시스템 내의 개체를 지칭한다. 특히, 복수의 동기화 클라이언트들 각각은 엔드-유저의 수신기 내에 포함될 수 있는 반면에, 동기화 서버는 복수의 수신기들에 걸쳐 미디어 동기화를 오케스트레이팅(orchestrating)하는 것을 가능하게 하기 위해서 상기 수신기들의 외부에서 제공될 수 있다. 동기화 서버는, WO 2010106075 A1에서, 특히 문단 [0073] 등에서 기술된 미디어 동기화 애플리케이션 서버(Media Synchronization Application Server: MSAS)로서 동기화 클라이언트에 유사한 기능을 제공하기 위하여 본 발명에 따른 상관 서브시스템을 포함할 수 있다. 본 실시예의 이점은, 제2 미디어 스트림이 세그먼트에 걸쳐 분산되기 때문에 세그먼트에 걸친 타이밍 정보를 제1 미디어 스트림의 타이밍 정보와 상관시키는 것을 가능하게 하기 위해서 세그먼트 내에서 하나의 또는 한정된 수(limited number)의 스트림 모니터들만이 필요할 수 있다는 점이다. 한정된 수의 스트림 모니터들은 백업을 위해 존재할 수 있다. 그래서, 각각의 수신기가 스트림 모니터를 포함할 필요가 없을 수 있다. 오히려, 하나의 수신기만이 스트림 모니터를 포함할 수 있고, 또는 하나의 스트림 모니터만이 세그먼트 내에서 별개의, 즉 스탠드얼론(stand-alone), 개체로서 포함될 필요가 있을 수 있다. 이와 달리, 세그먼트는 복수의 스트림 모니터들을 포함할 수 있지만, 그 스트림 모니터들 중의 하나만이 활성화될(activated) 필요가 있을 수 있다.
실시예에서, 상관 서브시스템은, 제2 스트림 모니터에 의한 제2 미디어 스트림의 모니터링(monitoring)을 기초로 하여 동기화 클라이언트들이 제2 미디어 스트림에 관해서 동기화 기능을 수행하는 것을 가능하게 하기 위한 타이밍 정보를 세그먼트 내의 복수의 동기화 클라이언트들에 제공하도록 배치될 수 있다. 그래서, 미디어 동기화는 하나의 또는 한정된 수의 스트림 모니터들만에 의한 제2 미디어 스트림의 모니터링을 기초로 하여 복수의 동기화 클라이언트들에 걸쳐 채용될 수 있다. 예를 들면, 미디어 동기화는 복수의 수신기들에 걸쳐 채용될 수 있는데, 복수의 수신기들 각각은 동기화 클라이언트들 중의 하나를 포함하고, 복수의 수신기들은, 예컨대, 동일한 헤드-엔드의 다운스트림의 미디어 배포 네트워크의 동일한 세그먼트 내에 위치해 있고, 하나의 또는 한정된 수의 수신기들만이 아이덴티피케이션 정보를 제공해야 하고 그래서 상대적으로 더 높은 계산 복잡도 및/또는 더 높은 대역폭을 지원해야 한다.
실시예에서, 지속적 아이덴티피케이션은 하나 이상의 미디어 샘플들의: 핑거프린트(fingerprint), 워터마크(watermark), 및 마커(marker)로 이루어지는 그룹의 하나일 수 있다. 핑거프린트들 및 워터마크들은, 각각이 미디어 스트림의 배포 동안 미디어 스트림으로부터 재현가능하게 획득될 수 있는 데이터를 낳기 때문에 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션들 제공하기 위한 자신들의 능력에 대해서 잘 알려져 있다. 또한, 지속적 방식으로 미디어 스트림에 포함되는 마커들은 이러한 데이터가 상기 배포 동안 미디어 스트림으로부터 재현가능하게 획득되는 것을 가능하게 한다.
실시예에서, 미디어 배포 네트워크는 스트림 변경자의 다운스트림의 헤드-엔드를 포함할 수 있고, 제2 스트림 모니터는 헤드-엔드의 다운스트림에 또는 헤드-엔드 내에 포함될 수 있다. 여기에서, '헤드-엔드(head-end)'라는 용어는, 각각의 엔드 사용자들의 복수의 수신기들과 같이, 복수의 장치들에 대한 배포 지점으로서 기능하는 미디어 배포 네트워크 내의 기능적 개체(functional entity)를 지칭한다. 헤드-엔드의 다운스트림에서 또는 헤드-엔드 내에서 제2 스트림 모니터를 제공함으로써, 헤드-엔드를 통해서 배포되고 있는 제1 미디어 스트림의 변경된 버전의 타임라인 정보는 (변경되지 않은) 제1 미디어 스트림의 타임라인 정보와 상관될 수 있다. 그래서, 미디어 동기화는 헤드-엔드를 통해서 제1 미디어 스트림의 변경된 버전을 획득하는 모든 장치들에 대해서 가능할 수 있다. 특히, 헤드-엔드의 다운스트림의 미디어 배포 네트워크가 세그먼트로서 고려된다면, 단일한 또는 한정된 수의 스트림 모니터들만이 세그먼트 내에 배치되어서, 세그먼트 밖의, 즉, 다른 세그먼트들 내의 장치들과의 동기화를 가능하게 하거나 (변경되지 않은) 제1 스트림과 시간적으로만 사전에 관련되어 있는 스트림들과의 동기화를 가능하게 하는 것을 기초로 하여, 세그먼트 내의 모든 장치들에 대해 미디어 동기화가 가능할 수 있다.
본 발명의 다른 관점에서, 미디어 배포 네트워크가 본 시스템을 포함할 수 있다.
본 발명의 다른 관점에서, 스트림 모니터 및/또는 상관 서브시스템이 본 시스템에서 사용되는 바와 같이 제공될 수 있다.
본 발명의 다른 관점에서, 본 시스템과 함께 사용하기 위해 동기화 클라이언트가 제공될 수 있고, 동기화 클라이언트는, 상관 서브시스템에 대해 동기화 클라이언트가 포함되어 있는 세그먼트를 식별시키도록(identifying) 배치될 수 있다. 상관 서브시스템은 상이한 세그먼트들에 포함된 스트림 모니터들로부터 수신된 상이한 아이덴티피케이션 정보를 기초로 하여 미디어 배포 네트워크의 상이한 세그먼트들에서 사용하기 위한 타이밍 정보를 제공하도록 배치될 수 있다. 동기화 클라이언트가 포함되어 있는 세그먼트를 식별시킴으로써, 예컨대, 수동으로 설정된 파라미터(manually configured parameter), EPG(Electronic Program Guide)로부터의 파라미터, 수신된 스트림으로부터의 파라미터 등에 대해서 보고함으로써(reporting), 상관 서브시스템은 적절한 타이밍 정보를 동기화 클라이언트에 제공하는 것이 가능한데, 즉, 이것은 동기화 클라이언트와 동일한 세그먼트 내에 포함된 스트림 모니터의 아이덴티피케이션 정보를 기초로 한다.
본 발명의 다른 관점에서, 제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것(correlating)을 가능하게 하기 위한 방법이 제공되는데, 제1 미디어 스트림 및 제2 미디어 스트림 양쪽 모두는 공통 플레이아웃 타임라인과 연관되어 있고, 상기 상관시키는 것(correlating)은 적어도 두 개의 스트림 모니터들로부터 획득된 아이덴티피케이션 정보를 기초로 하고,
스트림 모니터들 각각은:
지속적 아이덴티피케이션은 미디어 스트림을 이용해서 재현가능하게 획득될 수 있는 데이터인데,
i) 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득함으로써,
ii) 미디어 스트림에 포함된 타임라인 정보로부터 지속적 아이덴티피케이션과 연관된 타임스탬프값을 결정함으로써, 및
iii) 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션 및 타임스탬프값을 아이덴티피케이션 정보로서 제공함으로써,
미디어 스트림에 대한 아이덴티피케이션 정보를 제공하도록 배치되고,
본 방법은:
- 적어도 두 개의 스트림 모니터들 중의 제1 스트림 모니터로부터 제1 미디어 스트림에 대한 제1 아이덴티피케이션 정보를 획득하는 단계;
- 적어도 두 개의 스트림 모니터들 중의 제2 스트림 모니터로부터 제2 미디어 스트림에 대한 제2 아이덴티피케이션 정보를 획득하는 단계;
- 제1 미디어 스트림의 제1 지속적 아이덴티피케이션을 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 매칭시켜서, 제1 미디어 스트림의 제1 타임스탬프값을 제2 미디어 스트림의 제2 타임스탬프값에 매칭시킴으로써, 제1 미디어 스트림의 타임라인 정보를 제2 미디어 스트림의 타임라인 정보에 상관시키는 것이 가능하도록 제1 아이덴티피케이션 정보를 제2 아이덴티피케이션 정보와 결합시키는 단계;
를 포함한다.
본 발명의 다른 관점에서, 프로세서 시스템(processor system)으로 하여금 본 방법을 수행하도록 하기 위한 명령어(instruction)들을 포함하는 컴퓨터 프로그램 제품이 제공될 수 있다.
본 발명의 상술한 실시예들, 구현예들, 및/또는 관점들 중의 둘 이상이 임의의 유용한 것으로 보이는 방식으로 결합될 수 있다는 점이 통상의 기술자에 의해서 이해될 것이다.
본 시스템의 상술한 변경들 및 변형례들에 대응하는 방법 및/또는 컴퓨터 프로그램 제품의 변경들 및 변형례들은 본 발명의 상세한 설명을 기초로 하여 통상의 기술자에 의해서 수행될 수 있다.
본 발명은 독립청구항들에서 정의된다. 또한, 유익한 선택적인(optional) 실시예들은 종속청구항들에서 정의된다.
도 1은 미디어 동기화를 위한 다수의 이용 사례들을 도시한다.
도 2는 스트림의 변경된 버전과 (변경되지 않은) 스트림 간의 타임라인 정보를 상관시키는 본 발명에 따른 시스템 및 스트림 변경자를 포함하는 미디어 배포 네트워크를 도시한다.
도 3은 세그먼트화된 미디어 배포 네트워크를 도시한다.
도 4는 이러한 세그먼트화된 미디어 배포 네트워크의 맥락에서 본 발명에 따른 시스템을 도시한다.
도 5는 미디어 스트림에 대해 파일-기반 액세스(file-based access)를 갖는 수신기들의 맥락에서 본 발명에 따른 시스템을 도시한다.
본 발명의 상술한 관점들 및 다른 관점들은 이하에서 기술되는 실시예들로부터 명확할 것이고, 실시예들을 참조하여 부연될 것이다.
상이한 도면들에서 동일한 레퍼런스 번호들을 갖는 아이템(item)들은 동일한 구조적 특징(structural feature)들 및 동일한 기능들을 가지거나 동일한 신호들이라는 점에 유의해야 한다. 이러한 아이템의 기능 및/또는 구조가 설명되었던 경우에는 상세한 설명에서 이것의 반복된 설명에 대한 필요성이 존재하지 않는다.
도 1은, 복수의 미디어 스트림(media stream)들(020-024)이 다양한 UE(User Equipment: 사용자 장비)(181-185)에 전달되는 미디어 배포 네트워크(media distribution network)(101)를 도시한다. 여기에서, 사용자 장비(User Equipment)라는 용어는 하나 이상의 미디어 스트림들을 수신하고 또한 전형적으로 플레이아웃하도록(playing-out) 배치된 엔드-유저(end-user)의 장치를 지칭한다. 이러한 장치는 또한 수신기(receiver), 터미널(terminal), 또는 엔드-터미널(end-terminal)이라고도 지칭된다. 도 1은 미디어 동기화의 다양한 이용 사례(use-case)들을 일반적으로 도시하는데, 여기서 미디어 스트림 A 발신자(originator)(110) 및 미디어 스트림 B 발신자(112)로부터 각각 발생하는(originating) 미디어 스트림 A(020) 및 미디어 스트림 B(022)는 두 개의 상이한 카메라 뷰(camera view)들을 제공하는 한편, 미디어 스트림 C 발신자(114)는 예컨대, 해설자 오디오 스트림(commentator audio stream)의 형태로 미디어 스트림 C(024)를 제공하는 부가가치 서비스 제공자로부터 유래될 수 있다. 예를 들면, 해설자는 미디어 스트림 B(022)를 보고 있을 수 있고, 미디어 스트림 C(024)를 이용해서 자신의 해설을 제공하고 있을 수 있다.
미디어 배포 네트워크(101)는, 줄여서 믹서(mixer)라고도 지칭되는 멀티플렉서(multiplexer)(122) 및 트랜스코더(transcoder)(120)의 형태로 스트림 변경자(stream modifier)들(120, 122)을 포함하는 것으로 도시된다. 트랜스코더(120)는 미디어 스트림 B(022)를 트랜스코딩함(transcode)으로써 미디어 스트림 B의 트랜스코딩된 버전(transcoded version)(040)을 제공하는 것으로 도시되는 한편, 멀티플렉서(122)는 미디어 스트림 B(022)를 미디어 스트림 C(024)와 멀티플렉싱함(multiplex)으로써 믹싱된 미디어 스트림(mixed media stream)(042)을 수립(establishing)하는 것으로 도시된다. 상술한 미디어 스트림들(020-042)은 이하의 이용 사례들의 실례를 들기 위해 다양한 사용자 장비에 전달되는 것으로 도시된다.
하이브리드 TV 이용 사례들:
1. UE1(181)는, 미디어 스트림 발신자 1로부터 DVB 스트림으로서 메인 브로드캐스트(main broadcast) 미디어 스트림을 수신하고 미디어 스트림 발신자 2로부터 MPEG-DASH 스트림으로서 보조(ancillary) 미디어 스트림을 수신하는 하이브리드 TV일 수 있다.
2. UE1(181)는 또한, 미디어 스트림 발신자 1로부터 DVB 스트림으로서 메인 브로드캐스트 미디어 스트림을 수신하고 미디어 스트림 발신자 2로부터 RTP/IP 스트림으로서 보조 미디어 스트림을 수신하는 하이브리드 TV일 수 있다.
3. UE1(181)는 또한, 미디어 스트림 발신자 1로부터 IPTV(Internet Protocol TV) 멀티캐스트 스트림으로서 메인 미디어 스트림을 수신하고 미디어 스트림 발신자 2로부터 RTP/IP 스트림으로서 보조 미디어 스트림을 수신하는 하이브리드 TV일 수 있다.
소셜 TV 이용 사례들:
1. UE2(182) 및 UE3(183)은 소셜 TV를 위해 이용되는 두 개의 TV들일 수 있다. UE2는 미디어 스트림 발신자 2로부터 미디어 스트림을 수신할 수 있는 반면에, UE3은 동일한 미디어 스트림의 트랜스코딩된 버전을 수신할 수 있다.
2. UE2(182) 및 UE4(184)는 소셜 TV를 위해 이용되는 두 개의 TV들일 수 있다. UE4는 미디어 스트림 발신자들 2 및 3로부터의 미디어 스트림들을 결합하는 믹싱된 미디어 스트림을 수신할 수 있다.
동반 스크린 이용 사례들:
1. UE2(182)는 TV일 수 있고, UE3(183)은 태블릿 장치일 수 있다. 하나의 미디어 스트림은 TV상에서 재생될(played) 수 있고, 이 미디어 스트림의 트랜스코딩된 버전은 태블릿 장치상에서 재생될(played) 수 있다.
2. UE2(182)는 TV일 수 있고, UE5(185)는 태블릿 장치일 수 있다. 하나의 미디어 스트림이 TV상에서 재생될(played) 수 있고, 상이한 미디어 스트림이 태블릿 장치상에서 재생될 수 있다.
본 발명은 미디어 스트림들 중의 둘 이상 간의 미디어 동기화를 가능하게 하기 위하여 상술한 이용 사례들에 적용될 수 있으며, 본 발명 그 자체는 도 2 내지 도 5를 참조하여 더 설명된다.
도 2는 본 발명에 따른 제1 실시예를 도시한다. 여기에서, 타임스탬프들 TSA의 형태로 타임라인 정보를 포함하는 미디어 스트림 A(020)를 제공하는 미디어 스트림 발신자 A(110)를 포함하는 미디어 배포 네트워크(102)가 도시된다. 미디어 스트림 A(020)는 트랜스코더(120)의 형태로 스트림 변경자(120) 및 UE1(181)에게 전달되는 것으로 도시된다. 트랜스코더(120)는, 타임스탬프들 TSB의 형태로 새로운 타임라인 정보를 포함하는, 미디어 스트림 A의 트랜스코딩된 버전, 줄여서, 미디어 스트림 B(040)를 생성하기 위하여 미디어 스트림 A(020)를 트랜스코딩하는 것으로 도시된다. 그래서, 미디어 스트림 A 및 미디어 스트림 B는 양쪽 모두가 공통 플레이아웃 타임라인(common play-out timeline)과 연관되어(associated) 있지만 상이한 타임라인 정보를 포함한다. 미디어 스트림 B(040)는 UE2(182)에게 전달되는 것으로 도시된다.
도 2는 나아가 미디어 스트림 A와 미디어 스트림 B 간의 타임라인 정보를 상관시키는 것(correlating)을 가능하게 하기(enabling) 위한 시스템을 도시한다. 본 시스템은 두 개의 스트림 모니터(stream monitor: SM)들, 즉, 스트림 모니터 A(201) 및 스트림 모니터 B(202)를 포함한다. 본 발명에 따라서, 스트림 모니터들 각각은, i) 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득함으로써, ii) 미디어 스트림에 포함된 타임라인 정보로부터 지속적 아이덴티피케이션과 연관된 타임스탬프값(timestamp value)을 결정함으로써, 및 iii) 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션 및 타임스탬프값을 아이덴티피케이션(identification) 정보로서 제공함으로써, 미디어 스트림에 대한 아이덴티피케이션 정보를 제공하도록 배치될 수 있고, 지속적 아이덴티피케이션(persistent identification)은 미디어 스트림을 이용해서 재현가능하게 획득될(reproducibly obtained) 수 있는 데이터이다.
특히, 도 2는 미디어 스트림 A(020)를 위한 아이덴티피케이션 정보 A(080)를 제공하는 스트림 모니터 A(201) 및 미디어 스트림 B(040)를 위한 아이덴티피케이션 정보 B(082)를 제공하는 스트림 모니터 B를 도시한다.
도 2는 또한 미디어 스트림 A와 미디어 스트림 B 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 앞서 상술한 시스템의 일부인 상관 서브시스템(correlation subsystem)(300)을 도시한다. 상관 서브시스템(300)은 스트림 모니터 A(201)로부터 아이덴티피케이션 정보 A(080)를 수신하고 스트림 모니터 B(202)로부터 아이덴티피케이션 정보 B(082)를 수신하는 것으로 도시된다. 본 발명에 따라서, 상관 서브시스템은 미디어 스트림 A의 타임라인 정보를 미디어 스트림 B의 타임라인 정보와 상관시키는 것을 가능하게 하기 위하여 아이덴티피케이션 정보 A를 아이덴티피케이션 정보 B와 결합시키도록(combining) 배치될 수 있다. 이러한 목적을 위해서, 상관 서브시스템(300)은 미디어 스트림 A의 지속적 아이덴티피케이션을 미디어 스트림 B의 지속적 아이덴티피케이션에 매칭시킬(match) 수 있고, 이로써 제1 미디어 스트림의 타임스탬프값, 예컨대, 타임스탬프들 TSA 중의 하나를 제2 미디어 스트림의 타임스탬프값, 예컨대, 타임스탬프들 TSB 중의 하나에 매칭시킬 수 있다.
이하는 시스템의 작동의 더욱 상세한 예를 제공한다. 이 예에서, 스트림 모니터 A 및 스트림 모니터 B는 이들 각각의 아이덴티피케이션 정보로서 이하의 타임스탬프값들을 제공하는 것으로 가정된다(assumed):
- 스트림 모니터 A는 1:43:32.200라는 타임스탬프값 A를 제공할 수 있는데, 이것은 표준 클럭 포맷(regular clock format)이고, 또한 표준 클럭(regular clock)처럼 증가할 수 있다.
- 스트림 모니터 B는 3,600,000의 타임스탬프값 B를 제공할 수 있는데, 이것은 RTP 타임스탬프이고, 이것에 위한 클럭 레이트(clock rate)는 알려져 있지 않을 수 있다.
그리고 나서, 상관 서브시스템(300)은 연관된 지속적 아이덴티피케이션들을 시간에 맞춰(in time) 매칭시킴으로써 양쪽 타임스탬프값들을 상관시킬 수 있다. 예를 들면, 상관 서브시스템(300)은 지속적 아이덴티피케이션들 A와 B가 4 초의 플레이아웃 시간 차이를 가진다는 것을 결정할 수 있으며, 이 경우에는 미디어 스트림 A가 앞선다(ahead). 이러한 목적을 위해서, 상관 서브시스템(300)은 추가적인 아이덴티피케이션 정보를 이용할 수 있는데, 추가적인 아이덴티피케이션 정보는 복수의 지속적 아이덴티피케이션들 및 공통 플레이아웃 타임라인상의 연관된(associated) 복수의 플레이아웃 시간들을 포함한다. 이러한 추가적인 아이덴티피케이션 정보는 스트림 모니터들 A 또는 B 중의 하나로부터 획득되었을 수 있고, 또는 미리 결정된 형태로 이러한 아이덴티피케이션 정보를 포함하는 데이터베이스로부터 획득되었을 수 있다. 이와 달리, 상관 서브시스템(300)은 이러한 추가적인 아이덴티피케이션 정보 없이 지속적 아이덴티피케이션들 A 및 B를 시간에 맞춰(in time) 매칭시킬 수 있다. 예를 들면, 지속적 아이덴티피케이션들 A 및 B가 동일 또는 유사하다면, 상관 서브시스템(300)은 양쪽 모두가 동일한 또는 유사한 플레이아웃 시간과 관련이 있다고 결정할 수 있다. 또한, 지속적 아이덴티피케이션들 A 및 B는 이들이 어떻게 시간에 맞춰(in time) 매칭될지를 그 자체로 나타낼 수 있다.
3,600,000의 타임스탬프값 B에 대해서 클럭 레이트를 모르더라도, 그럼에도 불구하고 예컨대 타임스탬프값 A로부터 4 초의 차이를 빼서(subtracting) 1:43:28.200의 타임스탬프값을 낳음(yielding)으로써, 미디어 스트림 A의 타임라인 정보가 미디어 스트림 B의 타임라인 정보에 상관될(correlated) 수 있다. 그래서, 미디어 스트림 A에 대한 1:43:28.200의 타임스탬프값은 미디어 스트림 B에 대한 3,600,000의 타임스탬프값과 대응한다(correspond)고 결정될 수 있다.
하지만, 몇몇 경우들에 있어서, 타임스탬프와 연관된 클럭 레이트와 같은 추가적인 정보가 필요할 수 있다. 이하의 예에서, 스트림 모니터 A 및 스트림 모니터 B는 이들 각각의 아이덴티피케이션 정보의 일부로서 이하의 타임스탬프값들을 제공하는 것으로 가정된다:
- 스트림 모니터 A는 512,000의 타임스탬프값 A를 제공할 수 있다.
- 스트림 모니터 B는 1,312,000의 타임스탬프값 B를 제공할 수 있다.
다시 말해, 지속적 아이덴티피케이션들 A 및 B는 4 초의 플레이아웃 시간 차이를 가지되, 미디어 스트림 A가 앞선다고 가정된다. 상술한 타임스탬프값들 A 및 B를 상관시키기 위하여, 각각 이용된 클럭 레이트들이 필요할 수 있다. 이것은, 예컨대, 스트림 모니터들 A(201) 및/또는 B(202)에 의해 결정되는 바와 같은 이용된 A/V 프로파일(used A/V profile)들로부터 도출될 수 있고, 또는 UE에 의해 상관 서브시스템(300)에 전해질(communicated) 수 있다. 이러한 구처젝인 예에서, 스트림들 양쪽 모두는 오디오를 운반하는 RTP 스트림들이다. 그래서, 상관 서브시스템은 미디어 스트림 A의 클럭 레이트가 16,000이고, 미디어 스트림 B의 클럭 레이트가 8,000이라고 결정할 수 있다.
이러한 추가적인 정보는 타임스탬프값들 A 및 B가 상관되는 것을 가능하게 한다. 미디어 스트림 A는 4 초만큼 앞서기 때문에, 두 개의 타임스탬프들을 상관시키기 위하여 타임스탬프값 A로부터 4 초가 빼질 수 있다(또는, 4 초가 타임스탬프값 B에 더해질 수 있다). 미디어 스트림 A의 타임라인 정보에 있어서, 4 초 곱하기 16,000은 64,000이고, 그래서 512,000 - 64,000 = 448,000의 타임스탬프값 A는 1,312,000의 타임스탬프값 B에 대응하는 것으로 결정된다.
이와 관련하여, 타임라인 정보는 소정의 입도(granularity)를 가질 수 있다는 점, 즉, 포함된 타임스탬프들 또는 다른 타이밍(timing) 데이터가 정당한(legal) 값들 및 부당한(illegal) 값들을 가질 수 있다는 점에 유의한다. 이러한 정보는 또한 상관 서브시스템(300)에 의해 이용될 수 있는데, 예컨대, 계산된 타임스탬프값을, 타임라인 정보의 입도(granularity)를 고려한 가장 가까운 정당한 값으로 반올림하는(round) 데에 이용될 수 있고, 결과적으로는 타임스탬프로 반올림하는(round) 데에 이용될 수 있다.
도 2는 상관 서브시스템(300)의 출력, 즉 타이밍 정보(090)를 도시하는데, 타이밍 정보(090)는 타이밍이 정해진 이벤트(timed event)들을 브로드캐스트(broadcast)와 동기화하는 데에 이용되고, 특히, 수신기상의 미디어 스트림 플레이아웃(media stream play-out)과 동기화하여 수신기, 즉 UE2(182)상의 애플리케이션(application)을 트리거링(triggering)하는 데에 이용된다. 이러한 동기화는 동기화 기능(synchronization action)의 예이다. 상관 서브시스템(300)의 출력을 기초로 하여 수행될 수 있는 동기화 기능들의 다른 예들은, 복수의 수신기들상의 하나 이상의 미디어 스트림들의 동기화된 재생(playback)을 가능하게 하기 위한 미디어 스트림 버퍼링(buffering) 또는 스킵핑 어헤드(skipping ahead) 및 (단일한) 수신기의 둘 이상의 미디어 스트림들의 동기화된 재생을 가능하게 하기 위한 미디어 스트림 버퍼링 또는 스킵핑 어헤드를 포함한다.
타이밍이 정해진 이벤트들을 하나 이상의 브로드캐스팅된 미디어 스트림(broadcasted media stream)과 동기화하는 것은 그 자체가 알려져 있다. 이러한 동기화는, 예컨대, 집에 있는 사용자들이 방송에서의 참가자들과 동시에 질문들을 보는 것이 가능하게 되어서 이들이 함께 게임을 할(play along) 수 있도록 함으로써, 집에 있는 사용자들이 함께 게임을 할 수 있는 퀴즈쇼들을 가능하게 한다. 예컨대 메타데이터 형태로 이벤트들을, 미디어 콘텐츠를 운반하는 컨테이너 안에 삽입해서 이벤트들을 미디어 스트림에 직접 링크시키는(linking) 브로드캐스터에 의해 이러한 이벤트들이 수신기에 나타날 수 있다. 하지만, 이러한 메타데이터는 다양한 미디어 배포 네트워크들을 통해서 지나가지 않을 수 있다. 또한, 퀴즈쇼에서 함께 게임을 하기 위한 질문(quiz show play-along question)들은 태블릿 장치와 같은 2차 장치(secondary device)상에 보일 수 있는데, 그래서 이러한 2차 장치가 TV와 같은 1차 디스플레이 장치(primary display device)와 동기화될 필요가 있을 것을 요한다.
도 2는 UE1(182) 및 UE2(182)에 이벤트 정보(322)를 제공함으로써 타임스탬프 TSA,i에서, 즉 미디어 스트림 A 내의 특정한 타임스탬프에서 소정의 이벤트 A를 나타내도록 배치된 이벤트 서버(event server)(350)를 도시한다. 이러한 이벤트는 텔레비전 게임쇼에서 질문되고 있는 퀴즈 질문에 대응하거나, 투표를 제출할 시간이 종료되었음을 나타낼 수 있다. 이벤트 서버(350)에 의해 표시된 타임스탬프 TSA,i가 미디어 스트림 A에서의 것들에 대응하는 때에, UE1(181)는 적절한 시간에 이 이벤트에 따라서 직접 작동할 수 있다. 여기에서, '~에 대응하는(corresponds to)'라는 용어는 수신된 미디어 스트림의 타임라인 정보의 관점, 즉 다른 타임스탬프 TSA로서 표현되고 있는 타임스탬프 TSA,i를 지칭한다. 그래서, UE1(181)은 직접 그리고 적절한 시기에, 즉, 미디어 스트림 A의 미디어 스트림 플레이아웃과 동기화하여, 예컨대, 퀴즈 질문을 그래픽적으로 나타내는 UE1상에 애플리케이션을 트리거링할 수 있다. 하지만, UE2(182)는 이벤트 정보(322)를 직접적으로 이용할 수 없다. UE2(182)가 이벤트 정보(322)를 이용하는 것이 가능하지만, 상관 서브시스템(300)은 UE2(182)로 하여금, 타임스탬프 TSA,i를, 미디어 스트림 B에 포함된 타임라인 정보의 타임스탬프들 TSB에 대응하는 타임스탬프 TSB,i로 번역하는(translate) 것을 가능하게 하는 상관 정보(090)를 UE2(182)에 제공하는 것으로 도시된다.
상관 서브시스템(300)이 상관 정보(090)를 UE2(182)에 제공하는 것으로 도시되지만, 이러한 정보는 이벤트 서버(350)에도 제공될 수 있다는 점이 이해될 것이다. 그래서, 이벤트 서버(350)는 각각의 미디어 스트림들의 타임라인 정보의 타임스탬프들에 대응하는 이벤트 정보(322)를 수신기들 각각에 제공하는 것이 가능하게 될 수 있는데, 즉, UE1(182)에는 타임스탬프 TSA,i의 형태로, UE2(182)에는 타임스탬프 TSB,i의 형태로 제공하는 것이 가능하게 될 수 있다.
본 발명은 유익하게는 세그먼트화된 미디어 배포 네트워크에서 미디어 동기화를 가능하게 하는 데에 이용될 수 있다. 여기에서, 세그먼트화된 미디어 배포 네트워크(segmented media distribution network)라는 용어는 하나 이상의 미디어 스트림들이 걸쳐서 배포되는 여러 개의 세그먼트(segment)들을 포함하는 미디어 배포 네트워크를 지칭한다.
도 3은 이러한 세그먼트화된 미디어 배포 네트워크(103)의 예를 도시한다. 미디어 배포 네트워크(103)는 트랜스코더(120) 및 멀티플렉서(122)의 형태로 미디어 스트림 발신자들(110-114) 및 스트림 변경자들(120, 122)을 포함하는 것으로 도시된다. 도 1의 미디어 배포 네트워크와의 차이점은 도 3에서는 미디어 스트림들이 미디어 배포 네트워크(103)의 헤드-엔드(head-end)들(141-145)로 전달되는 것으로 도시된다는 점이고, 헤드-엔드들 각각은 각각의 엔드 유저(end user)들의 복수의 수신기들과 같은 복수의 장치들을 위한 배포 지점처럼 작동한다. 그래서, 헤드-엔드는 미디어 배포 네트워크(103)의 다수의 세그먼트(segment)들(161-165)을 수립하고(establish), 이들 각각은 상이한 복수의 장치들을 포함한다. 도 3은 이러한 미디어 배포 네트워크(103)의 흔한 구성을 도시하는데, 여기서 스트림 변경자들(120, 122)은 헤드-엔드들의 다운스트림(downstream)이 아니라 헤드-엔드들(141-145)의 업스트림(upstream)의 미디어 배포 네트워크(103) 내에 포함될 수 있다.
본 발명은, 특히, 수신기 그 자체에서의 이러한 변경들을 배제하는 경우에, 각각의 세그먼트 내의 미디어 스트림의 타임라인 정보가 실질적으로 전체 세그먼트에 대해서 동일하다는 가정을 기초로 하여 이러한 세그먼트화된 미디어 배포 네트워크에 적용될 수 있다.
도 4는 이것의 결과를 도시하는데, 도 4에서는 이러한 세그먼트화된 미디어 배포 네트워크(104)의 맥락에서 본 발명에 따른 시스템을 도시한다. 여기에서, 3개의 미디어 스트림 오리지네이션들(110-114) 및 4개의 헤드-엔드들(141-144)이 도시된다. 헤드-엔드들(141-144) 각각은 수신기들의 세트(set)로서 기능하는데, 수신기들 각각은 동기화 클라이언트(synchronization client: SC)를 포함한다. 명확화를 위해서, 도 4는 수신기들 그 자체를 도시하는 것이 아니라 세그먼트들 각각에서의 동기화 클라이언트들(400)만을 도시한다. 게다가, 도 4의 각각의 세그먼트는 3개의 동기화 클라이언트들만을 포함하고 그래서 3개의 수신기들의 이용만을 나타내지만, 실제로 이러한 세그먼트는 현저하게 더 많은 수의 수신기들 및 연관된 동기화 클라이언트들을 포함할 수 있다는 점이 이해될 것이다. 도 4는 세그먼트들의 각각에 배치된, 즉, 헤드-엔드들(141-144)의 각각의 다운스트림에 배치된 스트림 모니터(201-204)를 더 도시한다.
도 4의 맥락 내에서 시스템의 작동은 다음과 같이 설명된다. 각각의 미디어 스트림은 각각의 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득하는 지속적 아이덴티피케이션 유닛(persistent identification unit)을 패스(pass)할 수 있다. 지속적 아이덴티피케이션 유닛들은 핑거프린팅, 워터마킹, 및/또는 마커(Fingerprinting, Watermarking, and/or Marker : FWM) 유닛들(210-214)로서 도 4에 도시된다. 도 4에 도시된 바와 같이, 상이한 FWM 유닛들(210-214)은 서로 통신할 수 있고, 마스터 벽시계(master wall clock)를 가질 수 있어서, 이로써 지속적 아이덴티피케이션들이 시간에 맞춰(in time) 관련이 있을 수 있도록 한다. 부가적으로 또는 대안적으로, FWM 유닛들(210-214)의 지점(point)에서 미디어 스트림들 간의 정확한 동기화를 수립하기 위하여 브로드캐스터 또는 부가가치 서비스 제공자에 의한 수작업에 의한 편집적 제어(manual editorial control)가 존재할 수 있다. FWM 유닛(FWM unit)은 지속적 아이덴티피케이션(들)을 획득하기 위해서 핑거프린팅을 채용할 수 있다. 이 경우에, FWM 유닛은 미디어 스트림을 소극적으로(passively) 모니터링할 수 있다. FWM 유닛은 또한 워터마킹 또는 마킹(marking)을 채용할 수 있다. 이 경우들에 있어서, FWM 유닛은 이 (워터)마크들을 각각의 미디어 스트림에 적극적으로(actively) 배치할 수 있다. 그 결과, FWM 유닛들(210-214)은 동시에 플레이아웃되어야 하는 상이한 세그먼트들로부터의 미디어 샘플들을 상관시키는 복수의 지속적 아이덴티피케이션들을 제공할 수 있다. 파선 화살표(dashed arrow)로 도 4에서 표시된 바와 같이, 이러한 정보는 아이덴티피케이션 정보의 형태로 상관 서브시스템(300)에 제공될 수 있다. 이러한 아이덴티피케이션 정보는 미디어 스트림들의 타임라인 정보의 연관된 타임스탬프들, 즉, 콘텐츠 타임스탬프(content timestamp)들을 더 포함할 수 있다. 실질적으로, 각각의 FWM 유닛(210-214)은 미디어 스트림의 미디어 샘플들의 지속적 아이덴티피케이션들 및 연관된 타임스탬프들을 제공할 수 있다는 점에서 스트림 모니터를 구성할 수 있다.
헤드-엔드들(141-144)에 의해서 수립된 각각의 세그먼트에 있어서, 세그먼트들 각각에서 전달되는 미디어 스트림으로부터 지속적 아이덴티피케이션을 획득하는 스트림 모니터(201-204)가 배치된다. 지속적 아이덴티피케이션은 FWM 유닛들(210-214)의 것과 타입에 있어서 일치할 수 있다. 그리고 나서, 각각의 스트림 모니터(201-204)는 미디어 스트림의 하나 이상의 지속적 아이덴티피케이션들 및 타임라인 정보로부터의 연관된 타임스탬프들을 포함하는 아이덴티피케이션 정보를 상관 서브시스템(300)에 제공한다. 그리고 나서, 상관 서브시스템(300)은, 하나의 세그먼트 내의 미디어 스트림의 지속적 아이덴티피케이션을 다른 세그먼트 내의 제2 미디어 스트림의 지속적 아이덴티피케이션에 시간에 맞춰(in time) 매칭(matching)시켜서, 연관된 타임스탬프값들을 시간에 맞춰 매칭시킴으로써, 세그먼트들 각각에서의 미디어 스트림들의 타임라인 정보를 상관시키는 것을 가능하게 하도록 아이덴티피케이션 정보를 결합시킬 수 있다. 그래서, 상관 서브시스템(300)은, 상이한 세그먼트들 사이에서 미디어 스트림들의 타임스탬프들이 어떻게 상관될지를 결정하는 것이 가능하게 될 수 있다.
도 4에서는 도시되지 않았지만, 헤드-엔드들(141-144)이 동일한 미디어 스트림의 상이한 변경된 버전(modified version)들 및/또는 변경되지 않은 버전(unmodified version)들을 수신하는 경우에, 하나의 세그먼트로부터의 지속적 아이덴티피케이션이 다른 세그먼트로부터의 지속적 아이덴티피케이션에 시간에 맞춰 직접(directly) 매칭될 수 있기 때문에 FWM 유닛들이 필요하지 않을 수 있다는 점이 주목된다.
도 4는 동기화 서버(synchronization server), 즉 미디어 동기화 애플리케이션 서버 (Media Synchronization Application Server: MSAS)에 포함되어 있는 상관 서브시스템(300)을 도시한다. MSAS(300) 및 동기화 클라이언트들(400)은 이들이 미디어 스트림과 관련하여 동기화 기능이 수행될 수 있도록 한다는 점에서 동기화 서브시스템(correlation subsystem)을 형성한다. 도 4의 MSAS(300)는 FWM 유닛들(210-214) 및 동기화 모니터들(201-204)로부터 아이덴티피케이션 정보를 수신하는 것으로 도시된다. MSAS(300)는 하나 이상의 동기화 클라이언트들(400)을 위한 타이밍 정보를 생성하기 위해 이 정보를 결합할 수 있다. 예를 들면, 타이밍 정보는 수신기가 수신하고 있는 미디어 스트림으로부터 타임라인 정보의 관점에서 표현된 타임스탬프를 포함할 수 있고, 이로써 하나 이상의 동기화 클라이언트들(synchronization client)(400)이 수신된 미디어 스트림과 관련하여 동기화 기능을 수행하는 것을 가능하게 한다.
도 4에 도시된 바와 같이, 본 발명에 따라서, 각각의 개별 세그먼트에서의 동기화 클라이언트들(400)의 수에 비하여 한 개 또는 한정된 수의 스트림 모니터들(201-204)만을 제공하는 것이 충분할 수 있다. 만일 MSAS(300)가 복수의 세그먼트들을 제공한다면, MSAS(300)는 각각의 동기화 클라이언트(400)가 어느 세그먼트에 속하는지를 결정할 필요가 있을 수 있다. 여기에서, 세그먼트는 스트림 모니터와 관련하여 MSAS(300) 내에서 정의될 수 있다는 점이 주목된다. 그래서, 스트림 모니터가 세그먼트와 연관될(associated) 필요 없이, 오히려 동기화 클라이언트들이 스트림 모니터와 연관되어서 세그먼트들을 수립할 필요가 있을 수 있다. 이러한 정보는 각각의 동기화 클라이언트(400)에 의해 묵시적으로(implicitly) 또는 명시적으로(explicitly) 제공될 수 있다. 예를 들면, 동기화 클라이언트는 수동으로 설정된 파라미터(manually configured parameter), EPG(Electronic Program Guide)로부터의 파라미터, 수신된 스트림으로부터의 파라미터 등에 대해서 보고할(report) 수 있다. 후자의 예는 RTP 스트림들로부터의 SSRC 파라미터, 동기화 소스(Synchronization Source)일 수 있다. 이와 달리, MSAS(300)는 네트워크 주소들, 라우팅(routing) 정보 등을 기초로 하여 세그먼트를 검출할 수 있다.
본 발명은 스트리밍되고 있는 하나 이상의 미디어 스트림들의 맥락에서 앞서 기술되었다. 하지만, 이러한 미디어 스트림들은, 예컨대, 파일로부터 액세스됨으로써 스트리밍이 아닌(non-streaming) 방식으로도 수신기에 의해 액세스될(accessed) 수 있다.
도 5는 미디어 스트림에 대해 파일-기반 액세스(file-based access)를 갖는 수신기들의 맥락에서 본 발명에 따른 시스템을 도시한다. 이 실시예는 레코딩된 미디어 스트림들이 다양한 방식으로 획득될 수 있는 이하의 이용 사례(use-case)를 기초로 한다. 예를 들면, 네트워크에서의 레코딩 기능(recording functionality)을 이용해서(Network-PVR) 또는 자신의 위치에서의 PVR(Personal Video Recorder)을 가지고(User-PVR) 영화가 레코딩될 수 있다. 동일한 영화는, 예컨대, VoD(Video on Demand) 인터넷 서비스를 통해서 다운로드될 수도 있고, 또는 DVD 또는 Blu-ray를 구매함으로써 획득될 수도 있다.
이렇게 상이하게 소싱된 레코딩(differently sourced recording)들의 타임라인 정보는 상이할 수 있지만, 레코딩들의 미디어 스트림들이 동시에 플레이아웃되는 것이 가능할 필요성이 존재할 수 있으며, 또는 일반적으로 타임라인 정보가 이러한 미디어 스트림들 간에 상관될 필요성이 존재할 수 있다. 도 5는 각각 2개의 수신기들로 이루어진 2개의 클러스터(cluster)들, 즉, 제1 및 제2 수신기(191, 192)를 포함하는 제1 클러스터(171) 및 제3 및 제4 수신기(193, 194)를 포함하는 제2 클러스터(172)를 도시함으로써 이 이용 사례를 보인다. 각각의 파일들이 수신기들 각각의 로컬 스토리지(local storage)에 저장되어 있어서, 제1 클러스터(171)의 수신기들(191, 192) 각각은 제1 파일에 대한 액세스를 가질(have access) 수 있고, 제2 클러스터(172)의 수신기들(193, 194) 각각은 제2 파일에 대한 액세스를 가질 수 있다. 제1 파일 및 제2 파일은, 예컨대, 동일한 영화의 상이한 레코딩들을 포함할 수 있어서, 그래서 각각은 상이한 미디어 스트림을 제공한다. 그래서, 각각의 파일들에 포함된 바와 같은 미디어 스트림들은 상이한 타임라인 정보를 포함할 수 있다.
도 5의 예에서, 제1 수신기(191) 및 제3 수신기(193)는 각각 스트림 모니터(SM1, SM3)를 포함하고, 각각의 스트림 모니터는, i) 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득하고, ii) 미디어 스트림에 포함된 타임라인 정보로부터 지속적 아이덴티피케이션과 연관된 타임스탬프값을 결정하고, iii) 하나 이상의 미디어 샘플들의 타임스탬프값 및 지속적 아이덴티피케이션을 아이덴티피케이션 정보로서 제공함으로써, 파일의 미디어 스트림에 대한 아이덴티피케이션 정보를 제공하도록 배치된다.
특히, 도 5는 MSAS(300)에 아이덴티피케이션 정보를 제공하는 스트림 모니터(SM1) 및 스트림 모니터(SM3)를 도시한다. 제1 파일의 미디어 스트림으로부터의 제1 지속적 아이덴티피케이션을 제2 파일의 미디어 스트림으로부터의 제2 지속적 아이덴티피케이션에 매칭시키기 위하여, MSAS(300)는 복수의 지속적 아이덴티피케이션들 및 공통 플레이아웃 타임라인상의 연관된 복수의 플레이아웃 시간들을 포함하는 아이덴티피케이션 정보에 액세스할 수 있다. 아이덴티피케이션 정보는 데이터베이스(database)(310)상에 포함되어 있을 수 있고, 레퍼런스 아이덴티피케이션 정보(reference identification information)를 구성할 수도 있는데, 이것이 예컨대, 하나 이상의 영화들, 비디오 프로그램들 등의 모든 핑거프린트들을 포함할 수 있기 때문이다. 그래서, MSAS(300)는 제1 지속적 아이덴티피케이션을 시간에 맞춰 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 매칭시킴으로써, 제1 파일의 미디어 스트림의 제1 타임스탬프값을 제2 파일의 미디어 스트림의 제2 타임스탬프값에 매칭시킬 수 있다.
수신기들에 걸쳐 인터-데스티네이션 미디어 동기화를 획득하기 위하여, 수신기들 각각에서의 동기화 클라이언트는 이제 파일의 미디어 스트림의 타임스탬프들을 기초로 하여 미디어 수신 및/또는 플레이아웃 타이밍에 대해 보고할 수 있고, 응답으로, 각각의 미디어 스트림과 관련해서 동기화 기능이 수행되는 것을 가능하게 하는 타이밍 정보를 MSAS(300)로부터 수신할 수 있다.
도 3 및 4의 세그먼트들과 유사하게, MSAS(300)는 수신기 또는 이것의 동기화 클라이언트가 어느 클러스터에 속하는지를 결정할 필요가 있을 수 있다. 도 5의 예에서, 클러스터는 스트리밍 모니터(201, 203)와 관련하여 MSAS(300)에서 정의될 수 있기 때문에, MSAS(300)로 하여금 각각의 수신기가 스트림 모니터(SM1)를 포함하는 제1 클러스터(171) 내에 위치해 있는지 또는 스트림 모니터(SM2)를 포함하는 제2 클러스터(172) 내에 위치해 있는지를 식별할 수 있도록 하기 위한 정보를 제공할 필요가 있을 수 있는 것은 단지 제2 수신기(192)와 제4 수신기(194)만일 수 있다. 이러한 정보는, 예컨대, TV 프로그램을 레코딩할 때, 레코딩되고 있는 TV 프로그램, 레코딩을 프로그래밍하기 위해 이용되는 EPG, 레코더(recorder)의 타입, TV 제공자, 레코딩된 프리쇼 타이밍 세팅(recorded pre-show timing setting)들 등과 같은 세부사항들을 제공함으로써, 각각의 수신기의 동기화 클라이언트(402, 404)에 의해 제공될 수 있다. 만일 파일이 VoD 제공자로부터 다운로드된다면, 제공자는 다운로드된 콘텐츠 아이템의 아이덴티피케이션과 함께 표시될 수 있다. 만일 파일이 DVD 또는 Blu-ray 디스크로부터 획득된다면, 디스크상의 다른 식별자(identifier)들과 함께 콘텐츠 아이템이 이용될 수 있다. 다른 정보는 콘텐츠의 정확한 길이, 사용된 코덱들, 이용가능한 EPG 정보 등을 포함한다.
IPTV 제공자의 영역에서는 한정된 수의 상이한 타입의 수신기들, 즉, 셋톱 박스(set-top box)들만이 존재할 수 있기 때문에, 도 5의 예가 IPTV 영역에 유익하게 적용될 수 있다는 점이 이해될 것이다. 그래서, 단지 몇 개의 수신기들만이 아이덴티피케이션 정보를 제공할 필요가 있을 수 있는데, 예컨대, 각각의 상이한 타입 중의 하나의 수신기만이 스트림 모니터를 포함할 필요가 있으며, 이러한 정보는 추후에 동일한 타입의 모든 다른 수신기들을 위한 타이밍 정보를 제공하는 데에 이용된다.
본 발명에 따른 방법은 제1 미디어 스트림과 제2 미디어 스트림 간에 타임라인 정보를 상관시키는 것(correlating)을 가능하게 할 수 있는데, 제1 미디어 스트림과 제2 미디어 스트림 양쪽 모두는 공통 플레이아웃 타임라인과 연관되어(associated) 있고, 상기 상관시키는 것(correlating)은 적어도 두 개의 스트림 모니터들로부터 획득된 아이덴티피케이션 정보를 기초로 하고, 스트림 모니터들 각각은,
i) 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득함으로써, 지속적 아이덴티피케이션은 미디어 스트림을 이용해서 재현가능하게 획득될 수 있는 데이터임,
ii) 미디어 스트림에 포함된 타임라인 정보로부터 지속적 아이덴티피케이션과 연관된 타임스탬프값을 결정함으로써, 및
iii) 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션 및 타임스탬프값을 아이덴티피케이션 정보로서 제공함으로써,
미디어 스트림에 대한 아이덴티피케이션 정보를 정보를 제공하도록 배치된다.
본 방법은 "제1 미디어 스트림에 대한 아이덴티피케이션 정보를 획득하기(OBTAINING IDENTIFICATION INFORMATION FOR FIRST MEDIA STREAM)"라는 제목이 붙은 제1 단계에서 적어도 두 개의 스트림 모니터들 중의 제1 스트림 모니터로부터 제1 미디어 스트림에 대한 제1 아이덴티피케이션 정보를 획득하는 것을 포함할 수 있다. 본 방법은 "제1 미디어 스트림에 대한 아이덴티피케이션 정보를 획득하기(OBTAINING IDENTIFICATION INFORMATION FOR SECOND MEDIA STREAM)"라는 제목이 붙은 제2 단계에서 적어도 두 개의 스트림 모니터들 중의 제2 스트림 모니터로부터 제2 미디어 스트림에 대한 제2 아이덴티피케이션 정보를 획득하는 것을 더 포함할 수 있다. 본 방법은 "양쪽 미디어 스트림 간에 타임라인 정보를 상관시킬 수 있도록 아이덴티피케이션 정보를 결합하기(COMBINING THE IDENTIFICATION INFORMATION TO ENABLE CORRELATING TIMELINE INFORMATION BETWEEN BOTH MEDIA STREAM)"라는 제목이 붙은 제3 단계에서 제1 미디어 스트림의 제1 지속적 아이덴티피케이션을 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 매칭시켜서 제1 미디어 스트림의 제1 타임스탬프값을 제2 미디어 스트림의 제2 타임스탬프값에 매칭시킴으로써 제1 미디어 스트림의 타임라인 정보를 제2 미디어 스트림의 타임라인 정보에 상관시킬 수 있도록 제1 아이덴티피케이션 정보를 제2 아이덴티피케이션 정보와 결합시키는 것을 더 포함할 수 있다.
제1 단계와 제2 단계는 임의의 적절한 순서로 수행될 수 있을 뿐만 아니라 동시에 수행될 수 있다는 점이 주목된다. 게다가, 제1 단계와 제2 단계 중의 어느 한쪽 또는 양쪽 모두는 반복해서(repeatedly) 수행될 수 있고, 이로써 제3 단계 동안 제1 지속적 아이덴티피케이션을 복수의 지속적 아이덴티피케이션들에 매칭시켜서 제2 속적 아이덴티피케이션을 식별함으로써, 즉 매칭함으로써, 매칭이 수행되는 것을 가능하게 하고, 그 반대의 경우도 가능하다(vice versa). 본 방법의 단계들은 미디어 배포 네트워크의 엔드-지점(end-point)들을 형성할 수 있는 수신기들을 포함하여, 미디어 배포 네트워크에 포함된 하나 이상의 개체들(entities)에 의해 수행될 수 있다. 게다가, 컴퓨터 프로그램 제품은 프로세서 시스템으로 하여금 본 방법을 수행하도록 하는 명령어들을 포함할 수 있다. 컴퓨터 프로그램 제품은 또한 상이한 명령어들이 상이한 프로세서 시스템들로 하여금 본 방법을 합동으로(jointly) 수행하게 하도록 제공될 수 있다는 점에서 분산되어(distributed) 있을 수 있다.
일반적으로, 스트림 모니터들에 의해 획득되는 바와 같은 지속적 아이덴티피케이션들은 핑거프린트(fingerprint), 워터마크(watermark), 또는 마커(marker), 또는 상기 지속적 아이덴티피케이션들의 조합으로 구성될 수 있지만, 이러한 예들에 한정되는 것은 아니라는 점이 주목된다.
이와 관련하여, '핑거프린팅(fingerprinting)'이라는 용어는 컴퓨터 사이언스(computer science)의 분야에서 그 자체로 알려져 있는 기술을 지칭하고, 이것은 상대적으로 적은 양의 데이터, 즉 핑거프린트를 이용해서 상대적으로 많은 양의 데이터를 고유하게 식별시키는 것을 시도하는데, 즉, 상대적으로 많은 양의 데이터의 아이덴티티(identity)를 수립한다. 예를 들면, 많은 양의 데이터의 해시(hash)들 또는 심지어 이들의 (작은) 범위들이 이용될 수 있다. 스트림 모니터들은 비디오 핑거프린팅 및/또는 오디오 핑거프린팅과 같이 이러한 알려져 있는 기술들을 이용할 수 있다. 핑거프린팅은 특정한 미디어 샘플, 예컨대, 비디오 프레임(video frame), 오디오 샘플(audio sample), 시간-텍스트-샘플(time-text-sample) 등 또는 (짧은) 범위의 미디어 샘플들, 예컨대, 수 초(a few seconds)의 오디오, 또는 다수의 연속적인 비디오 프레임(consecutive video frame)들을 기초로 할 수 있다. 그래서, 임의의 핑거프린트를 시간에 맞춰 다른 임의의 핑거프린트에 매칭시키길 원한다면 핑거프린팅(fingerprinting)이 정기적으로 반복될 필요가 있을 수 있다. 이와 달리, 핑거프린트들은, 이들이 매칭되어서 동일한 플레이아웃 시간과 관련이 있는지 여부를 결정하기 위하여 서로 직접 비교될 수 있다. '워터마킹(watermarking)'이라는 용어는 컴퓨터 사이언스의 분야에서 그 자체로 알려져 있는 기술을 지칭한다. 워터마킹 또한 정기적으로 반복될 필요가 있을 수 있다. '마커(marker)'라는 용어는 코덱에서의 디지털 마커들, MPEG-TS에서의 마커들, RTP 또는 RTCP 등에서의 마커들과 같이, 지속적 방식으로 미디어 스트림에 포함되는 마커들을 지칭한다.
일반적으로, 스트림 모니터는 미디어 배포 네트워크 내에서 별개의 개체(separate entity)일 수 있다. 특히, 스트림 모니터는 헤드-엔드와 같은 세그먼트의 오리진(origin) 내에 또는 근처에 배치될 수 있다. 스트림 모니터는 또한 동기화 클라이언트와 동일 장소에 배치될(co-located) 수 있다. 스트림 모니터는 또한 복수의 동기화 클라이언트들에서 소프트웨어 컴포넌트(software component)로서 구현될 수 있되, 세그먼트당 한 번 또는 한정된 횟수 등으로 활성화될(activated) 수 있다. 또한, 만일 동기화 클라이언트들이 동일한 세그먼트 내에서, 예컨대, IPTV 세그먼트 내에서 복수의 스트림들을 수신할 수 있다면, 상이한 클라이언트들각각은 상이한 스트림들에 대해서, 예컨대, 상이한 TV 채널(channel)들에 대해서 모니터링 기능(monitoring function)을 수행할 수 있다.
스트림 모니터는 아이덴티피케이션 정보를 MSAS 내의 상관 서브시스템에 보고할 수 있다. 스트림 모니터는 또한 아이덴티피케이션 정보를 동기화 클라이언트에 포함된 상관 서브시스템에 보고할 수 있다. 스트림 모니터는 아이덴티피케이션 정보를 정기적인 간격으로 상관 서브시스템에 제공할 수 있다. 아이덴티피케이션 정보는 더 앞선(earlier) 아이덴티피케이션 정보로부터 외삽될(extrapolated) 수 있다. 아이덴티피케이션 정보는, 예컨대, 새로운 프로그램이 시작될 때마다 또는 현재 프로그램이 인터스티셜(interstitial)에 의해 인터럽팅될(interrupted) 때 타임스탬프들에서 또는 다른 타이밍 데이터에서 불연속적으로(at discontinuities)만 제공될 수도 있다.
일반적으로, 상관 서브시스템은 미디어 배포 네트워크 내에서 별개의 개체일 수 있다. 상관 서브시스템은 더 앞서 획득된(earlier obtained) 아이덴티피케이션 정보로부터 이전의(preceding) 또는 이후의(subsequent) 미디어 샘플들에 아이덴티피케이션 정보를 외삽할(extrapolate) 수 있다. 상관 서브시스템은 하이브리드 TV 이용 사례에서 아이덴티피케이션 정보를 동기화 클라이언트들에 릴레이(relay)할 수 있다. 상관 서브시스템은 또한 소셜 TV 및 동반 스크린 이용 사례들에서 동기화 클라이언트들에 대한 타이밍 정보를 생성하기 위해 아이덴티피케이션 정보를 이용할 수 있다. 상관 서브시스템은 복수의 상호연결된(interconnecting), 가능하게는 계층적으로 배치된(hierarchically arranged) MSAS들을 가진 분산 시스템(distributed system)으로서 구체화될 수 있다. 상관 서브시스템은 수동 설정(manual configuration)을 기초로 하여 동기화 클라이언트를 세그먼트에 할당하는 것이 가능하게 될 수 있다. 상관 서브시스템은 또한 시그널링 솔루션(signaling solution)을 기초로 하여 동기화 클라이언트를 세그먼트에 할당하는 것이 가능하게 될 수 있다.
본원에서의 예들은 소위 동기화 마에스트로 스킴(synchronization maestro scheme)(SMS, 클라이언트-서버 모델)을 따른다는 점이 또한 주목된다. 하지만, 본 발명은 앞서 언급된 논문 "Multimedia group and inter-stream synchronization techniques: A comparative study by F. Boronat et al., Elsevier Information Systems, 34, 2009, pp. 108-131에서 논의된 바와 같이, 분산 제어 스킴(distributed control scheme) 또는 마스터-슬레이브 스킴(master-slave scheme)과 같은 다른 동기화 스킴들에도 적용가능하다.
일반적으로, 동기화가 항상 전체적으로 정확해야될 필요가 있는 것은 아니라는 점이 주목된다. 예를 들면, 소셜 TV의 이용 사례에서, 수백 ms 및 심지어 1 또는 2 초까지의 플레이아웃 타이밍 차이(play-out timing difference)는 사용자들이 알아채지 못할 수 있다. 하지만, HbbTV(Hybrid Broadcast Broadband TV)와 같은 하나의 장치상에서 또는 TV 및 동반 스크린상에서의 여러 미디어 스트림들의 로컬 동기화(local synchronization)의 경우에, 더욱 정확한 동기화가 필요할 수 있다. 이용 사례들에서조차도, 립싱크 에러(lip sync error)들은 (정면에서의 100 ms 비디오 내지 앞쪽에서의 약 30 ms 오디오 사이에서(between 100 ms video on front to about 30 ms audio in front)) 거의 120 ms까지 감지불가한(undetectable) 채로 남아 있다. 그러므로, 본 발명의 문맥에서 '미디어 동기화(media synchronization)'라는 용어는 만족스러운 엔드-유저 경험을 달성하는 동기화의 정도를 지칭할 수 있다는 점이 이해될 것이다.
게다가, 이러한 전체적으로 정확한 동기화는 플레이아웃 타이밍에 대해서만 수행될 수 있는데, 즉, 미디어가 사용자에게 제시되는 실제 시간을 보고하고(report), 미디어가 사용자에게 제시되는 실제 시간에 영향을 줄(influence) 수 있다. 하지만, 이러한 타이밍이 항상 이용가능한 것은 아니다. 수신기 장치 내의 콘텐츠 체인(content chain)에서의 어드레싱가능한(addressable) 임의의 지점이 수행하는 것인, 타이밍을 보고하기 위한 또는 타이밍에 영향을 주기 위한 다른 지점들이 존재한다. 이것은 콘텐츠가 수신되는 순간(패킷 수신 시간들), 패킷이 처리되는(processed) 순간, 패킷이 디코딩되는(decoded) 순간 등에서부터 존재할 수 있다. 본원에서 동기화 목적을 위해서 타이밍이 논의되는 경우에, 이 타이밍들 중의 임의의 것이 적용가능하다.
본 발명은 HbbTV-TF-Media 및 DVB-TM-COS에서 미디어 동기화를 구현하는 데에 유익하게 이용될 수 있다는 점이 이해될 것이다. 여기에서, 미디어 배포 네트워크를 통한 지연들은 다음과 같이 관리될 수 있다. 브로드캐스터는, 채널당(per channel) 네트워크 세그먼트당(per network segment) 스트림 모니터를 제공하는 것 및 채널당 네트워크 세그먼트당 가변 버퍼(variable buffer)를 제공하는 것에 의해서 미디어 배포 네트워크의 세그먼트들 간의 지연들을 거칠게(coarsely) 동등하게 할(equalize) 수 있다. 게다가, TV와 동반 스크린(Companion Screen)에서/사이에서 정밀한(fine) 동기화가 제공될 수 있다. 브로드캐스터는 네트워크 세그먼트당 전달된 미디어 스트림의 핑거프린트 또는 워터마크에 대해 보고하는 스트림 모니터들 및 오리지널 미디어 스트림의 핑거프린팅 또는 워터마킹을 기초로 하여, 전달된 콘텐츠 타임라인을 오리지널 콘텐츠 타임라인과 상관시킬 수 있다.
상술한 실시예들은 본 발명을 한정하는 것이 아니라 실례를 드는 것이며, 통상의 기술자가 다양한 대안적인 실시예들을 설계할 수 있을 것이라는 점이 주목되어야 한다.
청구항들에서, 괄호 안에 배치된 임의의 참조 부호들은 청구항을 한정하는 것으로 이해되지 않아야 할 것이다. "포함하다(comprise)"는 동사 및 그 활용들의 이용은 청구항에서 언급되지 않은 다른 엘리먼트(element)들 또는 단계들의 존재를 배제하는 것이 아니다. 엘리먼트 앞의 관사 "a" 또는 "an"은 복수의 이러한 엘리먼트들의 존재를 배제하지 않는다. 본 발명은 여러 개의 구별되는 엘리먼트들을 포함하는 하드웨어를 수단으로 해서 그리고 적절하게 프로그래밍된 컴퓨터를 수단으로 해서 구현될 수 있다. 여러 개의 수단들을 나열하는 장치 청구항에서, 이러한 여러 개의 수단들은 하드웨어로 이루어진 하나의 동일한 아이템에 의해서 구체화될 수 있다. 특정 방안(measure)들이 서로 상이한 종속청구항들에서 언급된다는 단순한 사실이 이 방안들의 조합이 유익하게 이용될 수 없다는 것을 나타내지는 않는다.

Claims (15)

  1. 제1 미디어 스트림(media stream)과 제2 미디어 스트림 간의 타임라인 정보(timeline information)를 상관시키는 것(correlating)을 가능하게 하기 위한 시스템으로서,
    상기 제1 미디어 스트림 및 상기 제2 미디어 스트림 양쪽 모두는 공통 플레이아웃 타임라인(common play-out timeline)과 연관되어(associated) 있되, 상이한 타임라인 정보를 포함하고,
    상기 시스템은:
    - 적어도 두 개의 스트림 모니터(stream monitor)들; 및
    - 상관 서브시스템(correlation subsystem);
    을 포함하고,
    상기 스트림 모니터들 각각은:
    지속적 아이덴티피케이션(persistent identification)은 미디어 스트림의 처리(processing)에 대해서 로버스트(robust)한 데이터이고, 미디어 스트림을 이용해서 재현가능하게 획득될(reproducibly obtained) 수 있는데,
    i) 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득함으로써,
    ii) 미디어 스트림에 포함된 타임라인 정보로부터 상기 지속적 아이덴티피케이션과 연관된 타임스탬프값(timestamp value)을 결정함으로써, 및
    iii) 상기 하나 이상의 미디어 샘플들의 상기 지속적 아이덴티피케이션 및 상기 타임스탬프값을 아이덴티피케이션 정보(identification information)로서 제공함으로써,
    미디어 스트림에 대한 아이덴티피케이션 정보를 제공하도록 배치되고,
    상기 적어도 두 개의 스트림 모니터들은 상기 제1 미디어 스트림에 대한 제1 아이덴티피케이션 정보를 제공하기 위한 제1 스트림 모니터 및 상기 제2 미디어 스트림에 대한 제2 아이덴티피케이션 정보를 제공하기 위한 제2 스트림 모니터를 포함하고,
    상기 상관 서브시스템은, 상기 제1 미디어 스트림의 제1 지속적 아이덴티피케이션을 상기 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 매칭(matching)시켜서, 상기 제1 미디어 스트림의 제1 타임스탬프값을 상기 제2 미디어 스트림의 제2 타임스탬프값에 매칭시킴으로써, 상기 제1 미디어 스트림의 타임라인 정보를 상기 제2 미디어 스트림의 타임라인 정보에 상관시키는 것이 가능하도록 상기 제1 아이덴티피케이션 정보를 상기 제2 아이덴티피케이션 정보와 결합시키는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  2. 청구항 1에 있어서,
    상기 제2 미디어 스트림은 상기 제1 미디어 스트림의 변경된 버전(modified version)이고, 상기 변경된 버전은 상기 제1 미디어 스트림의 타임라인 정보와는 다른 타임라인 정보를 포함하는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  3. 청구항 2에 있어서,
    상기 제1 미디어 스트림은 미디어 배포 네트워크(media distribution network)를 통해서 배포되고, 상기 미디어 배포 네트워크는 상기 제1 미디어 스트림의 상기 변경된 버전을 생성하기 위한 스트림 변경자(stream modifier)를 포함하고, 상기 제1 스트림 모니터는 상기 스트림 변경자의 업스트림(upstream)의 미디어 배포 네트워크에 포함되고, 상기 제2 스트림 모니터는 상기 스트림 변경자의 다운스트림(downstream)의 미디어 배포 네트워크에 포함되는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  4. 청구항 1에 있어서,
    상기 상관 서브시스템은, 상기 제1 지속적 아이덴티피케이션 및 상기 제2 지속적 아이덴티피케이션을 상기 공통 플레이아웃 타임라인에 링킹(linking)하는 제3 아이덴티피케이션 정보를 기초로 하여, 상기 제1 지속적 아이덴티피케이션을 상기 제2 지속적 아이덴티피케이션에 매칭시키도록 배치되는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  5. 청구항 4에 있어서,
    상기 제1 미디어 스트림 및 상기 제2 미디어 스트림은 공통 타임라인 정보를 포함하는 미디어 스트림들의 복합체(composite)의 일부분(part)이고, 상기 시스템은 미디어 스트림들의 상기 복합체에 대한 상기 제3 아이덴티피케이션 정보를 제공하기 위한 제3 스트림 모니터를 더 포함하는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  6. 상기 청구항들 중의 하나에 있어서,
    상기 제2 미디어 스트림은 미디어 배포 네트워크를 통해서 배포되고,
    상기 미디어 배포 네트워크는 제2 미디어 스트림에 관해서 동기화 기능(synchronization action)을 수행하기 위한 동기화 서브시스템(correlation subsystem)을 더 포함하고, 상기 상관 서브시스템은 상기 제1 미디어 스트림의 타임라인 정보를 기초로 하여 상기 동기화 서브시스템이 동기화 기능을 수행하는 것을 가능하게 하기 위한 타이밍 정보(timing information)를 제공하도록 배치되는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  7. 청구항 6에 있어서,
    상기 동기화 기능은:
    - 복수의 수신기(receiver)들상에서 상기 제1 미디어 스트림 및/또는 상기 제2 미디어 스트림의 동기화된 재생(playback)을 가능하게 하기 위한 미디어 스트림 버퍼링(buffering) 또는 스킵핑 어헤드(skipping ahead),
    - 수신기상에서 상기 제1 미디어 스트림의 상기 제2 미디어 스트림과의 동기화된 재생을 가능하게 하기 위한 미디어 스트림 버퍼링 또는 스킵핑 어헤드, 및
    - 수신기상에서의 미디어 스트림 플레이아웃(media stream play-out)과 동기화한, 상기 수신기상에서의 애플리케이션(application)의 트리거링(triggering)
    으로 이루어지는 그룹의 하나인 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  8. 청구항 6 또는 7에 있어서,
    상기 동기화 서브시스템은 동기화 서버(synchronization server) 및 복수의 동기화 클라이언트(synchronization client)들을 포함하고, 상기 복수의 동기화 클라이언트들은 상기 제2 미디어 스트림을 배포하도록 배치된 상기 미디어 배포 네트워크의 세그먼트(segment) 내에 포함되어 있고, 상기 제2 스트림 모니터는 상기 세그먼트 내에서 상기 복수의 동기화 클라이언트들 중에 포함되어 있는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  9. 청구항 8에 있어서,
    상기 상관 서브시스템은, 상기 제2 스트림 모니터에 의한 상기 제2 미디어 스트림의 모니터링(monitoring)을 기초로 하여 상기 동기화 클라이언트들이 상기 제2 미디어 스트림에 관해서 동기화 기능을 수행하는 것을 가능하게 하기 위한 타이밍 정보를 상기 세그먼트 내의 상기 복수의 동기화 클라이언트들에 제공하도록 배치되는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  10. 상기 청구항들 중의 하나에 있어서,
    상기 지속적 아이덴티피케이션은 상기 하나 이상의 미디어 샘플들의: 핑거프린트(fingerprint), 워터마크(watermark), 및 마커(marker)로 이루어지는 그룹의 하나인 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 시스템.
  11. 상기 청구항들 중의 하나에 따른 상기 시스템을 포함하는 미디어 배포 네트워크.
  12. 상기 청구항들 중의 하나에 따른 상기 시스템에서 사용되는 것과 같은 스트림 모니터 및/또는 상관 서브시스템.
  13. 청구항 8 또는 9에 따른 상기 시스템과 함께 사용하기 위한 동기화 클라이언트로서,
    상기 동기화 클라이언트는, 상기 상관 서브시스템에 대해 상기 동기화 클라이언트가 포함되어 있는 세그먼트를 식별시키도록(identifying) 배치되는 것을 특징으로 하는,
    동기화 클라이언트.
  14. 제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것(correlating)을 가능하게 하기 위한 방법으로서,
    상기 제1 미디어 스트림 및 상기 제2 미디어 스트림 양쪽 모두는 공통 플레이아웃 타임라인과 연관되어 있되, 상이한 타임라인 정보를 포함하고,
    상기 상관시키는 것(correlating)은 적어도 두 개의 스트림 모니터들로부터 획득된 아이덴티피케이션 정보를 기초로 하고,
    상기 스트림 모니터들 각각은:
    지속적 아이덴티피케이션은 미디어 스트림의 처리(processing)에 대해서 로버스트한 데이터이고, 미디어 스트림을 이용해서 재현가능하게 획득될 수 있는데,
    i) 미디어 스트림의 하나 이상의 미디어 샘플들의 지속적 아이덴티피케이션을 획득함으로써,
    ii) 미디어 스트림에 포함된 타임라인 정보로부터 상기 지속적 아이덴티피케이션과 연관된 타임스탬프값을 결정함으로써, 및
    iii) 상기 하나 이상의 미디어 샘플들의 상기 지속적 아이덴티피케이션 및 상기 타임스탬프값을 아이덴티피케이션 정보로서 제공함으로써,
    미디어 스트림에 대한 아이덴티피케이션 정보를 제공하도록 배치되고,
    상기 방법은:
    - 상기 적어도 두 개의 스트림 모니터들 중의 제1 스트림 모니터로부터 상기 제1 미디어 스트림에 대한 제1 아이덴티피케이션 정보를 획득하는 단계;
    - 상기 적어도 두 개의 스트림 모니터들 중의 제2 스트림 모니터로부터 상기 제2 미디어 스트림에 대한 제2 아이덴티피케이션 정보를 획득하는 단계;
    - 상기 제1 미디어 스트림의 제1 지속적 아이덴티피케이션을 상기 제2 미디어 스트림의 제2 지속적 아이덴티피케이션에 매칭시켜서, 상기 제1 미디어 스트림의 제1 타임스탬프값을 상기 제2 미디어 스트림의 제2 타임스탬프값에 매칭시킴으로써, 상기 제1 미디어 스트림의 타임라인 정보를 상기 제2 미디어 스트림의 타임라인 정보에 상관시키는 것이 가능하도록 상기 제1 아이덴티피케이션 정보를 상기 제2 아이덴티피케이션 정보와 결합시키는 단계;
    를 포함하는 것을 특징으로 하는,
    제1 미디어 스트림과 제2 미디어 스트림 간의 타임라인 정보를 상관시키는 것을 가능하게 하기 위한 방법.
  15. 프로세서 시스템(processor system)으로 하여금 청구항 14에 따른 방법을 수행하도록 하기 위한 명령어(instruction)들을 포함하는 컴퓨터 프로그램 제품.
KR1020167008393A 2013-09-20 2014-09-05 미디어 스트림들 간의 타임라인 정보를 상관시키기 위한 시스템 및 방법 KR101883579B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13185405 2013-09-20
EP13185405.1 2013-09-20
PCT/EP2014/068925 WO2015039888A1 (en) 2013-09-20 2014-09-05 Correlating timeline information between media streams

Publications (2)

Publication Number Publication Date
KR20160048942A true KR20160048942A (ko) 2016-05-04
KR101883579B1 KR101883579B1 (ko) 2018-07-30

Family

ID=49209296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167008393A KR101883579B1 (ko) 2013-09-20 2014-09-05 미디어 스트림들 간의 타임라인 정보를 상관시키기 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US10694264B2 (ko)
EP (2) EP3651469A1 (ko)
JP (1) JP6240315B2 (ko)
KR (1) KR101883579B1 (ko)
CN (1) CN105765987B (ko)
ES (1) ES2796873T3 (ko)
WO (1) WO2015039888A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180090719A (ko) * 2017-02-03 2018-08-13 한국과학기술원 미디어 동기화 방법 및 시스템
US10341672B2 (en) 2017-02-03 2019-07-02 Korea Advanced Institute Of Science And Technology Method and system for media synchronization

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015039891A1 (en) 2013-09-20 2015-03-26 Koninklijke Kpn N.V. Correlating timeline information between media streams
EP3651469A1 (en) 2013-09-20 2020-05-13 Koninklijke KPN N.V. Correlating timeline information between media streams
WO2015167177A1 (ko) * 2014-04-30 2015-11-05 엘지전자 주식회사 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
US9794313B2 (en) * 2014-05-09 2017-10-17 Cisco Technology, Inc. Methods and systems to facilitate synchronization of multiple media streams
US20170006331A1 (en) * 2015-06-30 2017-01-05 Stmicroelectronics International N.V. Synchronized rendering of split multimedia content on network clients
US10575042B2 (en) 2015-11-27 2020-02-25 British Telecommunications Public Limited Company Media content synchronization
GB2544796B (en) * 2015-11-27 2019-11-13 British Telecomm Video content synchronisation
CN110225370B (zh) * 2016-01-18 2021-04-02 上海交通大学 一种多媒体内容个性化呈现的时间线控制方法
EP3437397B1 (en) 2016-03-31 2022-10-19 British Telecommunications public limited company Mobile communications network
EP3437398B1 (en) 2016-03-31 2020-12-16 British Telecommunications public limited company Mobile communications network
WO2017167648A1 (en) 2016-03-31 2017-10-05 British Telecommunications Public Limited Company Mobile communications network
US10437829B2 (en) * 2016-05-09 2019-10-08 Level 3 Communications, Llc Monitoring network traffic to determine similar content
JP2018006846A (ja) * 2016-06-28 2018-01-11 日本放送協会 同期提示システム、同期提示方法及び同期提示プログラム
EP3479622B1 (en) 2016-06-29 2019-11-13 British Telecommunications Public Limited Company Multicast-broadcast mobile communications network
CN109565408B (zh) 2016-08-04 2021-09-28 英国电讯有限公司 用于切换的方法、移动终端、基站和计算机可读存储介质
WO2018078768A1 (ja) * 2016-10-27 2018-05-03 エヴィクサー株式会社 コンテンツ再生プログラム及びコンテンツ再生装置
US10986421B2 (en) * 2017-07-03 2021-04-20 Dolby Laboratories Licensing Corporation Identification and timing data for media content
CN108769559B (zh) * 2018-05-25 2020-12-01 数据堂(北京)科技股份有限公司 多媒体文件的同步方法及装置
CN110581727A (zh) 2018-06-08 2019-12-17 英国电讯有限公司 无线电信网络
US10715840B2 (en) 2018-07-19 2020-07-14 Gracenote, Inc. Establishment and use of time mapping based on interpolation using low-rate fingerprinting, to help facilitate frame-accurate content revision
US11553219B2 (en) * 2019-08-05 2023-01-10 Google Llc Event progress detection in media items
CN110768740B (zh) * 2019-10-29 2020-12-01 广州趣丸网络科技有限公司 时间同步方法及装置
US11431775B2 (en) * 2019-11-20 2022-08-30 W.S.C. Sports Technologies Ltd. System and method for data stream synchronization
KR20220154183A (ko) * 2020-04-02 2022-11-21 구글 엘엘씨 비디오 스트림들을 동기화하기 위한 방법들, 시스템들, 및 매체들
KR102452069B1 (ko) * 2020-12-24 2022-10-11 김인철 방송 동기화를 통한 서비스 제공 방법
US11722763B2 (en) 2021-08-06 2023-08-08 Motorola Solutions, Inc. System and method for audio tagging of an object of interest

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5739864A (en) 1994-08-24 1998-04-14 Macrovision Corporation Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal
IT1281447B1 (it) 1995-11-09 1998-02-18 Danieli Off Mecc Gruppo di bloccaggio anello di laminazione
US20020120925A1 (en) 2000-03-28 2002-08-29 Logan James D. Audio and video program recording, editing and playback systems using metadata
US6642966B1 (en) 2000-11-06 2003-11-04 Tektronix, Inc. Subliminally embedded keys in video for synchronization
US7461002B2 (en) 2001-04-13 2008-12-02 Dolby Laboratories Licensing Corporation Method for time aligning audio signals using characterizations based on auditory events
JP2003259314A (ja) * 2002-02-26 2003-09-12 Nippon Hoso Kyokai <Nhk> 映像音声同期方法及びそのシステム
EP1593272B1 (en) 2003-02-14 2017-08-30 Thomson Licensing DTV Automatic synchronization of audio and video based media services of media content
DE602004008936T2 (de) 2003-07-25 2008-06-19 Koninklijke Philips Electronics N.V. Verfahren und einrichtung zur erzeugung und erkennung von fingerabdrücken zur synchronisierung von audio und video
US7764713B2 (en) * 2005-09-28 2010-07-27 Avaya Inc. Synchronization watermarking in multimedia streams
US8705195B2 (en) 2006-04-12 2014-04-22 Winview, Inc. Synchronized gaming and programming
US7869420B2 (en) * 2005-11-16 2011-01-11 Cisco Technology, Inc. Method and system for in-band signaling of multiple media streams
WO2007069164A2 (en) * 2005-12-15 2007-06-21 Koninklijke Philips Electronics N.V. Method for recording data having a distinctive feature
EP1967005B1 (en) * 2005-12-23 2010-02-03 AMBX UK Limited Script synchronization using fingerprints determined from a content stream
JP2007208345A (ja) 2006-01-31 2007-08-16 Astro Design Inc 電子透かしによるリップシンク装置及びリップシンク方法
WO2009024926A1 (en) * 2007-08-20 2009-02-26 Nokia Corporation Segmented metadata and indexes for streamed multimedia data
CN102067550B (zh) 2007-10-23 2014-10-29 皇家Kpn公司 用于对终端组进行同步的方法和系统
JP5284534B2 (ja) 2009-03-16 2013-09-11 コニンクリジケ ケーピーエヌ エヌブィー 変更されたストリーム同期
KR101500818B1 (ko) 2009-12-21 2015-03-09 코닌클리즈케 케이피엔 엔.브이. 콘텐츠 배포 시스템
CN101854319B (zh) 2010-06-11 2013-03-20 哈尔滨工程大学 一种混沌多进制数字调制方法
JP5813767B2 (ja) * 2010-07-21 2015-11-17 ディー−ボックス テクノロジーズ インコーポレイテッド メディア認識及びモーション信号への同期
CN103177489A (zh) 2011-12-20 2013-06-26 西安众智惠泽光电科技有限公司 基于指纹识别的人员出入统计装置
CN102802044A (zh) * 2012-06-29 2012-11-28 华为终端有限公司 视频处理方法、终端及字幕服务器
EP3651469A1 (en) 2013-09-20 2020-05-13 Koninklijke KPN N.V. Correlating timeline information between media streams
WO2015039891A1 (en) 2013-09-20 2015-03-26 Koninklijke Kpn N.V. Correlating timeline information between media streams
US9516373B1 (en) 2015-12-21 2016-12-06 Max Abecassis Presets of synchronized second screen functions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180090719A (ko) * 2017-02-03 2018-08-13 한국과학기술원 미디어 동기화 방법 및 시스템
US10341672B2 (en) 2017-02-03 2019-07-02 Korea Advanced Institute Of Science And Technology Method and system for media synchronization

Also Published As

Publication number Publication date
ES2796873T3 (es) 2020-11-30
US20160234570A1 (en) 2016-08-11
CN105765987B (zh) 2019-06-21
US10694264B2 (en) 2020-06-23
JP6240315B2 (ja) 2017-11-29
EP3047652B1 (en) 2020-05-06
CN105765987A (zh) 2016-07-13
KR101883579B1 (ko) 2018-07-30
WO2015039888A1 (en) 2015-03-26
JP2016537834A (ja) 2016-12-01
EP3047652A1 (en) 2016-07-27
EP3651469A1 (en) 2020-05-13

Similar Documents

Publication Publication Date Title
KR101883579B1 (ko) 미디어 스트림들 간의 타임라인 정보를 상관시키기 위한 시스템 및 방법
US9860581B2 (en) Correlating timeline information between media streams
US10820065B2 (en) Service signaling recovery for multimedia content using embedded watermarks
US9832518B2 (en) Synchronization of processing media streams by one or more media processing devices
JP6317872B2 (ja) 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法
US11122344B2 (en) System and method for synchronizing metadata with audiovisual content
KR101689616B1 (ko) 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치
US11095929B2 (en) Video distribution synchronization
KR20120084252A (ko) 복수의 실시간 전송 스트림을 수신하는 수신 장치와 그 송신 장치 및 멀티미디어 컨텐츠 재생 방법
Stokking et al. IPTV inter-destination synchronization: A network-based approach
US9854019B2 (en) Method and apparatus for modifying a stream of digital content
Köhnen et al. A DVB/IP streaming testbed for hybrid digital media content synchronization
Yun et al. A synchronization and T-STD model for 3D video distribution and consumption over hybrid network

Legal Events

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