KR20120103750A - 미디어 스트림의 동기화를 위한 방법, 시스템 및 장치 - Google Patents

미디어 스트림의 동기화를 위한 방법, 시스템 및 장치 Download PDF

Info

Publication number
KR20120103750A
KR20120103750A KR1020127021087A KR20127021087A KR20120103750A KR 20120103750 A KR20120103750 A KR 20120103750A KR 1020127021087 A KR1020127021087 A KR 1020127021087A KR 20127021087 A KR20127021087 A KR 20127021087A KR 20120103750 A KR20120103750 A KR 20120103750A
Authority
KR
South Korea
Prior art keywords
media
synchronization
buffer
delay
network
Prior art date
Application number
KR1020127021087A
Other languages
English (en)
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 KR20120103750A publication Critical patent/KR20120103750A/ko

Links

Images

Classifications

    • 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/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • 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/70Media network packetisation
    • 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/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

제1 및 제2 미디어 스트림을 동기화하기 위한 방법 및 시스템이 설명되고, 여기서 상,기 제1 및 제2 미디어 스트림은 하나 이상의 터미널에 대해 제1 및 제2 미디어 경로를 매개로 네트워크에서 적어도 하나의 미디어 소스에 의해 전송된다. 방법이: 상기 제1 및 제2 미디어 경로의 제1 위치에 위치한 측정 모듈을 이용해서 상기 제1 및 제2 미디어 스트림의 미디어 패킷의 도착 시간과 관련된 타이밍 정보를 측정하고; 상기 네트워크에서 상기 타이밍 정보를 기초로 적어도 하나의 버퍼를 위한 버퍼 명령을 발생시키며, 상기 버퍼가 상기 제1 및 제2 미디어 경로의 적어도 하나의 제2 위치에 위치하고; 상기 하나 이상의 터미널에서 미디어 패킷의 도착 시간이 실질적으로 동기화되도록 하기 위해 상기 하나 이상의 터미널에 대해 상기 미디어 경로를 거쳐 전송된 하나 이상의 미디어 패킷을 지연시키는 것을 갖추어 이루어진다.

Description

미디어 스트림의 동기화를 위한 방법, 시스템 및 장치{METHOD, SYSTEM AND DEVICE FOR SYNCHRONIZATION OF MEDIA STREAMS}
본 발명은 미디어 스트림의 동기화에 관한 것으로, 특히 반드시 그렇지는 않지만, 이러한 시스템에 이용하기 위한 제1 및 제2 미디어 스트림, 버퍼, 동기화 서버, 및 터미널을 동기화시키기 위한 방법 및 시스템과, 이러한 방법을 이용하는 컴퓨터 프로그램 제품에 관한 것이다.
VoIP(Voice over IP) 및 IPTV(Internet Protocol Television)와 같은 새로운 멀티-미디어 기술은 새로운 멀티-미디어 서비스의 전체 영역을 개방한다. 이들 서비스의 하나의 형태는 동일한 TV 채널을 분리적으로 시청하고 텍스트, 오디오 및/또는 비디오를 이용해서 서로 통신하도록 사용자의 그룹을 가능하게 한다. 다른 형태의 이들 서비스는, 집에서 시청자가 방송된 질문에 대해 답변을 입력하여 쇼에 참가할 수 있는 방송된 텔레비전 퀴즈와 같은, 대화형 텔레비전 체험(interactive television experiences)을 제공한다. 이러한 서비스는 터미널의 출력 신호가 그룹의 모든 사용자에 대해 동시에 전송되어지는 것이 요구된다. 즉, 그룹, 예컨대 다른 목적지(destinations)에 대응하는 텔레비전, PDA, 모바일 장치(mobile devices), PC 또는 그 조합에서의 디스플레이 또는 재생 장치(display or play-out devices)의 출력은 동기화되어야 한다.
IPTV 시스템에 있어서, TV 채널 신호는 전형적으로 이러한 서비스에 대한 가입자의 터미널에 대해 헤드-엔드(head-ends), 엣지 라우터(edge routers) 및 억세스 노드(access nodes)와 같은 네트워크 노드를 매개로 오퍼레이터의 고대역 IP 네트워크(high-bandwidth IP network)를 거쳐 하나 이상의 패킷화된 스트림(packetized streams)으로서 전송된다. 스트림의 전송 동안, 패킷(packets)은 전송 지연(transmission delays), 네트워크 라우터에서의 차이(differences in network routes) 및 코딩 및 디코딩 지연에서의 차이(differences in coding and decoding delays)와 같은 네트워크에서 알려지지 않은 지연을 겪게 된다. 결과적으로, 오디오의 패킷과, 제1 터미널에서 수신된 비디오 스트림(제1 목적지) 및 다른 제2 터미널에서 수신된 비디오 스트림(제2 목적지) 사이의 일시적 관계는 혼란스럽게 된다.
터미널에 대해 IPTV 콘텐츠를 스트림하기 위해, 통상적으로 RTP(Real-Time Transport Protocol)가 이용된다. RTP는 시퀀스 넘버링(sequence numbering) 및 시간 스탬핑(time stamping)을 제공한다. RTP를 이용하면, 동일한 엔드-터미널(end-terminal)에서 종료되는 관련된 스트림들 사이(인터-스트림 동기화(inter-stream synchronization)) 또는 다른 엔드-터미널들에서 종료되는 관련된 스트림들 사이(그룹-동기화 또는 인터-데스티네이션 동기화(group-synchronization or inter-destination synchronization))에서, 하나의 스트림에서의 일시적 관계(인트라-스트림 동기화(intra-stream synchronization)는 복구될 수 있다. 본 발명은 또한, 예컨대 전송 프로토콜로서 UDP를 거쳐 MPEG 전송 스트림(ansport Stream)을 이용해서 또는 HTTP를 이용해서, 다른 미디어 전송 프로토콜(media transport protocols)에 대해 적용할 수 있다. F. Boronat 등에 의한 논문 "Multimedia group and inter-stream synchronization techniques: A comparative study"(Elsevier Information Systems 34 (2009) pp. 108-131)는 알려진 인터-데스티네이션 동기화 기술(inter-destination synchronization techniques)의 포괄적인 개요를 제공한다.
참조된 인터-데스티네이션 동기화 기술은 3개의 주요 카테고리로 세분될 수 있다. "SMS(Synchronization Maestro Scheme)"에 있어서, 중앙 동기화 마스터(central synchronization master)는 그룹의 모든 터미널로부터 타이밍 정보(timing information)를 수집하고, 터미널에 대해 제어 패킷(control packets)을 분배(distributing)함으로써 출력 시간을 조절한다. "MSRS(Master-Slave Receiver Scheme)"에 있어서, 수신기(receivers)(터미널)는 마스터 수신기(master receiver) 및 슬레이브 수신기(slave receivers)로 분류된다. 따라서, 마스터 수신기는, 그들 패킷의 출력 시간을 조절하는, 슬레이브 수신기에 대해 그 출력 시간을 멀티-캐스트(multi-casts)한다. "DCS(Distributed Control Scheme)"에 있어서, 각 터미널(수신기)은 그룹의 모든 다른 터미널에 대해 모든 타이밍 정보를 멀티캐스트하고, 터미널은 적절한 출력 시간을 계산하기 위해 구성된다. 이들 구조는 동기화가 소스(source) 또는 미디어 스트림의 수신 종단(receiving end)에서 야기됨을 공통으로 갖는다.
WO2009/053072는, 네트워크 노드, 예컨대 미디어 경로에서의 경계 네트워크 노드(border network node)에서, 연결된 사용자 장비의 인터-데스티네이션 동기화를 제공하는, 다른 네트워크-제어 인터-데스티네이션 동기화 구성(network-controlled inter-destination synchronization scheme)을 개시한다. 이 방법은, 예컨대 오퍼레이터 네트워크에 대해 스트림 목적지를 연결하는 억세스 라인에서의 차이로부터 초래되는 스트림의 전파 시간(propagation times)에서, 표준 지터(standard jitter)의 순서로, 작은 차이를 허용하는 큰 규모의 배치(deployment) 및 서비스를 위해 특히 적절하다. 동기화는 지정된 네트워크 노드(designated network node)에서 동기화 엔티티, 예컨대 동기화 클라이언트를 구현하는 것에 의해 실현되고, 여기서 동기화 엔티티는 동기화 서버에 대해 동기화 상태 정보의 이들 측정된 시간을 보고하고, 그 가변 지연 버퍼를 명령하기 위해 동기화 서버로부터 동기화 설정 명령을 수신하도록, 패킷의 도착 시간 상의 정보를 측정하도록 구성된다.
네트워크에 상주하는 동기화 구성에 관한 하나의 문제는 상황을 처리하는 적어도 하나의 어려움을 갖거나 이에 대처할 수 없다는 것이고, 여기서 동기화 네트워크 노드와 수신기 사이의 스트림은 콘텐츠 준비 및/또는 콘텐츠 재-생성 목적을 위해 (예컨대, HD(high definition)에서 SD(standard definition)로, MPEG-3에서 MPEG-2로, 및/또는 고 비트율(high bit rate)에서 저 비트율(lower bit rate)로의 변환을 위해) 트랜스코더(transcoder)에 의해 변경된다. 이들 변경은 동기화 네트워크 노드에 의해 보상되어질 수 없는 실제적인 지연을 유도할 수 있다. 더욱이, 다른 디코딩 지연과 지터 버퍼 설정에서 초래되는 UE에서의 차이는 소정 서비스를 이용할 때 더 이상 허용되지 않을 수 있는 UE 사이의 지연 차이 및 지연의 증가를 야기시킬 수 있는 부가적인 지연을 야기시킬 수 있다.
다른 문제는, 미디어 유닛 도착 시간(media unit arrival times)을 측정하도록 구성되는, 네트워크에 상주하는 동기화 구성이 네트워크 노드를 요구한다는 사실에 관한 것이다. 이 기능성은 깊은 패킷 검사(deep packet inspection)를 요구하고, 여기서 다른 미디어 패킷의 적어도 헤더 정보(header information), 예컨대 RTP 헤더 또는 MPEG TS 헤더는 패킷 도착 시간 상에서 보고를 가능하게 하기 위해 필터링되어야만 한다. 소정 환경 하에서 동기화 네트워크 노드가 (소유자 전송 프로토콜(proprietary transport protocols)을 포함하는) 많은 다른 미디어 전송 프로토콜(media transport protocols)을 처리할 수 있음이 바람직함을 고려하면, 라우팅 기능을 위해 주로 구성된, 네트워크 노드에서의 이러한 기능성은 복잡하고 고가로 될 수 있다.
요약하면, 모든 알려진 인터-데스티네이션-동기화 구성은, 이에 한정되는 것은 아니지만, 버퍼링 리소스의 불충분한 이용(예컨대, 각 종단-터미널이 큰 부가적인 버퍼를 요구할 때), 채널 변화 동안 재핑(zapping) (재동기화) 지연, 부정확한 지연 측정과 같은 그들 자신의 결점을 각각 갖을 수 있다.
따라서, 하나 이상의 터미널의 미디어 재생(media play-out)의 효율적인 네트워크-제어가능 동기화를 제공할 수 있는, 개선된 방법, 시스템 및 장치를 위한 기술이 필요로 된다.
본 발명은 알려진 서비스 제공 시스템의 결점 중 적어도 하나를 감소 또는 제거함에 그 목적이 있다.
제1 태양에 있어서, 본 발명은 제1 및 제2 미디어 스트림을 동기화하기 위한 방법에 관련될 수 있고, 여기서 상기 제1 및 제2 미디어 스트림이 하나 이상의 터미널에 대해 제1 및 제2 미디어 경로를 매개로 네트워크에서 적어도 하나의 미디어 소스에 의해 전송되며, 여기서 방법이 상기 제1 및 제2 미디어 경로의 제1 위치에 위치한 측정 모듈을 이용해서 상기 제1 및 제2 미디어 스트림의 미디어 패킷의 도착 시간과 관련된 타이밍 정보를 측정하는 단계와; 상기 네트워크에서 상기 타이밍 정보를 기초로, 상기 제1 및 제2 미디어 경로의 적어도 하나의 제2 위치에 위치된, 적어도 하나의 버퍼를 위한 버퍼 명령을 발생시키는 단계; 및 상기 하나 이상의 터미널에서 미디어 패킷의 도착 시간이 실질적으로 동기화되도록 하기 위해 상기 하나 이상의 터미널에 대해 상기 미디어 경로를 거쳐 전송된 하나 이상의 미디어 패킷을 지연시키는 단계;를 갖추어 이루어진다.
1실시예에 있어서, 상기 제1 미디어 경로가 상기 미디어 소스 및 제1 터미널 사이에 제공되고, 상기 제2 미디어 경로가 상기 미디어 소스 및 제2 터미널 사이에 제공될 수 있다. 따라서, 이러한 구성은 인터-테스티네이션 동기화를 위한 구성을 제공한다.
다른 실시예에 있어서, 상기 측정 모듈이 상기 하나 이상의 터미널에 위치하거나 상기 하나 이상의 터미널을 상기 네트워크에 연결하는 하나 이상의 억세스-라인에 따른 위치에 위치할 수 있고; 및/또는 상기 버퍼가 상기 네트워크에 위치하고; 바람직하기는 경계 네트워크 노드(border network node) 및/또는 억세스 네트워크 노드(access network node)에 위치할 수 있다.
또 다른 실시예에 있어서, 버퍼가 홈 게이트웨이(home gateway)에 위치할 수 있거나 홈 위치(home location)에서 유사한 기능성으로 될 수 있다. 홈 게이트웨이 뒤에 상주하는 터미널은 개별적으로 필요로 되지 않는다는 이점은 부가적인 버퍼링 능력을 갖지만, 여전히 각각 시간 정보를 측정하기 위한 측정 모듈을 구비하여 각 개별적 지연이 여전히 결정되어질 수 있다.
이는, 예컨대 (트랜스코딩, 믹싱, 활동 등과 관련된 축적가능 비디오 코덱(scalable video codec related activities or the like)과 같은) 홈 게이트웨이에서 스트림 적응(stream adaptation)에 기인하는 다른 지연을 경험하는, 다른 터미널들이 홈 게이트웨이 뒤에 상주하면 특히 관련될 수 있다.
다른 실시예에 있어서, 측정 모듈은 홈 게이트웨이에 위치할 수 있고, 버퍼가 네트워크에서의 노드에 더욱 위치할 수 있다. 이는 버퍼 뒤의 터미널이 측정 모듈로 더 이상 채택될 필요가 없다는 이점을 갖는다. 또한, 이는 네트워크에서 따른 노드에 의해 처리되므로 홈 게이트웨이는 부가적인 버퍼링 용량울 갖을 필요가 없다. 마지막으로, 네트워크 어드레스 트랜스레이션 문제 때문에, 엔드-터미널은 원래의 멀티캐스트 스트림을 직접적으로 수신할 수 없고, 따라서 가정 이상적인 측정 지점을 제공할 수 없다.
다른 실시예에 있어서, 측정 모듈은 홈 게이트웨이에 위치할 수 있지만, 버퍼는 터미널에 위치할 수 있다. 이는 단지 홈 게이트웨이 및 터미널의 적응을 오직 요구하지만, 네트워크에서 다른 노드의 적응을 요구하지 않으므로 이점으로 될 수 있다.
실시예에 있어서, 홈 게이트웨이는 본 발명에 따른 네트워크 노드로서 기능하고, 또는 본 발명에 따른 터미널로서 기능한다.
다른 실시예에 있어서, 상기 버퍼 명령이 동기화 서버, 바람직하기는 미디어 동기화 응용 서버에 의해 발생되고; 상기 측정 모듈 및 상기 버퍼가 각각 동기화 측정 클라이언트 및 동기화 버퍼링 클라이언트로서 구성될 수 있다. 방법이, 상기 동기화 측정 클라이언트로부터 타이밍 정보를 수신하는 단계와; 상기 동기화 버퍼링 클라이언트에 대해 버퍼 명령을 전송하는 단계를 더 갖추어 이루어질 수 있다.
또 다른 실시예에 있어서, 상기 버퍼 명령이 하나 이상의 동기화 설정 명령 리포트로, 바람직하기는 RTCP 동기화 설정 명령 리포트로 동기화 버퍼링 클라이언트에 대해 보내지고; 및/또는 타이밍 정보가 동기화 서버에 대해 하나 이상의 동기화 상태 정보 리포트로 보내질 수 있다.
1실시예에 있어서, 상기 동기화 상태 정보 리포트가 상기 동기화 서버에 대해 상기 동기화 버퍼링 클라이언트를 매개로 보내질 수 있다.
변형에 있어서, 동기화 버퍼링 클라이언트가 터미널로부터 동기화 서버로 보내진 동기화 상태 정보를 변경하도록 구성되고; 및/또는 상기 동기화 버퍼링 클라이언트가 터미널에 대해 동기화 설정 명령 리포트를 포워드하도록 구성될 수 있다.
다른 변형에 있어서, 제1 미디어 경로가 제1 미디어 소스 및 터미널 사이에 제공될 수 있고, 상기 제2 미디어 경로가 제1 미디어 소스 또는 다른 제2 미디어 소스 및 상기 터미널 사이에 제공될 수 있다.
또 다른 변형에 있어서, 상기 제1 측정 모듈이 네트워크 노드에, 바람직하기는 경계 네트워크 노드 및/또는 억세스 네트워크 노드에 위치할 수 있고; 상기 버퍼가 상기 하나 이상의 터미널에 위치하거나 상기 하나 이상의 터미널을 상기 네트워크에 연결하는 하나 이상의 억세스-라인을 따른 위치에 위치할 수 있다.
또 다른 변형에 있어서, 하나 이상의 터미널 중 적어도 하나가, 미디어 스트림에서의 미디어 패킷의 도착 시간 사이의 변동을 측정하고, 변동이 버퍼링 지점으로부터 유래되는 지연에 관한 것인가의 여부를 상기 도착 시간 측정을 기초로 결정하도록 구성될 수 있다.
또 다른 변형에 있어서, 상기 버퍼가 네트워크로부터 수신된 지연 명령을 기초로 미디어 스트림을 지연시키도록 구성된 가변 지연 버퍼를 구비하여 구성될 수 있다. 1실시예에 있어서, 상기 지연이 0.5와 10초 사이, 바람직하기는 1과 5초 사이에서 선택되고; 다른 실시예에 있어서, 상기 버퍼가 상기 버퍼에 연결된 2 이상의 터미널 사이에서 공유될 수 있다.
다른 태양에 있어서, 본 발명은 제1 및 제2 미디어 스트림을 동기화하기 위한 시스템에 관한 것으로, 시스템이 하나 이상의 터미널에 대해 제1 및 제2 미디어 경로를 매개로 제1 및 제2 미디어 스트림을 전송하는 적어도 하나의 미디어 소스와; 적어도 하나의 측정 모듈에 의해 수신된 상기 제1 및 제2 미디어 스트림의 미디어 패킷과 관련된 타이밍 정보를 측정하기 위한, 상기 제1 및 제2 미디어 경로의 제1 위치에 위치된, 적어도 하나의 측정 모듈; 지연 명령을 기초로 상기 하나 이상의 터미널에 대해 미디어 경로를 거쳐 전송된 미디어 패킷을 지연시키도록 구성된, 상기 제1 또는 제2 미디어 경로의 적어도 하나의 제2 위치에 위치된, 적어도 하나의 버퍼; 및 상기 하나 이상의 터미널에서 미디어 패킷의 도착 시간이 실질적으로 동기화되도록 하기 위해 상기 타이밍 정보를 기초로 상기 적어도 하나의 버퍼를 위한 버퍼 명령을 발생시키기 위한 동기화 서버;를 구비하여 구성된다.
다른 태양에 있어서, 본 발명은 버퍼 모듈, 바람직하기는 동기화 버퍼링 클라이언트에 관한 것으로, 상기 버퍼 모듈이 버퍼 명령을 기초로 터미널에 대해 미디어 경로를 거쳐 전송된 미디어를 지연시키도록 구성되고; 상기 버퍼 모듈이: 가변 지연 버퍼와; 소정의 지연 기간 동안 미디어 스트림을 지연시키기 위한 정보를 갖는 가변 지연을 제공하는, 버퍼 명령을 수신하기 위한 수신기; 하나 이상의 터미널에 대해 하나 이상의 지연된 미디어 스트림을 전송하기 위한 송신기; 및 조건적으로, 2 이상의 터미널 사이에서 가변 지연 버퍼의 미디어 패킷을 공유하도록 버퍼 모듈을 허용하는, 포인터 정보를 포함하는 버퍼 리스트;를 구비하여 구성된다.
또 다른 태양에 있어서, 본 발명은 동기화 서버에 관한 것으로, 상기 동기화 서버가: 하나 이상의 미디어 스트림에서의 미디어 패킷의 도착 시간과 관련된 타이밍 정보를 수신하기 위한 수신기와; 타이밍 정보를 기초로 계산된 지연 정보를 포함하는 버퍼 명령을 발생시키도록 구성된 프로세서; 및 적어도 하나의 버퍼에 대해 버퍼 명령을 전송하기 위한 송신기;를 구비하여 구성될 수 있다.
다른 태양에 있어서, 본 발명은 미디어 재생을 위한 터미널에 관한 것으로, 상기 터미널이; 터미널에 의해 수신된 미디어 패킷의 도착 시간과 관련된 타이밍 정보를 측정하기 위한 측정 모듈과; 네트워크의 동기화 서버에 대해 타이밍 정보를 전송하기 위한 송신기; 및 조건적으로, 미디어 스트림의 미디어 패킷의 도착 시간 사이의 변동을 측정하고, 변동이 버퍼링 지점으로부터 유래되는 지연에 관한 것인지의 여부를 상기 측정을 기초로 결정하는 측정 유닛;을 구비하여 구성될 수 있다.
본 발명은 또한 컴퓨터 상에서 실행될 때, 상기 설명된 바와 같은 방법 단계 중 어느 것에 따른 방법을 실행하기 위해 구성된 소프트웨어 코드 부분을 구비하여 구성된 컴퓨터 프로그램 제품에 관한 것이다.
도 1은 종래 콘텐츠 전달 시스템의 구성 부분을 나타낸 도면이다.
도 2는 본 발명의 1실시예에 따른 콘텐츠 전달 시스템의 적어도 일부의 구성을 나타낸 도면이다.
도 3은 본 발명의 다른 실시예에 따른 콘텐츠 전달 시스템의 적어도 일부의 구성을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 신호 흐름을 나타낸 도면이다.
도 5는 본 발명의 다른 실시예에 따른 콘텐츠 전달 시스템의 적어도 일부의 구성을 나타낸 도면이다.
도 6은 본 발명의 다른 실시예에 따른 신호 흐름도를 나타낸 도면이다.
도 7은 본 발명의 1실시예에 따른 동기화 정보 리포트를 나타낸 도면이다.
도 8은 본 발명의 1실시예에 따른 버퍼링 동기화 클라이언트의 구성을 나타낸 도면이다.
도 9는 본 발명의 실시예에 따른 동기화 구성을 이용해서 채널을 변화시키는 프로세스의 구성을 나타낸 도면이다.
도 10은 본 발명의 또 다른 실시예에 따른 콘텐츠 전달 시스템의 적어도 일부의 구성을 나타낸 도면이다.
도 11은 다른 변형에 따른 콘텐츠 전달 시스템의 적어도 일부의 구성을 나타낸 도면이다.
도 12는 또 다른 변형에 따른 콘텐츠 전달 시스템의 적어도 일부의 구성을 나타낸 도면이다.
이하, 예시도면을 참조하면서 본 발명에 따른 실시예를 상세히 설명한다.
도 1은 미디어 전달 네트워크(114)에 대해 엣지 (억세스) 노드(112)(예컨대, xDSL 시스템에서의 DSLAM 또는 DOCSIS/케이블 시스템에서의 CMTS)를 매개로 연결된 UE(102-110)를 구비하여 구성된 통상적인 미디어 전달 시스템(100)의 부분을 나타낸다. 미디어 소스(111)는 엣지 노드에 대해 적어도 하나의 미디어 스트림(113)을 전송한다. 엣지 노드와 터미널 사이의 루트(route)는 단일 네트워크 세그먼트, 예컨대 억세스 링크(access link) 만으로 구성됨에 따라, 단순한 억세스 구성에 있어서 엣지 노드와 홈 네트워크의 사용자의 위치에서의 터미널 사이에 존재하는 지연에는 많은 차이가 있지는 않다. 따라서, 엣지-노드와 다른 터미널 사이에 지연이 존재하면, 지연은 대체로 동일하여, 엣지-노드를 매개로 연결된 다른 UE를 이용하는 미디어의 재생은 대체로 동기된다.
그러나 다른 멀티-미디어 장비의 이용은 엣지-노드와 그에 연결된 다른 UE 사이에서 다른 지연들이 존재할 수 있는 상황에서 초래될 수 있다. 도 1은 엣지-노드와 3개의 거주 환경(집)(116-120)을 나타내고, 여기서 엣지-노드는 다른 UE로 미디어 스트림(122), 예컨대 MPEG-4 미디어 스트림을 전달한다. UE3의 이용자는 전달된 미디어 스트림의 직접 시청(viewing)을 위해 그 UE(102)를 이용할 수 있고, 따라서 주거 환경(116)에 존재하는 더한 지연은 없다. UE1의 이용자는 전달된 미디어 스트림을 시청하는데 그 장치를 이용하지는 않지만, UE2로 미디어 스트림을 향하게 하는, UE1에 대해, 제2 UE2, 예컨대 MPEG-2 미디어 플레이어를 연결한다. 전송 스트림을 포워딩하기 전에, UE1은 먼저 MPEG-2 미디어 스트림(124)으로 MPEG-4 미디어 스트림을 트랜스코드(transcode)한다. 마찬가지로, UE4의 이용자는 미디어 스트림을 시청하기 위한 모바일 장치(110)의 형태의 다른 UE5를 갖는다. 모바일 장치는 MPEG-4 미디어 스트림을 모바일 장치와 함께 이용하기 위해 적절한 미디어 포맷으로 트랜스코드하는 UE5에 무선으로 연결된다. 따라서, 억세스 링크의 트랜스코더의 이용은, 지터 버퍼링(jitter buffering), 엑스트라 패킷타이징 및 디패킷타이징 프로세스(extra packetizing and depacketizing processes), 엑스트라 전송 지연 및 트랜스코딩 지연(extra transport delays and transcoding delays)에 관한 지연을 포함하는, 중요한 지연을 도입할 수 있다. 따라서, 이들 엑스트라 지연은, 특히 후자에 있어서, 다양한 UE의 재생에서 실제적으로 도입되는 받아들일 수 없는 차이로 될 수 있다.
이들 차이는, 억세스 노드에서 구현된 동기화 클라이언트(SC: synchronization client)(126)가 동기화 서버(101)와 동기화 정보를 교환하는, 알려진 네트워크-기반 동기화 구성을 이용해서 보상되어질 수 없다. 이러한 구성에 있어서, SC(126)는, 동기화 상태 정보(synchronization status information)를 생성하기 위해, 그리고 미디어 스트림의 재생을 지연시키기 위해, 미디어 패킷 도착 시간(media packet arrival times)을 위한 기능성(functionality)을 구비하여 구성된다.
동기화 서버는 SC(126)로부터 그리고 다른 억세스/엣지 노드에 구비된 다른 SC(도 1에는 도시되지 않았음)로부터 동기화 상태 정보(synchronization status information)를 수집하고, 지연 정보를 계산하며, 가변 지연 버퍼(variable delay buffer)를 설정하기 위한 정보를 이용하여 인터-데스티네이션 동기화 구성(inter-destination synchronization scheme)에 포함된 2 이상의 억세스/엣지-노드에 연결된 UE의 미디어 재생(media play-out)이 실질적으로 동기화되는, SC에 대해 동기화 설정 정보(134)를 송신할 수 있다. 대규모 배치 및 네트워크-제어를 위해 적절함에도 불구하고, 오직 다른 엣지 노드에서 도착하는 미디어 스트림의 도착 시간의 차이만이 이 구성에서 고려되므로, 이러한 동기화 구성은 억세스 라인에서 발생된 지연에 대해 보상할 수 없다. 미디어 스트림이 각 UE에 대해 다른 경로 상에서 계속될 때, 이들 노드를 넘어서 만들어질 수 있는 다른 차이는 더 이상 고려되지 않는다. 용어 억세스 라인(Access lines)은, SC를 포함하는 네트워크 노드, 예컨대 엣지 노드와 UE 사이의 모든 연결 및 엘리먼트를 의미하는 용어의 넓은 의미로 이용된다. 이는 또한 미디어 스트림이 UE에 도착하기 전에 다시 향하게 되는 미디어 스트림의 경우에 있어서 다른 네트워크의 부분 또는 홈 네트워크의 부분을 포함할 수 있다.
따라서, 개선된 동기화 성능을 제공하고 대규모 적용에 대해 적용가능한 동기화 구성을 제공하는, 개선된 인터-데스티네이션 동기화 구성을 포함하는, 개선된 동기화 구성을 위한 기술의 필요성이 있다.
도 2는 본 발명의 1실시예에 따른 콘텐츠 전달 시스템(200)의 적어도 일부를 나타낸다. 시스템은 UE(user-equipment)(208-212)로 하나 이상의 네트워크 노드(204,206)를 매개로 콘텐츠를 전달하기 위한 적어도 하나의 미디어 소스(202)를 구비하여 구성된다. UE는 억세스-노드, 예컨대 네트워크의 엣지에서의 네트워크 노드에 대해 억세스 라인(214-218)을 매개로 연결된다. 전형적으로, 네트워크는, 콘텐츠가 UE에 대해 하나 이상의 미디어 스트림(220,222), 예컨대 주문형 스트림(video-on-demand stream) 또는 라이브(live) 멀티캐스트 텔레비전 방송(multicast television broadcast)으로 전송되는, 패킷-스위치드 네트워크(packet-switched network)와 관련될 수 있다. 네트워크 노드는 억세스 노드(예컨대, DSLAM(Digital Subscriber Line Access Multiplexer), Cable Modem Termination System(CMTS)), 광 억세스 노드(optical access node) 또는 엣지 라우터(edge router) 또는 헤드-엔드(head-end)와 관련될 수 있다. 더욱이, UE(또한, 터미널로서 언급되는)는 미디어 스트림을 취급할 수 있는 장치, 예컨대 미디어 재생 장치 또는 그에 연결된 장치(예컨대, 셋톱 박스)와 관련될 수 있다. 이러한 장치는 모바일 폰, 텔레비전 셋, IP-폰, 게임 콘솔, 스마트 미터링 장치(smart metering device) 등을 포함할 수 있다. 용어 재생(play-out)은 사용자 또는 다른 장치에 대해 콘텐츠를 디스플레이(displaying) 또는 표현(presenting)하는 것으로서 이해되어질 수 있다.
UE와 엣지-노드 사이의 억세스 라인은, 도 1에 도시된 것과 마찬가지의 방법으로, 중재 엘리먼트(intermediate elements)(도시되지 않았음), 예컨대 하나 이상의 트랜스코더 및/또는 믹서를 구비하여 구성될 수 있다. 도 1을 참조하여 설명된 바와 같이, 이들 중재 엘리먼트는 UE에 연결된 억세스 라인의 각각에서 다른 지연을 야기시킬 수 있어, UE의 동기화된 또는 적어도 실질적으로 동기화된 재생은 가능하지 않다. 따라서, 이러한 원하는 지연을 위한 보상(compensation)을 가능하게 하기 위해, UE는 미디어 패킷 도착 시간 정보(packet arrival time information)를 결정하도록 구성된, 측정 유닛, 예컨대 MSC(Measuring Synchronization Client)(246-250)를 구비하여 구성될 수 있다. 이 미디어 패킷 도착 시간 정보는, 네트워크의 동기화 서버(230)(이후, MSAS(media synchronization application server)로 언급됨)로 보내지는, 동기화 상태 정보(synchronization status information)(224-228)를 발생시키도록 MSC에 의해 이용되어진다.
따라서, MSC는 미디어 패킷의 도착 시간 정보를 측정하기 위한 측정 지점으로서 기능하고, 네트워크에 대해 동기화 상태 정보의 이 정보를 보고하도록 UE를 허용한다. MSAS는, 동기화를 요구하는 미디어 스트림의 미디어 경로에 위치한, 네트워크의 지점을 버퍼링하기 위한 지연 정보를 계산하기 위해 동기화 그룹에 속하는 모든 UE의 동기화 상태 정보를 이용한다. MSAS는 지연 정보를 구비하는 버퍼링 지점을 제공할 수 있어 UE의 미디어 재생은 실질적으로 동기화된다.
1실시예에 있어서, 이러한 버퍼링 지점(buffering point)은 네트워크 노드, 예컨대 억세스-노드 등에서 BSC(Buffering Synchronization Client)로서 구현될 수 있다. 동기화를 달성하기 위해, BSC는, 네트워크 노드에 대해 MSAS에 의해 보내진 동기화 설정 정보(synchronization setting information)(236,238)에 의해 제어될어질 수 있는, 가변 지연 버퍼(variable delay buffer)(232,234)와 관련된다. 이후 BSC와 관련된 버퍼는 BSC 버퍼로서 언급된다. BSC 버퍼는 비교적 큰 지연, 예컨대 약 0.5와 5초 사이의 범위를 취급하기 위해 구성된다. 더욱이, BSC 버퍼는 MSAS로부터 동기화 설정 정보를 매개로 그 지연 명령을 수신하고 이들 명령에 따라 그 지연 설정을 채택한다는 의미에서 제어된 네트워크이다.
UE는, 전형적으로 20과 50ms 사이, 최대로 100과 200ms 사이의 범위의 작은 지연 변동에 대해 보상할 수 있는, 전형적으로 적응형 지터 버퍼(adaptive jitter buffer)인, 지터 버퍼(jitter buffer)(240,242,244)를 더 구비하여 구성될수 있다. 전형적으로, 보상되어질 수 있는 최대 지터는 미디어 스트림의 재생을 시작하기 전에 도입된 버퍼링 지연(사이즈)과 동등하다. 이러한 적응형 지터 버퍼는 미디어 스트림에서의 변동(fluctuations)(예컨대, 미디어 패킷 도착 시간의 정적 가변성(statistical variance))을 측정하고, 버퍼의 길이(사이즈)를 동적으로 채택함으로써 이들 변동을 보상하도록 구성된다. 이는 MSAS로부터 그 지연 설정을 수신하는, BSC 버퍼와 관련된 버퍼와 대비된다.
알려진 네트워크-제어 동기화 구성(network-controlled synchronization schemes)과 대비에 있어서, 본 발명에 따른 동기화 구성은 분리 측정 지점, 예컨대 MSC와, 분리 버퍼링 지점, 예컨대 BSC를 이용하고, 여기서 측정 지점(measuring points) 및 버퍼링 지점(buffering points)은 미디어 목적지(예컨대, UE)와 미디어 소스 사이의 미디어 경로 상의 다른 장소에 위치한다. MSC가 억세스 라인 또는 UE에서의 어는 곳에 위치할 수 있음에 따라, 동기화 구성은 억세스 라인에서의 지연을 보상하기 위해 허용한다. 1실시예에 있어서, MSC는 UE에 위치될 수 있고, BSC는 억세스-노드에 위치될 수 있다. 다른 실시예에 있어서, MSC는 로컬 네트워크 또는 홈 네트워크와 관련된 노드에 위치될 수 있다. 또 다른 실시예에 있어서, MSC는 네트워크, 예컨대 억세스 노드에 위치할 수 있고, BSC는 억세스 라인 또는 UE에도 위치할 수 있다.
따라서, 본 발명은 동기화를 제공하기 위한 기능성(functionality)이 분리 측정 지점 및 버퍼링 지점에 의해 제공된다는 식견에 의존한다. 따라서, 알려진 인터-데스티네이션 동기화 구성에 대한 대비에서, 동기화를 위해 요구된 기능(예컨대, 측정 및 버퍼링)은 단일 논리적 엔티티(single logical entity)에서 함께 구현되었다. 이들 기능성을 분배하는 것은 직면하는 다수의 기술적 도전을 제공한다. 상기 실시예 및 그 관련된 이점은 이하 도 2-12를 참조하여 더욱 상세히 설명된다. 상세한 설명에 있어서, 기술적 도전이 또한 규정될 뿐만 아니라 이들을 해결하기 위한 해법으로 식견을 명확히 한다.
동기화는 RTP 또는 MPEG 패킷 등과 같은 미디어 스트림에서의 시간 정보를 기초로 하거나 엘리먼터리 미디어 유닛(elementary media units)과 관련된다. UE의 MSC에 도착하는 각 패캣은 RTP 타임스탬프(timestamp) 및 NTP 타임스탬프와 관련될 수 있다. RTP 타임스탬프는 RTP 데이터 패킷에서 제1 옥텟(first octet)의 샘플링 순간을 반영한다. 타임스탬프의 초기 값은 랜덤 값이다. RTP 타임스탬프는 샘플링 주기(sampling periods)를 카운트하고, 따라서 제2 RTP 패킷이 제1 RTP 패킷 후에 샘플링되면, 이때 제2 RTP 타임스탬프는 첫 번째 보다 160 더 높다.
대비에 있어서, NTP 타임스탬프는 절대적 "벽 시계(wall clock)" 시간이다. NTP는 IETF RFC 1305에서 정의된 바와 같이 1900년 1월 1일에 시작된 64-비트 카운터이다. NTP에 의해 이용된 64-비트 타임스탬프는 32-비트 제2 부분(32-bit seconds part)과 32-비트 단편 제2 부분(32-bit fractional second part)으로 구성된다. 이는, RTP 타임스탬프에 의해 확인된, 제1 옥텟이 UE의 특정 지점을 지나간다는 절대 시간(absolute time)을 나타낸다. 이 특정 지점은, 예컨대 UE의 재생 지점일 수 있고, 여기서 NTP 타임스탬프는 특정 옥텟이 사용자에 대해 플레이되어지는 시간을 나타낸다. 한편, 이는, MSC가 먼저 특정 옥텟을 수신할 때, 진입(ingress)(입력) 지점일 수 있다.
본 발명에 따른 측정 및 버퍼링 지점을 분배할 때, 직면하는 하나의 기술적 도전은 동기화 행위들을 갖는 네트워크 지터의 존재하고 잠재하는 간섭(interference)과 관련된다. 지터로 인한 RTP 패킷들 사이에 랜덤 옵셋이 있고, UE가 프레젠테이션(presentation)의 정확한 시간을 결정함에도 불구하고, RTP 타임스탬프는, 미디어 스트림의 다른 부분에 비해, 언제 소정 비디오 프레임 또는 오디오 샘플이 플레이되어져야만 하는가를 결정한다. 따라서, 네트워크, 예컨대 억세스-노드에서의 BSC가 버퍼링 패킷에 의해 미디어 스트림을 지연시키거나 미디어 스트림을 포기함으로써(discarding) 미디어 스트림을 고속화하면(정상적으로 오직 이들 패킷을 한번만 버퍼링하는 것이 가능하다), UE가 정상적인 방법으로 RTP 타임스탬프를 이용하면 문제가 야기된다. 예컨대, 네트워크에서의 BSC가 패킷을 지연시키는 한편 RTP 타임스탬프가 UE에 의해 패킷의 재생을 요구하면, UE는 문제들과 만날 수 있다. 마찬가지로, BSC는 RTP 타임스탬프에서의 "갭(gap)"에서 초래되는 패킷을 포기할 수 있는 한편, UE는 갭이 존재하지 않으면 계속 재생할 수 있다.
더욱이, 예컨대 BSC를 이용해서 네트워크의 어디에서 미디어 스트림을 지연시키는 것은 UE에서 미디어 스트림의 재생이 그와 동일한 지연으로 수행될 것이라는 것을 자동적으로 의미하지는 않는다. 예컨대, BSC에 의해 도입된 지연이 전송된 미디어의 주파수, 예컨대 100ms와 관련하여 비교적 작으면, 이때 미디어 스트림에 도입되는 지연이 전혀 없음에 따라 UE는 계속 프레젠테이션을 할 수 있게 된다. 만약 도입된 지연이 비교적 작으면, UE는 지터로서 이를 인지할 수 있고, 지연을 보상하기 위해 그 지터 버퍼를 이용할 수 있다. 만약 더 큰 지연이 BSC에 의해 도입되면, 예컨대 1초 이상, UE는 그 구현(implementation)에 따라 반응할 수 있다. 예컨대, UE는 미디어 스트림에서의 "갭"을 결정할 수 있다. 도착하는 새로운 패킷이 없기 때문에, UE에서의 (지터) 버퍼는 미디어 스트림의 프레젠테이션에 기인하여 비워질 수 있고, 따라서 재생이 계속될 수 없게 된다. 이때, 지연된 미디어 스트림과 관련된 새로운 패킷이 UE에 도착하면, UE는 다시 지터 버퍼링을 시작하여 미디어 스트림의 재생을 계속할 수 있고, 지터 버퍼가 지점에 대해 충만되면 재생이 계속될 수 있다. 다른 UE는 다시 버퍼링을 시작하지 않을 수 있다. 예컨대, 미디어 스트림의 갭에 응답하여, UE는 미디어 스트림이 더 이상 유용하지 않아 전체적으로 재생을 중지함을 결정할 수 있다.
이 문제를 극복하기 위해, 1실시예에 있어서, UE가 네트워크-지연된 미디어 스트림을 수신하기 위해 채택되어질 수 있다. 이는 작은 지연들을 위해 UE가 지터와 도입된 (작은) 지연 사이의 차이를 인식하도록 프로그램되어질 수 있음을 의미한다. 지터는 전송 주파수(transmission frequency) 주위에서 (정적) 변화((statistical) variation)를 나타내고, 이때 몇몇 패킷이 나중에 도착하는 것으로 예상됨에도, 평균 미디어 패킷 도착 시간(average media packet arrival times)에 대해서는 일정하게 남아있게 된다. 즉, 지터 버퍼의 미디어 패킷의 양은 몇몇 안정 평균 지점(stable average point) 주위에서 변동(fluctuate)할 수 있다. 반면, 고의로 도입된 지연은 결정적 특성(deterministic character)을 갖추어 모든 다른 미디어 패킷이 나중에 도착하도록 야기되게 된다. 정적 지연과 네트워크 버퍼에 의해 도입된 지연 사이의 차이는 다수의 (지연된) 미디어 패킷을 측정하는 것에 의해 결정될 수 있다. UE가 네트워크 버퍼 지연의 발생을 결정하면, UE는 이들 패킷을 달리 처리하여 미디어 프레젠테이션에 동일한 지연을 도입할 수 있다.
소정의 UE는 소위 적응형 지터 버퍼(adaptive jitter buffer)를 포함할 수 있다. 적응형 지터 버퍼는 미디어 패킷의 도착에서의 변화에 대해 채택할 수 있다. 예컨대, 많은 패킷이 나중에 도착하면, 적응형 지터 버퍼는 이러한 행위를 보상하기 위해 크기가 증가될 수 있다. 지연되어지는 미디어 스트림의 프레젠테이션을 지연시킬 수 있도록 UE를 조절하는 것은, 이는 특정 종류의 적응형 지터 버퍼를 포함하는 UE로서 고려될 수 있다.
더 긴 지연에 대해, UE는 적절한 방법으로 반응하도록 프로그램될 수 있다. 이는 이러한 긴 지연이 검출되면 UE는 재생을 중지할 수 없음을 의미한다. 대신, 단순하게 더 길게 기다린다. 이러한 지연은 더 긴 시간 기간, 예컨대 1초 이상 동안 도착하는 미디어 패킷이 없을 때 검출될 수 있다. 이러한 "갭" 이후 새로운 미디어 패킷이 도착하면, 그들은 이전의 패킷과 함께 연속적으로 재생되게 된다. 더욱이, 긴 지연이 검출되면, 적응형 지터 버퍼가 버퍼 설정의 재설정을 요구할 수 있다. 긴 지연 이후, 적응형 지터 버퍼 설정은 상당히 높게 설정되어질 수 있다. 따라서, 긴 지연 이후, 지터 버퍼는 요구된 것 보다 더 긴 지연을 도입할 수 있다.
지연이 도입되면, BSC는 또한 예컨대 미디어 패킷을 스킵(skipping)하는 것에 의해 다시 지연을 감소시킬 수 있다. 이러한 프로세스는 또한 문제를 도입할 수 있다. 패킷이 BSC에 의해 드롭(dropped)되면, UE는 이것이 패킷 지연 또는 패킷 손실임을 인지할 수 있다. UE는 새로운 적은 지연된 패킷에 따라 플레이백(playback)을 계속하는 대신, 패킷이 여전히 도착하게 되는지를 알도록 기다릴 수 있다. 따라서, 그들의 구현에 따라, UE는 패킷을 분실(missing)하도록 다르게 대응할 수 있다. 이는, (평균에 대해 그리고 더 큰 지연이 검출되어지는 것과 동일한 방법으로) 예상된 것 보다 더 빨리 도착하는 새로운 미디어 패킷에 의해 뒤따른 분실 미디어 패킷은 지연이 감소되고 미디어 재생이 (패킷 손실로서 분실 패킷을 해석하는 대신) 새롭게 도착된, 적은-지연된 패킷에 따라 직접 계속되어지는 UE에 의해 해석될 수 있도록, UE를 프로그래밍하는 것에 의해 해결될 수 있다.
BSC 버퍼에 의해 도입된 지연을 처리하기 위한 다른 해법은 BSC 미디어-어웨어(media-aware), 또는 적어도, RTP 어웨어를 만드는 것이다. BSC는 UE에 대해 미디어 패킷을 포워딩하기 전에 유입되는(incoming) 미디어 스트림의 RTP 타임스탬프를 변화시키도록 구성되어질 수 있다. 그러나, 모든 RTP 패킷이 정확하게 하나의 미디어 패킷을 구비하여 구성되는 것은 아니다. 오디오에 대해, RTP 패킷은 다중 오디오 샘플을 포함할 수 있다. 반면 비디오에 대해, (동일한 RTP 타임스탬프를 갖는) 다중 RTP 패킷이 하나의 비디오 프레임을 포함할 수 있다. 이는 RTP 패킷의 크기 및 미디어 패킷의 크기, 예컨대 오디오 또는 비디오의 크기에 의존한다. 따라서, RTP 패킷의 RTP 타임스탬프를 변경시키기 위해, BSC는 RTP 패킷이 운반하는 미디어를 인식하고 따라서 타임스탬프를 변경시키도록 구성된다.
타임스탬프의 변경은 비교적 용이하게 실현될 수 있다. 만약 모든 패킷이 시간의 소정의 총계 동안 지연되어진다면, 새로운 타임스탬프는 버퍼된 패킷을 위한 시간의 총계를 빼는 것에 의해 계산될 수 있다. RTP 타임스탬프는 ETSI RFC 3550에서 정의된 바와 같은 미디어 스트림의 클럭 주파수를 기초로 증가한다. 따라서, RTP 타임스탬프로부터 시간의 총계(릴리초(ms)에서의)를 뺄 수 있도록, 클럭 주파수가 필요로 된다. 많은 페이로드 형태(payload types)에 대해, 클럭 주파수가 잘 알려져 있고, 예컨대 IETF RFC 3551에서 특정된다. BSC는 시간에서 패킷을 모니터링하고 페이로드 형태에 따라 클럭 주파수를 관련지움으로써 클럭 주파수를 획득하는 것에 의해 미디어 스트림에서 이용된 페이로드 형태를 획득할 수 있다. 한편, 페이로드 형태는 MSAS에서 BSC로 동기화 설정 메시지에서 보내질 수 있다.
BSC 버퍼에 의해 도입된 지연을 처리하기 위한 또 다른 해법은 UE 및 BSC 양쪽이 동기화 설정 명령을 수신할 수 있다는 것이다. 이들 동기화 설정 명령은 미디어 스트림의 재생 시간 상에서 명령을 포함한다. 인터-데스티네이션 동기화를 달성하기 위해 BSC가 지연을 도입함에도 불구하고, UE는 그 재생을 조절하기 위한 수단으로서 동기화 설정 명령(synchronization settings instructions)을 이용할 수 있다. 동기화 설정 명령으로부터 정보를 통해, UE는 BSC가 그들을 지연시키기 때문에 미디어 스트림으로부터의 패킷은 나중에 도착한다는 사실을 알아차린다. 동기화 구성을 받아들이도록 UE를 허용하는 동기화 구성이 도 5 및 도 6을 참조하여 이하 더욱 상세히 설명된다.
하나 이상의 억세스 라인이, 예컨대 포워딩 UE가 엔드-유저(end-user)의 UE에 대해 미디어 스트림을 포워딩하는 중재 엘리먼트(intermediate elements)를 구비하여 구성되면, 포워딩 UE는 네트워크의 엔드-유저의 UE로부터 유래되는 동기화 상태 정보 메시지(synchronization status information messages)(예컨대, RTPC 메시지의 형태로)를 전달할 수 있어야 한다. 이러한 프로세스는 여기서 참조로서 통합되는 IETF RFC 3550에 개시된 바와 같은 기술에 의해 실현될 수 있다. RFC 3550은 미디어 경로에서의 2가지 종류의 중재 엘리먼트, 믹서 및 트랜스레이터(translator)를 특정한다. 트랜스레이터는 변경되지 않은 RTP 및 RTCP 메시지를 전달할 수 있다. 따라서, 포워딩 UE가 트랜스레이터와 같이 기능하면, 포워딩 RTPC 메시지는 되돌아가 전달은 문제를 일으키지 않는다. 그러나, UE가 (예컨대, 다른 코덱에 대해 미디어 스트림를 트랜스코딩하는) 트랜스코더와 같이 기능하면, UE는 RTPC 메시지를 처리하도록 구성되어야만 한다.
트랜스코딩 동안, UE는 RTP 미디어 패킷과 RTP 타임스탬프를 변형시킨다. 따라서, 네트워크에 대해 트랜스코딩 중재 엘리먼트를 매개로 RTPC 메시지를 보낼 수 있도록 하기 위해, 함께 속하는 도입 및 유출 타임스탬프(incoming and outgoing timestamps)의 트랙을 유지한다. 즉, 트랜스코딩 UE는 입력에서의 미디어 패킷의 타임스탬프와 출력에서의 미디어 패킷의 타임스탬프를 상관지울 수 있고, 그 반대도 가능하다. 만약 엔드-유저의 UE가 동기화 상태 정보 메시지를 보내면, 이 정보는 포함되게 되거나 트랜스코딩된 RTP 스트림의 RTP 타임스탬프를 기초로 한다. 따라서, 도입 및 유츨 타임스탬프 사이에서 상관 정보를 이용하면, 트랜스코딩 UE는 도입 RTP 스트림의 관련된 값에 대해 RTP 타임스탬프를 변경시켜야만 한다. 이는 MSAS로 보내진 RTPC 메시지가 올바른 RTP 타임스탬프를 기초로 하는 동기화 상태 정보를 포함하는 방법이다. 이 프로세스는 RFC 3550에서 더욱 상세하게 설명된다.
도 3은 본 발명의 다른 실시예에 따른 콘텐츠 전달 시스템의 적어도 일부를 나타낸다. 특히, 본 실시예는 ETSI TISPAN TS 183 063 및 TS 182 027에 의해 정의된 바와 같은 IMS-기반 IPTV 300 구조를 기초로 하는 콘텐츠 전달 시스템의 구현에 대해 나타낸다. 시스템은 한 세트의 CSCF(Call/Session Control Functions) : 예컨대 P-CSCF(Proxy-CSCF) , I-CSCF(Interrogating-CSCF) 및 S-CSCF(Serving-CSCF)를 구비하여 구성된 IMS 코어(307)를 구비하여 구성된다. IMS 코어는 UE(User Equipment; 305), 네트워크에서 IPTV 서비스를 제어하기 위한 IPTV SCF(service control functions; 306)(예컨대, 방송 SCF, Content-on-Demand SCF 등), 그리고 UE(User Equipment)에 대해 TF(Transport Functions; 304)를 매개로 미디어 콘텐츠 및 제어 패킷의 전달을 제어하는 MCF(Media Control Functions; 302) 및 MDF(Media Delivery Functions; 303)를 구비하여 구성된 MF(Media Functions; 301)에 더 연결된다.
TS 182 027로부터의 IPTV 구조는 인터-데스티네이션 동기화 기능을 실행하도록 배열된 MSAS(Media Synchronization Application Server; 308)에 따라 연장된다. 인터-데스티네이션 미디어 동기화는 시간에서 동일하거나 적어도 거의 동일한 지점에서 소정의 미디어, 예컨대 비디오 프래그먼트(video fragment) 및/또는 오디오 샘플의 프레젠테이션을 가능하게 하는 동기화 기술과 관련된다. IMS 시스템은 미디어 버퍼링을 위해 채택될 수 있다. 미디어 버퍼링은 하나 이상의 가변 지연 버퍼를 이용해서 전송 기능(Transport Functions)에서 예컨대 일어날 수 있다. 버퍼는, UE가 RTP 전송 제어를 위해 네트워크에 대해 보내는, 예컨대 RTPC 수신기가 동기화 연장에 따라 리포트하는, 동기화 상태 정보 리포트에 첨부된, MSAS로부터 버퍼 설정 정보를 수신할 수 있다.
동기화는 예컨대 적어도 하나의 가변 지연 버퍼와 전송 기능(Transport Functions)에서의 관련된 BSC(Buffering Synchronization Client; 310)를 이용하는 버퍼링과 함께 UE 위치에서 MSC(Measuring Synchronization Clients; 309)에 의해 결정된 동기화 상태 정보를 이용해서 실행될 수 있다. MSAS는 다른 MSC로부터 동기화 상태 정보를 수집하고, 동기화 설정 명령을 보내는 것에 의해 관련된 BSC에서 버퍼링 프로세스를 제어할 수 있다. IMS 코어(Core)는 RACS(Resource Admission and Control Subsystem; 311)를 이용해서 전송 기능(Transport Functions)에서의 BSC에 대해 동기화 설정 명령을 보낼 수 있다.
도 3에 도시된 IPTV 시스템은 사용자 터미널 또는 사용자 터미널들과 SCF 및 MF를 구비하여 구성되는 응용 서버(applications servers) 사이에서 세션을 셋 업하고 제어하도록 SIP(Session Initiation Protocol)를 이용할 수 있다. SIP 시그널링 메시지에 의해 운반된 SDP(Session Description Protocol)는 세션에서의 미디어 컴포넌트를 설명하고 결정하는데 이용될 수 있다. 더욱이, RTSP(Real Time Streaming Protocol)는 예컨대 방송 트릭 모드(broadcast trick modes), CoD(Content-on-Demand), 및 NPVR(Network Personal Video Recorder)를 제공하는 미디어 제어를 위해 이용되고, RTP(Real Time Transport Protocol) 및 RTCP(RTP Control Protocol)는 각각 미디어 전송 및 그 제어를 위해 이용된다.
도 4는 IP 멀티캐스트 채널에 가입된 수신기(UE의)가 동기화된 본 발명의 실시예에 따른 신호 흐름(400)을 나타낸다. 이 시나리오는, 예컨대 다른 위치에서 다른 UE 상에서 동기화된 방법으로 (예컨대, 멀티-캐스트된 축구 경기) 동일한 라이브 콘텐츠를 시청하고자 할 때 적용가능하게 될 수 있다. 인터-데스티네이션 동기화는, 한 이용자가 다른 것을 하기 전에 골 순간(goal seconds)를 보는 위험을 실행하는 것 없이, 함께 게임을 즐기는, 연속적 채팅 세션(continuous chat session) 또는 개방 전화 라인(open telephone line)을 매개로 이용자의 상호작용을 가능하게 한다.
제1 단계(402)에서, UE는 미디어 세션을 셋 업하도록 IMS 코어(Core)를 요청한다. 요청 메시지는, 예컨대 ETSI TS 182 027 및 ETSI TS 183 063에서 특정된 바와 같은 SIP INVITE 메시지일 수 있다. 이 요청은 SCF(단계 404)로 IMS 코어(Core)에 의해 전달되어질 수 있고, 이는 기본 IPTV 미디어 전달을 위한 진전된 서비스를 전달한다. SCF는 응답 메시지, 셋업되어지도록 세션 상에서 정보를 더 구비하여 구성되는, 예컨대 SIP 200 OK 메시지에 따라 이 요청에 대해 응답할 수 있다. 이 다른 정보는 MSAS의 어드레스, 예컨대 URL 또는 IP 어드레스와, 동기화되어지는 터미널의 그룹을 확인하기 위한, 그룹 동기화 식별자(group synchronization identifier), SyncGroupId를 구비하여 구성될 수 있다. 그룹 동기화 식별자는 예컨대 응답 메시지에 SDP 파라미터로서 포함될 수 있다. IMS 코어(Core)는 계속해서 요청 UE로 응답 메시지를 되돌려 전달하고(단계 406, 412), 요청된 미디어 세션이 동기화를 요구함을 RACS에게 알린다.
RACS는 ETSI TS 183 017에서 특정된 바와 같은 다이어미터 메시지(Diameter message)를 이용해서 알려질 수 있다. 다이어미터는 연장가능 프로토콜이고, 이는 동기화의 목적을 위해 요구된 동기화 정보를 포함하는 새로운 속성-값 쌍(attribute-value pairs )을 정의하는 것에 의해 연장될 수 있다. 특히, 다이어미터 동기 셋업 요청(Diameter sync setup request; 408)은 동기화 세션을 식별하기 위한 정보, 예컨대 SyncGroupId, 동기화되어지는 미디어 스트림을 위한 정보(예컨대, SIP 응답 메시지에서 하나 이상의 SDP(Session Description Protocol) 파라미터), 내포된 UE를 식별하기 위한 정보(예컨대, 미디어 스트림을 설정하는 UE의 IP 어드레스), 및 이 특정 미디어 동기화에 대해 동기화 서버로서 할당된 MSAS의 어드레스를 구비하여 구성된다.
예컨대, DHCP를 이용하면, 네트워크은 UE에 대해 IP 어드레스를 할당할 수 있다. 네트워크는, BSC를 포함하는 소정의 네트워크 노드와 관련될 수 있는, IP 어드레스의 소정의 범위 내에서 UE에 대해 IP 어드레스를 할당할 수 있다. RACS는 IP 어드레스 범위의 리스트 및 각 IP 어드레스 범위와 관련된 BSC의 어드레스에 따라 제공 또는 구성될 수 있다. 동기화 셋업 요청 메시지(408)의 UE의 IP 어드레스를 이용하면, RACS는 BSC를 리스트를 기초로 확인할 수 있고, 이는 미디어 세션과 관련된 미디어 스트림을 버퍼링하기 위해 적절하다. BSC는 미디어 소스와 UE 사이에서 미디어 경로에 있거나 관련되면 UE와 함께 이용하기 위해 적절하다.
RACS가 동기화를 위한 버퍼로서 이용되어지도록 BSC의 IP 어드레스를 결정한 후, IMS 코어(Core)로부터 RACS로 보내진 동기화 셋업 요청(408)과 동일하거나 유사한 포맷을 갖을 수 있는, 그리고 BSC 식별자, 예컨대 BSC IP 어드레스를 포함하는 속성-값 쌍(attribute-value pair)에 따라 연장될 수 있는, 예컨대 다이어미터 메시지(400)를 이용해서 MSAS에 대해 계속적으로 전달되어지는, 동기화 셋업 요청(sync setup request)에 이 어드레스를 삽입할 수 있다.
BSC를 할당 또는 위치시키는 메카니즘은 상기한 실시예로 한정되는 것은 아니다. 1실시예에 있어서, SCF는 UE 및 BSC의 리스트를 유지할 수 있다. 리스트를 이용하면, UE에 의해 요청된 미디어 세션에 대해 BSC를 할당할 수 있고 선택된 BSC를 MSAS에 대해 직접 통신할 수 있다. 다른 실시예에 있어서, RACS는 직접적으로 MSAS를 통보하지는 않지만, SCF에 의해 할당된 MSAS에 대해 그 자신을 보고하도록 BSC를 명령한다. 또 다른 예에 있어서, BSC 어드레스는 UE에 대해 통신되어질 수 있다. UE는 상태 정보 리포트의 일부로서 MSAS에 대해 어드레스를 계속적으로 통신할 수 있다. 이러한 변형에 있어서, BSC 어드레스는, 예컨대 BSC IP 어드레스, 그리고 조건적으로 포트 번호(port number)를 구비하여 구성되는, RTCP 메시지의 필드와 관련될 수 있다.
따라서, SCF 및/또는 RACS는 UE에 대해 적절한 BSC를 할당하도록 구성될 수 있다. 1실시예에 있어서, 이러한 BSC는 엣지-노드, 예컨대 DSLAM 또는 CMTS에 공동-위치(co-located)될 수 있다. 어느 UE(들)가 소정의 엣지-노드 뒤에 있는지를 확인하는 문제 (예컨대, 엣지-노드에 대해 하나 이상의 UE의 관련)는 다양한 방법으로 해결될 수 있다. 전형적으로, 이는, UE에 대해 DHCP를 이용해서 IP 어드레스를 공급하는, UE에 연결된 엣지-노드이다. 만약 UE에 할당된 IP 어드레스가 유일하다면, 이는 그것이 할당된 어느 엣지-노드에 대해 지시기(indicator)로서 이용될 수 있다. 네트워크의 엣지-노드에 대한 IP 어드레스 범위의 할당은, 예컨대 수동 구성에 의해 미리 결정될 수 있고, 네트워크에 대해 억세스가능한 데이터베이스의 어느 곳에 저장된 리스트에 유지될 수 있다. 리스트는 SCF 및/또는 RACS에 대해 복사되어지거나 그에 의해 억세스가능해질 수 있다.
적절한 BSC를 선택하기 위한 다른 변경들은 네트워크에서 이미 유용한 네트워크 토폴로지(topology) 정보를 기초로 할 수 있다. 예컨대, 많은 고정된 네트워크는, 소비자가 어느 억세스 라인 뒤에 있는지를 추적하는, 네트워크 관리 시스템(network administration system)을 구비하여 구성된다. 마찬가지로, 예컨대 콜 셋업(call setup) 및 핸드오버(handovers)를 취급하기 위해, 모바일 네트워크는 계속적으로 어느 기지국이 어느 터미널에 의해 이용되어지는지를 추적한다. 따라서, 이러한 상황에서, 네트워크 토폴로지 정보는 네트워크에서 모두 유용하게 준비되고, 적절한 BSC를 선택하는 목적을 위해 이용되어질 수 있다.
다른 변형에 있어서, BSC는 네트워크 계층(network hierarchy)에서 더 높은 네트워크 노드, 예컨대 미디어 스트림 주행(media streams travel)의 전부 또는 적어도 큰 부분을 통한 네트워크 노드에 위치할 수 있다. 또 다른 조건은 미디어 소스와 UE 사이에서 루트(route)를 결정하는 것일 수 있다. 이는 미디어 소스로부터 UE로 또는 그 반대로 트레이스-루트 메시지(trace-route message)를 보냄으로써 실현될 수 있다. 대부분의 오퍼레이팅 시스템 및 때때로 "트레이스패스(tracepath)" 또는 "트레이서트(tracert)"로서 언급되는데에서 유용한, 트레이스-루트 메시지는 네트워크의 2개의 엔티티 사이에서 주행된 모든 네트워크 노드의 리스트를 복귀시킬 수 있다. BSC 기능성을 포함하는 모든 노드의 리스트가 유용하다면, BSC 기능을 포함하는 네트워크 노드는 트레이스-루트 동작에 의해 복귀된 네트워크 노드의 리스트로부터 선택되어질 수 있다.
도 4의 흐름으로 되돌아가면, 단계(410)에 있어서, MSAS는 동기화 세션 셋-업 정보(synchronization session set-up information)를 구비하여 구성되는 동기화 셋업 요청(sync setup request)을 수신한다. 동기화 세션 셋-업 정보는 다음을 포함하는 다수의 정보 항목을 구비하여 구성될 수 있다:
- UE와 관련된 식별자(identifier), 예컨대 UE에 의해 현재 이용된 IP 어드레스;
- BSC와 관련된 식별자, 예컨대 BSC의 가능한 포트 번호 및 IP 어드레스;
- 동기화 그룹과 관련된 식별자, 예컨대 SyncGroupId; 및
- 콘텐츠와 관련된 식별자, 예컨대 미디어 스트림과 관련된 하나 이상의 SDP 파라미터.
하나의 SDP 파라미터는 미디어 패킷이 보내진 포트 번호와 관련될 수 있다. UE의 IP 어드레스와 함께 포트 번호는 미디어 스트림을 위한 식별자로서 이용될 수 있다. 미디어 콘텐츠를 확인하기 위한 다른 변경은 IETF RFC 3550에서 특정된 바와 같은 SSRC의 이용일 수 있다. SSRC는 미디어 스트림에 대한 미디오 소스에 의해 할당되고, 미디어 스트림 셋업 동안 MSAS에 대해 통신되어질 수 있다. MSAS는 메모리 또는 데이터베이스에 이 정보를 저장할 수 있다. 더욱이, 이는 이 정보를 MSAS의 현재의 동기화 정보에 대해 상관(correlate)시킬 수 있다. 예컨대, 1실시예에 있어서, SyncGroupId를 기초로 MSAS는 어느 다른 미디어 목적지(destinations)가 동일한 동기화 그룹의 부분인지를 결정할 수 있다. 이 정보는 지연 설정을 계산하기 위해 이후의 스테이지에서 MSAS에 의해 이용되어질 수 있다.
UE에 의해 수신된 바와 같은 응답 메시지(412)는, SyncGroupId 및 MSAS의 위치를 포함하는, 미디어 셋업 및 동기화를 위해 필요로 되는 모든 정보를 구비하는 UE를 제공할 수 있다. 조건적으로, 이는 버퍼링이 다른 엔티티(entity)에서 수행된다는 표시(indication)를 구비하여 구성될 수 있다. 세션 셋업의 확인 후(단계 414,416), UE는 선택된 멀티캐스트 스트림의 전달을 요청하도록 예컨대 IGMP를 이용할 수 있다.
동기화 목적을 위해, UE의 MSC는 MSAS로 제2 동기화 상태 정보를 보낼 수 있다(단계 418). 응답에 있어서, MSAS는 동기화 설정 정보를 발생시키고 이들 정보를 BSC로 전달할 수 있다(단계 420). 동기화 상태 정보 및 동기화 설정 명령의 전송은, 이하 더욱 상세히 설명되는, 예컨대 연장된 RTCP 송신기 및 수신기 리포트(Sender and Receiver reports)를 이용하는 RTPC 리포팅 기술을 이용해서 실현될 수 있다.
MSC로부터 수신된 동기화 상태 정보는 미디어 스트림에서 특정 샘플을 확인하기 위한 RTP 타임스탬프 및 NTP 타임스탬프를 구비하여 구성된다. 예컨대, RTCP Sender Report가 1234의 RTP 타임스탬프와 2월 3일 10:14:15를 나타내는 NTP 타임스탬프를 포함하면, 이는 미디어 스트림의 샘플 1234는 정확하게 2월 3일 10:14:15에 야기되었음을 의미한다.
따라서, NTP 타임스탬프는 UE가 리포트하는 샘플링 이벤트의 실제(절대) 시간을 나타낸다. 동기화의 목적을 위해, 인터-데스티네이션 미디어 동기화에 포함된 모든 UE는, 예컨대 NTP(Network Time Protocol)를 기초로 하는 알려진 기술을 이용해서 동기화되는 클럭을 이용함을 가정한다. RTP 타임스탬프는 RTP 데이터 패킷의 제1 옥텟의 샘플링 순간을 반영한다. 샘플링 순간은 동기화 및 지터 계산을 허용하도록 시간의 단조롭고 선형적으로 증가하는 클럭으로부터 추출되어야만 한다. 따라서, RTP 타임스탬프는 미디어 스트림에서의 샘플 순간의 위치에 관한 정보를 제공한다.
동기화는 다양한 시간 이벤트, 예컨대 미디어가 UE에 의해 수신되어지는 시간을 기초로 하거나 미디어가 이용자에 대해 제공되는 시간을 기초로 할 수 있다. 예에 있어서, 동기화 상태 정보의 RTP 타임스탬프는 지시된 NTP 시간에서 수신된 미디어 패킷을 반영함을 가정한다.
MSAS는 하나 이상의 동기화 그룹에서 다른 미디어 목적지(전형적으로, UE)의 MSC의 동기화 상태 정보를 수신 및 관리하게 된다. 수집된 동기화 상태 정보를 기초로, MSAS는 UE와 관련된 BSC를 위한 지연 설정 명령을 실질적으로 계산할 수 있다. 이들 지연 설정 명령은 가장 지연을 갖는 미디어 목적지를 확인하고 이어 지연의 양을 계산함으로써 결정될 수 있고, 다른 미디어 목적지는 확인된 가장-지연된 미디어 목적지의 재생 시간을 매치시키기 위해 도입되는 것이 필요하다.
지연 설정 명령은, RTP 타임스탬프 및 NTP 타임스탬프의 주어진 타임스탬프 조합을 (가상적으로) 매치시키는 방법으로 미디어 패킷을 처리하도록 BSC를 허용하는, BSC를 위한 명령에 관한 것이다. 지연 설정 명령의 계산은 참조 타임스탬프(reference timestamp), 예컨대 NTP 타임스탬프의 선택과, RTP 타임스탬프와 관련된 모든 미디어 목적지에 대한 계산을 포함할 수 있다.
제1 실시예에 있어서, MSAS는 예컨대 소정의 RTP 타임스탬프를 선택하고 NTP 타임스탬프가 선택된 RTP 타임스탬프와 관련된 미디어 패킷을 처리해야 하는 각 미디어 목적지에 대해 계산할 수 있다. 다른 실시예에 있어서, MSAS는 NTP 타임스탬프를 선택하고 RTP 타임스탬프가 선택된 NTP 타임스탬프와 관련되어야만 하는 각 미디어 목적지에 대해 계산할 수 있다. MSAS는 현재의 NTP 또는 RTP 타임스탬프를 선택하는 것이 요구되지 않음을 주지해야 한다. 이는 문제로 되는 NTP와 RPT 사이의 관계이므로, 현재의 타임스탬프가 이용되어질 수 있거나, 과거나 미래의 (가상) 동기화 지점을 반영하는 타임스탬프가 이용되어질 수 있다.
RTP 타임스탬프가 (IETF RFC 3550에 따른) 절대 시간(absolute time)을 나타내지 않고 주파수를 나타냄에 따라, 샘플링 율은 결정되어질 필요가 있다. 이는 페이로드 형태 및 그들의 관련된 특정된 샘플링 율(예컨대, IETF RFC 3551로부터 알려진)을 결정하는 것에 의해, 또는 2 이상의 상태 정보 리포트(Status Information Reports)를 이용하는 것에 의해 수행되어질 수 있다. 예컨대, 제1 상태 리포트(first status report)는 NTP 타임스탬프 NTP_x를 구비하는 RTP 타임스탬프 RTP_x를 포함하고, 제2 상태 리포트는 NTP 타임스탬프 NTP_y를 구비하는 RTP 타임스탬프 RTP_y를 포함하며, 여기서 NTP_y는 NTP_x 보다 시간에서 이후의 지점과 관련되는 것이다. 이 정보를 기초로, 주파수(또는 클럭 율) = (RTP_y - RTP_x)/(NTP_y - NTP_x)가 결정될 수 있다.
보고된 미디어 패킷 도착 시간은, 예컨대 네트워크 지터(network jitter) 때문에, 몇몇 부정확성을 포함할 수 있다. 이들 부정확성은 2 이상의 Status Information Reports를 이용하는 것에 의해 제거 또는 적어도 감소될 수 있다. 만약, 계산된 값이 소정의 고정된 클럭 율에 가까우면, 이는 매우 종종 이용되고(예컨대, 8000Hz, 44100Hz 및 90000Hz), MSAS는 이들 알려진 값 중 하나가 이용됨을 가정할 수 있다. MSAS가 클럭 율을 한번 결정하면, BSC를 위한 지연 설정 명령이 계산될 수 있다. UE1 및 UE2와 관련된 이하의 예시적 Status Information Report 값을 고려하는 바, 여기서 90000Hz의 클럭 율이 이용되었다:
- UEl은 NTP 시간 01:23:45.678 (NTP_UE1)에서 RTP 타임스탬프 2070000 (RTP_UEl_reported)를 보고한다;
- UE2는 NTP 시간 01:23:46.678 (NTP_UE2)에서 RTP 타임스탬프 2250000 (RTP_UE2_reported)를 보고한다.
MSAS는 참조 타임스탬프를 선택하고 기본으로서 참조 타임스탬프를 이용해서 다른 타임스탬프의 이어지는 계산에 의해 먼저 가장 지연된 UE를 결정할 수 있다. 예컨대, MSAS는 UE1의 NTP 타임스탬프를 선택하고 이 NTP 시간에서 UE2의 RTP 타임스탬프를 계산할 수 있다:
RTP_UE2_calculated =
RTP_UE2_reported + 90000 * (NTP_UE1 - NTP_UE2)
이 계산의 결과는, UE1이 가장 지연된 UE를 나타내는, RTP_UE2_calculated = 2160000이다. 즉, 시간 NTP_UE1에서, UE2의 RTP 타임스탬프 값은 UE1과 관련된 것 보다 더 크다. 따라서, 인터-데스티네이션 동기화를 달성하기 위해, UE2는 재생을 지연시켜야 한다.
지연 설정 명령을 계산한 후, MSAS는 적절한 BSC로 명령을 보낼 수 있다. 이들 명령은 예컨대 계산된 RTP 및 NTP 타임스탬프와, 지연되어지는 미디어 스트림을 확인하는 수단, 예컨대 미디어 스트림이 수신된 포트 번호 및 UE의 IP 어드레스, 또는 RTP 프로토콜에서 이용된 것과 같은 미디어 스트림의 SSRC 식별자를 포함할 수 있다.
MSC 및 BSC가 미디어 경로의 다른 지점에 위치함에 따라, BSC는 MSAS에 대해 UE의 MSC에 의해 보내진 Synchronization Status Information의 식견을 가지고 있지 않고, UE가 현재 제공되고 있는 미디어 유닛의 식견을 가지고 있지 않다. 따라서, 지연을 도입 또는 제거하는 것에 대한 여부를 결정할 수 없다. 이러한 이유에 대해, 1실시예에 있어서, MSAS는 지연 설정 명령으로 UE의 MSC로부터 유래되는 상태 정보 리포트(Status Information Report)를 포함할 수 있고, 따라서 BSC는 MSAS에 의해 결정된 바와 같은 RTP 및 NTP 타임스탬프를 기초로 요구된 지연을 계산할 수 있다. 따라서, UE1 및 UE2를 위한 지연 설정 명령은, 요구되는 지연이 없음을 결정하도록 UE1을 허용하고, 1초의 지연(주어진 클럭 율의 정확히 1초와 동등한 2160000 - 2070000 = 90000)이 도입되어야만 함을 결정하도록 UE2를 허용하는, UE1의 Status Information Report로부터의 값 및 RTP_UE2_calculated 값을 구비하여 구성될 수 있다.
BSC가 명령을 수신하면, 스트림 확인 수단(stream identification means)을 기초로 적절한 스트림을 위치시킬 수 있고, 명령을 기초로 도입 또는 제거에 대해 지연의 양을 계산한다. 그 후, BSC는 요구된 지연을 도입할 수 있다. 지연은 몇몇 시간에 대해 보내지는 미디어 패킷을 중지시키는 것에 의해, 또는 RTP 패킷 및 RTCP 패킷 양쪽에서 RTP 타임스탬프를 변경시키는 것에 의해 실현될 수 있다.
지연 설정 명령은 과거로부터 NTP 또는 RTP 타임스탬프를 구비하여 구성될 수 있다. 지연 설정 명령의 수신기, 예컨대 BSC는 주어진 NTP 및 RTP 타임스탬프를 매치시키기 위해 미디어 스트림에서의 지연을 도입해야 한다. 패킷이 모두 취급될 준비에 있는 RTP 타임스탬프를 포함함에도 불구하고, 명령의 수신기는 그의 현재 취급된 타임스탬프에 대해 명령을 해석해야 한다. NTP 및 RTP 타임스탬프는 또한 수신기에 전혀 도착하지 않게 되는 미디어 패킷과 관련될 수 있다. 어떤 의미에서는 이러한 타임스탬프는 가상(virtual)으로서 간주될 수 있다. 이는 동기화를 지시하는 NTP 및 RTP 타임스탬프의 조합이다. MSAS는 UE가 NTP 시간에서 해당 RTP 타임스탬프에 있었을 거라고, 또는 있어야 하거나, 또는 있을 것처럼 작용하도록 UE에게 알린다.
MSC에 의해 결정되고 MSAS로 보내진 것과 같은 동기화 상태 정보가 다른 패킷 프로세싱 시간(예컨대, 패킷 도착 시간, 패킷 프레젠테이션 시간 또는 패킷 디코딩 시간)을 기초로(또는 관련된) 될 수 있으므로, 지연 설정 명령은 - 원칙적으로 - 동일한 프로세싱 시간을 기초로 해야만 하는 바; 예컨대 지연 설정 명령이 또한 패킷 도착 시간 상에 있어야만 하는 것 보다 동기화 상태 정보가 패킷 도착 시간을 기초로 한다. 다른 프로세싱 지점(도착, 디코딩, 프레젠테이션) 사이의 시간 차이가 일정하고 알려지면, 상태 리포트는 설정 명령이 패킷 프레젠테이션 시간을 기초로 하는 동안 패킷 도착 시간을 기초로 할 수 있다.
NTP 및 RTP 타임스탬프 대신, BSC로 보내진 지연 설정 명령은 - 다른 실시예에서 - 여분의 1000 밀리초(extra 1000 milliseconds)의 제2 미디어 스트림을 버퍼하도록 BSC를 위한 명령을 구비하여 구성된다. 한편, 지연 설정 명령은 지연의 1000 밀리초가 실현되도록 하기 위해 인터-데스티네이션 동기화 버퍼 사이즈를 증가시키도록 BSC를 명령할 수 있다. 이들 경우에 있어서, 이는 요구된 지연을 계산하는 MSAS이다.
도 5는 본 발명의 다른 실시예에 따른 콘텐츠 전달 시스템(500)의 적어도 일부를 나타낸다. 특히, 도 5는 도 2를 참조해서 설명한 것과 유사한 IMS-기반 IPTV 구조의 부분을 나타낸다. 시스템은 ECF/EFF(Elementary Processing Functions and Elementary Forwarding Functions; 504) 및, ECF/EFF와 함께 설치된(또는 일부인) BSC(506)를 구비하는 전송 기능(Transport Functions; 502)을 구비하여 구성된다. MDF(508)는 목적지로서 UE(512)에 미디어 스트림(510)을 전달한다. 미디어 스트림은 UE의 MSC(514)에 대해 BSC(506)를 매개로 TF(502)를 통해 전송된다.
미디어 스트림(510)의 수신에 응답하여, UE의 MSC는 MSAS(518)에 대해, 동기화 상태 정보 메시지(516), 예컨대 동기화 상태 정보 리포트를 발생시킨다. 도 3 및 도 4를 참조하여 설명된 바와 같은 시스템과 대비하여, 동기화 상태 정보 메시지는 BSC(506)를 매개로 MSAS로 보내진다. 수신된 동기화 상태 정보를 기초로, MSAS는 연속적으로 동기화 설정 명령(518)을 계산하고 이들 명령을 UE로 BSC를 매개로 보낸다. 그러나, UE에 대해 이들 메시지를 포워딩하는 대신, BSC는 이들 동기화 설정 명령을 인터셉트(intercepts)하고 그들을 UE로 전달하지 않는다. 이러한 예에 있어서, UE 및, MDF와 MSAS 양쪽은 BSC가 플레이 중인 역할을 알아차리지 못한다. BSC는 미디어 스트림 및 모든 동기화 메시지 양쪽의 경로에 있기 때문에, 이들 메시지 및 미디어 스트림을 인터셉트, 모니터 및/또는 조절할 수 있다.
도 6은 도 5를 참조하여 설명된 바와 같은 시스템과 관련된 메시지 흐름(600)을 나타낸다. 특히, 도 6은 MDF로부터 UE로 전달된 미디어 스트림 및 동기화 메시지를 위한 메시지 흐름을 나타낸다. 제1 단계(602)에서, UE는 MSAS로 동기화 상태 정보 리포트를 보낸다. 이 리포트는 상태 정보를 포함하는 RTCP 연장 리포트 블록(extended report block)과 함께 연장된 RTCP Receiver Report의 형태를 갖을 수 있다. 이 리포트가 MSAS로 포워드되기 전에, 메시지는 ECF/EFF에 의해 인터셉트된다.
메시지는 2가지 이유에 대해 ECF/EFF에 의해 인터셉트된다. 첫 번째 이유는 ECF/EFF의 BSC에 의해 소정의 버퍼링을 수행하기 위해, BSC가 동기화 상태 정보 리포트, 예컨대 MSC의 소정 미디어 스트림 패킷의 패킷 도착 시간 상의 타이밍 정보의 정보를 이용할 수 있다는 것이다 BSC가 얼마나 많이 미디어 스트림을 지연시켜야 하는가를 알기를 원한다면, 여러 가지 방법으로 이 정보를 수신 및/또는 결정할 수 있다.
제1 변형에 있어서, MSAS는 절대 명령(absolute instructions)을, 예컨대 "y초에 대한 지연 미디어 스트림 x(delay media stream x for y second)"의 형태로 보낼 수 있다. BSC는 UE로부터 유래되는 동기화 상태 리포트로부터 어떠한 지식 없이 이들 명령을 실행할 수 있다. 다른 변형에 있어서, MSAS는 "이들 미디어 패킷이 특정 시간에서 도착되면 미디어를 재생(play out the media if these media packets have arrived at a specified time)"의 형태로 명령을 보낼 수 있다. 이 경우, BSC는 (예컨대, UE로부터 유래되는 동기화 상태 리포트에 포함된 것과 같은) UE에서 패킷 도착 시간을 알아차리면 이들 명령을 운반할 수 있다. UE로부터 MSAS로 보내진 동기화 상태 정보 메시지를 인터셉팅하는 것에 의해, BSC는 도착 시간 정보를 포함하는 이들 메시지의 정보를 알아차리게 된다. BSC는 MSAS로부터 UE로 보내진 동기화 설정 명령에 포함된 정보와 함께 그를 이용하기 위해 이 정보를 잠정적으로 저장할 수 있다. 상태 정보와 설정 정보를 이용하는 해당 방법은, BSC가 미디어 스트림을 얼마나 많이 지연시켜야하는가를 결정할 수 있다.
동기화 상태 정보 메시지를 인터셉팅하기 위한 두 번째 이유는 메시지의 정보를 조절하도록 BSC를 허용한다는 것이다. 정보의 조절은 MSC로서 요구되고, BSC는 미디어 경로 상의 다른 지점에 위치한다. MSC가 UE에 위치한 상황에서, BSC에 의해 도입된 미디어 스트림에서의 지연은 도착 시간 정보의 지연을 초래하게 된다. MSC 및 BSC가 하나의 동기화 클라이언트에 함께 위치한다면, 이러한 상황은 야기되지 않는다. 소정의 지연이 패킷이 도착하면, 예컨대 미디어 패킷 도착 시간을 결정한 후, 도입된다. 따라서, 미디어 스트림이 MSC에 도착하기 전에 지연되기 때문에, 동기화 상태 정보 메시지는 BSC 및 MSC가 하나의 위치에서 결합되는 상황과 비교할 때 다른 타이밍 정보를 포함하게 된다. 이러한 효과에 대해 정정하도록, BSC는 UE로부터 MSAS로 보내진 동기화 상태 정보 메시지를 조절할 수 있다. BSC는 미디어 스트림를 지연시키는 시간의 어떠한 양 만큼을 알고, 따라서 상태 정보 리포트에서 보고된 도착 시간으로부터 이 값을 뺄 수 있다. BSC가 이 행위를 수행하지 않으면, UE는 BSC가 미디어 스트림을 지연시키지 않는 상황에서 보다, 또는 BSC가 시간의 소정 지점에서 무엇이 행해지는 것 보다 적게 스트림을 지연시키는 상황에서 보다 훨씬 나중에 미디어 패킷을 수신하도록 나타난다. 따라서, BSC가 지연을 도입하지 않을 때 그를 반영하도록 상태 정보 메시지를 조절할 수 있다.
리포트의 정보의 조절 및 인터셉션(interception) 후, BSC는 동기화 상태 정보를 MSAS로 보낼 수 있고(단계 604), 이는 응답이 동기화 설정 명령을 UE로 되돌릴 수 있다(단계 606). 다시, BSC는 이들 동기화 설정 명령을 인터셉트하고 상태 정보 및 설정 명령으로부터 추출된 것과 같은 시간의 양 만큼 미디어 스트림을 지연시킬 수 있다. BSC는 UE에 대해 동기화 메시지를 포워드하거나 그렇게 하지 않을 수 있다. 이는 단계(608)에서 파선 화살표에 의해 지시된다. BSC가 설정 명령을 실행하므로, UE는 미디어 프레젠테이션을 지연시키도록 그들을 요구하지 않는다. 그럼에도 불구하고, 설정 명령을 실행하는 것 외에, BSC는 또한, 예컨대 적절한 시간에서 제공되는 미디어 패킷을 처리하기 위해 이들 명령의 정보를 이용할 수 있는, UE에 대해 명령을 포워드할 수 있다.
도 7은 RTP 미디어 스트림과 관련된 인터-데스티네이션 미디어 동기화 정보를 보고하기 위한 가능한 RTCP XR Block Type의 예를 나타낸다. 그 정의는 IETF RFC 3611을 기초로 한다. RTCP XR은, 예컨대 IETF RFC 3550에서 정의된 바와 같은 센더(Sender), IETF draft-ietf-avt-rtcpssm-19에서 정의된 바와 같은 피드백 타킷(Feedback Target) 또는 IETF RFC 3550에서 정의된 바와 같은 제3자 모니터(Third Party Monitor)에 대해 RTP 패킷의 프레젠테이션 시간과 수신 시간에 대한 정보를 리포트하는데 이용된다. RTCP XR은 또한 다양한 엘리먼트, 특히 예컨대 도 3 및 도 6의 메시지 흐름에 도시된 바와 같은 동기화 미디어 재생에 포함된, MSC, BSC 및 MSAS 사이에서 동기화 상태 정보와 동기화 설정 명령을 교환하기 위해 이용될 수 있다.
IETF RFC 3611에 정의된 바와 같이, 첫 번째 64비트는 RTCP XR의 헤더(header)를 형성한다. 인터-데스티네이션 동기화 RTCP XR은 이하의 필드의 하나 이상을 구비하여 구성될 수 있다:
- 패킷 센더(packet sender)의 SSRC는 특정 RTCP 패킷의 센더를 확인한다.
- BT(Block Type) : 8비트. 이는 블록 포맷을 확인한다.
- SPST(Synchronisation Packet Sender Type) : 4비트. 이 필드는 이 특정 연장된 리포트(Report)를 위한 패킷 센더의 역할을 확인한다. 이는 다음의 값을 갖을 수 있다:
1. SC : 패킷 센더는 동기화 상태 정보를 리포트하는데 이 XR을 이용
한다. 타임스탬프는 SC 입력과 관련된다; MSAS : 패킷 센더는 동
기화 설정 정보를 리포트하는데 이 XT을 이용한다. 타임스탬프는,
이 MSAS에 연결된 SC들이 동기화되는 참조로서 기능하는, 가상 SC
의 입력과 관련된다.
- Resrv(Reserved bits) : 3비트
- P(Packet Presented NTP timestamp flag) : 1비트. 만약 Packet Presented NTP timestamp가 값을 포함한다면 비트는 1로 설정되고, 비어있다면(empty) 0으로 설정된다. 만약 이 플래그가 제로로 설정되면, 이때 Packet Presented NTP timestamp는 검사되지 않아야 한다.
- Block Length : 16비트. 이 RTCP Block Type은 고정된 길이를 갖음에 따라, 이는 7로 설정되어야 한다.
- Payload Type(PT) : 7비트. IETF RFC 3551에 따라, 이 필드는 미디어 페이로드(media payload)의 포맷을 확인한다. 미디어 페이로드는 RTP 타임스탬프 클럭 율과 관련된다. 이 클럭 율은 RTP 타임스탬프 카운터를 위한 시간 기반을 제공한다.
- Resrv(Reserved bits) : 25비트.
- Media Stream Correlation Identifier : 32비트. 이 식별자는 동기화된 미디어 스트림을 상관하는데 이용된다. 값 0(모든 비트가 "0"으로 설정됨)은 이 필드가 비었음을 나타낸다. 값 232-1(모든 비트가 "1"로 설정됨)는 미래의 이용을 위해 저장된다. RTCP Packet Sender가 SC 또는 MSAS(SPST=1 또는 SPST=2)이라면, 이때 Media Stream Correlation Identifier는 SyncGroupId 상에서 맵핑된다.
- SSRC: 32비트. 미디어 소스의 SSRC는 XR과 관련되는 RTP 패킷의 RTP 헤더에서 운반된 SSRC 식별자의 값으로 설정되어야 한다.
- Packet Received NTP timestamp: 64비트. 이 NTP 타임스탬프는 XR과 관련되는 RTP 패킷의 제1 옥텟의 도착 벽시계 시간(arrival wallclock time)이다. SPST=2에 대해, 이는 동기화 그룹의 다른 SC들이 동기화될 수 있는 가상 SC에 관한 것이다.
- Packet Received RTP timestamp: 32비트. 이 타임스탬프는 XR과 관련되는 RTP 패킷의 RTP 헤더에 운반된 RTP 타임스탬프의 값을 갖는다.
- Packet Presented NTP timestamp: 32비트. 이 타임스탬프는 관련된 RTP 패킷의 제1 옥텟에 포함된 데이터가 사용자에게 제공될 때 NTP 타임스탬프를 반영한다. 이는 NTP 세컨드 파트(NTP seconds part)의 최하위 16비트(least significant 16 bits)와 NTP 단편 세컨드 파트(NTP fractional second part)의 최상위 16비트(most significant 16 bits)로 구성된다. 만약 이 필드가 비어 있다면, 이때 이는 0으로 설정되어야 하고 P(Packet Presented NTP timestamp flag)는 0으로 설정되어야 한다.
도 8은 본 발명의 1실시예에 따른 BSC(800)를 나타낸다. 특히, BSC(800)가 제1 UE1(804)와 제2 UE2(806)에 의해 공유된 버퍼(802)를 구비하여 구성되는 것을 나타낸다. UE1은 제1 동기화된 미디어 스트림(808)을 수신하고, UE2는 제2 동기화된 미디어 스트림(810)을 수신한다. 본 실시예에 있어서, 미디어 스트림(808,810)은 도입 미디어 스트림(812)으로부터 유래되고 제1 미디어 스트림의 특정 패킷이 UE2에 대해서 보다는 UE1에 대해 더 먼저 보내진다는 예외를 갖는 동일한 콘텐츠와 관련되는 일치하는 스트림(identical streams)이다. BSC는 BSC에서 프로세스를 제어하기 위한 콘트롤러(814)를 더 구비하여 구성된다. 예컨대, 콘트롤러는 MSAS로부터 동기화 설정 정보(816)를 수신하고, 동기화 그룹의 다른 UE들과 관련된 지연을 계산하며, UE들로 하나 이상의 지연된 미디어 스트림을 전송할 수 있다.
UE1 및 UE2가 서로 동기화된 관찰 세션(synchronized viewing session)에 있고(예컨대, 동일한 동기화 그룹에 속하고), 미디어 경로와 관련된 네트워크 지연이 BSC 및 UE2 사이의 미디어 경로와 관련된 네트워크 지연 보다 더 큼에 따라, BSC는 BSC를 구비하여 구성된 억세스-노드와 UE 간의 억세스 라인의 지연에 대해 보상하기 위해 지연을 도입한다. 따라서, 특정 미디어 패킷, 예컨대 비디오 프레임 또는 오디오 프레임은 실질적으로 동기화된 방법으로 미디어 스트림을 수신하도록 UE1 및 UE2를 가능하게 하기 위해 UE1에 대해 더 먼저 보내져야 한다. 도 8에 도시된 것은 두 UE 간에서 공유된 것을 나타낸다. 동일한 BSC를 이용해서 및/또는 하나의 동기화 그룹에 속하는, 동일한 콘텐츠를 관찰하는 UE는 버퍼를 공유할 수 있다. 다른 실시예에 있어서, BSC는 다른 동기화 그룹을 위해 동일한 콘텐츠의 버퍼링을 수행할 수 있다. 양 경우에 있어서, 버퍼 용량 및 BSC에 대한 도입되는 네트워크 부하의 면에서 단일 버퍼를 이용하는 것이 더 효율적이다. 버퍼는 FIFO(First-In-First-Out) 스케쥴에 따라 작업할 수 있다. 원래의 미디어 스트림(812)으로부터 수신된 새로운 패킷은 버퍼(802)에 부가되고, 버퍼에서 가장 긴 패킷이 첫 번째로 제거된다. 버퍼는 각 UE-ID가 BSC를 공유하는 UE를 확인하고 포인터가 그 대응하는 UE로 보내질 다음의 패킷에 대해 지시하는 UE 식별자(820) 및 관련된 포인터(822)를 구비하여 구성된 버퍼 리스트(buffer list; 818)를 유지하는 것에 의해 다중 UE와 공유될 수 있다. 예컨대, 버퍼 리스트(818)는 버퍼의 패킷 5에 대해 지시하는 UE1과 관련된 제1 포인터와, 버퍼의 패킷 8에 대해 지시하는 UE2와 관련된 제2 포인터를 구비하여 구성될 수 있다. 매 시간 패킷은 특정 UE로 보내지고, BSC는 리스트, 특히 그 내의 포인터들을 유지 및 갱신할 필요가 있게 된다. BSC는 연속적으로 각 미디어 스트림을 버퍼링하지 않아야 한다. 예컨대, BSC는 다른 UE들과 관련된 변화하는 지연을 처리하도록 BSC를 가능하게 하기 위해 오직 15초 동안 미디어 스트림을 버퍼링할 수 있다.
도 9a 및 도 9b는 인터-데스티네이션 동기화의 목적을 위한 버퍼링 구조를 도식적으로 나타낸다. 이들 도면은 본 발명과 관련된 이점, 특히 개선된 채널 변경 시간의 효과와 관련된 이점을 더욱 설명할 수 있다. 도 9a는 UE(902)가 측정 기능(measuring function; 904) 및 버퍼링 기능(buffering function; 906)을 포함하는 동기화 클라이언트를 구비하여 구성된 시스템을 나타낸다. 이러한 경우에 있어서, 버퍼 기능은 인터-데스티네이션 버퍼 및 지터 버퍼로서의 양쪽에 대해 기능하도록 구성될 수 있다. UE는 UE(902)의 사용자에 대해 디스플레이되어지는 비디오 프레임을 포함하는 제1 미디어 스트림(908)을 수신한다. UE(902)는 인터-데스티네이션 동기화 세션의 부분일 수 있다. 따라서, 동기화를 가능하게 하기 위해, UE(902)는 이 경우에 있어서 10 미디어 유닛, 예컨대 비디오 프레임을 버퍼링 기능에서 수신된 미디어의 버퍼링을 수행하는 것이 필요로 될 수 있다. 버퍼 기능이 또한 지터 버퍼로서 기능하기 때문에, 부가적인 수의 프레임, 예컨대 5 비디오 프레임은 버퍼링되어지고, 그에 따라 버퍼 기능에서 총 15 비디오 프레임을 버퍼링한다.
몇몇 지점에 있어서, UE의 사용자는 제1 미디어 스트림(908)으로부터 제2 미디어 스트림(910)으로 스위치하는 것이 필요로 될 수 있다. 채널 변경 동안, UE는 먼저 제2 스트림(910)으로부터 미디어 유닛을 버퍼링하는 것을 시작하는 것이 필요로 될 수 있다. 인터-데스티네이션 동기화 없이, 오직 짧은 기간만이 지터를 취급하는 목적을 위해 버퍼되어질 필요가 있다. 그러나, UE의 버퍼 기능이 또한 인터-데스티네이션 동기화의 목적을 위해 버퍼링됨에 따라, 비디오 프레임의 부가적인 버퍼링이 사용자에 대해 버퍼링된 비디오 프레임을 디스플레이하는 것을 시작할 수 있다.
예컨대, 미디어 유닛이 초당 25 프레임의 프레임 율을 갖는 비디오 스트림과 관련되는 경우, 오직 5 프레임만이 지터 버퍼링 목적을 위해 버퍼링되어질 필요가 있다. 이는 약 200ms의 지연을 이끌어내게 된다. 이러한 지연은 여전히 채널을 변경하기 위한 허용가능 시간일 수 있다. 그러나, 도 9a의 BSC는 지터 및 인터-데스티네이션 동기화 양쪽을 취급하기 위해 15 프레임의 버퍼링을 요구한다. 이러한 버퍼링은, 예컨대 오직 지터만을 취급하는, 상황에 대해 비교된 지연의 3배인, 600ms의 지연을 야기시키게 된다. 채널 변경 시간에서의 이러한 증가는 사용자 경험을 떨어뜨리게 된다.
도 9b는 MSC 및 BSC가 UE와 미디어 소스 간의 미디어 경로 상의 다른 지점(예컨대, 위치)에 위치한 구조에 관한 것이다. 이 경우에 있어서, UE(912)는 MSC(914) 및 지터 버퍼(916)를 포함한다. 제1 BSC1(918)은 미디어 소스와 UE 간의 미디어 경로의 어느 곳의 네트워크에 위치한다. BSC1(918)은 현재의 제1 채널을 위해 버퍼링되어질 수 있는 바: 제1 채널을 구비하여 구성된 제1 스트림(920)은 프레임이 UE(912)에 대해 포워드되기 전에 10 미디어 유닛(예컨대, 비디오 프레임)에 대해 버퍼링된다. 네트워크는 제2 채널을 구비하여 구성된 제2 미디어 스트림(924)을 버퍼링하는 제2 BSC(922)를 더 구비하여 구성된다.
도 9a의 구조와 비교할 때, 도 9b의 구조는 여러 이점을 제공한다. 첫 번째로, 지터 버퍼의 크기(본 예에서는 3 미디어 유닛)는 BSC 및 UE 간의 더 짧은 미디어 경로 때문에 감소될 수 있다. 지터는 네트워크에 도입되고, 따라서 네트워크 루트(network route)가 더 길면 길 수록(더 짧으면 짧을 수록), 더 큰(더 작은) 미디어 스트림의 패킷 간의 지연 차이가 될 수 있다.
도 9b의 예에 있어서, 제1 BSC1는 규칙적인 간격(regular intervals)(예컨대, 실질적으로 소정의 지터로부터 자유로운)으로 미디어 스트림(926)의 미디어 유닛을 내보낼 수 있다. 더 짧은 미디어 경로는 적은 지터를 이끌어내고, 따라서 더 작은 지터 버퍼가 요구된다. 초당 25 프레임의 프레임 율을 이용하면, 도 9a에 도시된 구조에서 요구된 5 프레임 버퍼링과 관련된 200ms의 지연 대신 120ms의 지연을 이끌어낸다.
두 번째로, UE가 인터-데스티네이션 동기화 목적을 위해 버퍼되기 않기 때문에, 채널 변경 시간이 더 짧다. 대신, BSC1을 포함하는 네트워크의 노드는 인터-데스티네이션 동기화를 위해 요구된 10 프레임의 버퍼링을 처리한다. 제2 미디어 스트림이 제2 BSC2(912)에 의해 이미 버퍼링됨에 따라, 미디어 재생은 즉시 시작할 수 있다. 초당 25 프레임의 프레임 율에서, 이는 채널 변경 동안 지연의 부가적인 400ms을 절약할 수 있다. 따라서, 총 채널 변경 지연은 120ms로 감소될 수 있고, 그에 따라 도 9a의 예에서의 600ms의 지연과 비교할 때 채널 변경 시간의 상당한 감소를 제공한다.
잽핑(zapping)과 관련한 하나의 문제는 인터-데스티네이션 동기화의 목적에 대해 새로운 채널을 위한 버퍼 크기를 결정하는 것이다. 가장 간단한 해법은, 예컨대 시간의 동일한 양 또는 비디오 프레임의 동일한 양인, 오래된 채널과 마찬가지로 새로운 채널을 지연시키는 것이다. 그러나, 새로운 채널의 지연을 결정하기 위한 더욱 정밀한 방법이 또한 가능할 수 있다.
1실시예에 있어서, BSC는 다른 미디어 스트림과 관련된 소정의 상태 정보의 이력을 저장할 수 있고, 정밀한 동기화 설정 명령을 결정하기 위해 이 이력을 이용할 수 있다. 예컨대, 미디어 스트림 A와 관련된 상태 정보 리포트를 기초로, MSAS는 스트림을 지연시키도록 BSC로 설정 명령(settings instructions)을 보낼 수 있고, 이는 x 밀리초(ms) 동안 싱크 그룹(sync group)이다. UE가 미디어 스트림 B에 대해 스위치할 때, 먼저 BSC는 미디어 스트림 A를 위해 이용된 바와 같은 밀리초(ms)와 동일한 양에 대해 미디어 스트림 B를 지연시킨다. 그러나, UE로부터 새로운 상태 정보 리포트가 MSAS에 의해 수신되면, 이는 계산되어 BSC로 새로운 동기화 설정 명령을 보낼 수 있고, 그리고서 y 밀리초 동안 UE에 대해 스트림 B를 지연시키도록 그를 알린다. 변경되는 것은 미디어 스트림만임에 따라, y 및 x 간의 차이는 이들 미디어 스트림 간의 스위칭을 위해 다른 터미널에 의해 이용되어질 수 있다. 충분한 채널 변경이 BSC를 이용해서 UE들에 대해 야기되면, BSC는 하나의 채널로부터 다른 채널까지 소정의 UE 스위칭을 위한 적절한 지연을 선택하기 위해 이용될 수 있는 다양한 채널을 위한 상대적인 지연을 구비하여 구성된 채널-스위칭 리스트를 구성할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 콘텐츠 전달 시스템(1000)의 적어도 일부를 나타낸다. 본 실시예에 있어서, 시스템은 다수의 UE에 대해 하나 이상의 네트워크 노드를 매개로 미디어 스트림을 전달하기 위한 미디어 소스(1002)를 구비하여 구성된다. UE에 의해 미디어 스트림의 동기화된 재생을 허용하기 위해, 동기화 구성이 구현되고, 여기서 각 UE(1004-1008)는 BSC(1010-1016)를 구비하여 구성되고, MSC(1018,1020)는 미디어 소스와 각 UE 간의 미디어 경로 상의 어느 곳의 네트워크(1022)에 위치된다.
MSC는 미디어 소스로부터 미디어 스트림(1024)을 수신하고 미디어 스트림(1026-1030)으로서의 이 스트림을 UE에 대해 포워드한다. 본 예에 있어서, 미디어 스트림(1024)은 멀티캐스트 스트림으로서 분배되어질 수 있고, 여기서 멀티-캐스트된 미디어 스트림(multi-casted media stream)은 멀티캐스트 홉(multicast hop)에서 3개의 미디어 스트림(1026-1030)으로 분할된다. MSC(1018,1020)는 멀티캐스트 스트림이 다른 UE들에 대해 전달되기 위해 분할되어져야만 하는 지점에 위치할 수 있고, 이러한 지점은 xDSL 네트워크의 DSLAM 또는 케이블 네트워크의 CMTS와 같은 네트워크의 엣지 노드일 수 있다.
MSC 위치로부터 특정 MSC를 통해 전송된 미디어 트래픽을 수신하는 다른 UE들로의 미디어의 전송 사이에서 큰 지연 차이가 없다면 네트워크의 MSC들과 UE들의 BSC들의 이용은 가장 정확하게 수행되게 된다. 예컨대 도 1에 도시된 바와 같이, 큰 차이가 존재한다면, 이러한 시나리오는 인터-데스티네이션 동기화의 목적을 위해 최적 보다 더 적게 수행하게 된다.
MSC(1018,1020)는 미디어 유닛 도착 시간 측정을 수행하고 동기화 서버(MSAS)(1036)로 동기화 상태 정보(1032,1034)로서 이들 측정된 도착 시간 정보를 리포트할 수 있다. MSAS는 미디어 스트림과 관련되는 모든 MSC와, 인터-데스티네이션 동기화를 위한 필요성을 갖는 UE들로부터 모든 동기화 상태 정보를 수집할 수 있다. 이어, 이는 적절한 동기화 설정 명령을 계산하게 되고, 이들 명령(1038-1042)을 각각 BSC를 구비하여 구성된 다른 UE들로 보낸다. 인터-데스티네이션 동기화에 포함된 모든 UE들이 네트워크에서 단일 MSC 뒤에 있으면 이는 그다지 유용하지 않음을 주지해야 한다.
도 10에 도시된 바와 같은 동기화 구조는 2가지의 뚜렷한 이점을 갖는다. 첫 번째 이점은 구조가 인터-데스티네이션 동기화 목적을 위해 네트워크를 주행하는(travelling) 더 적은 메시지를 요구한다는 사실에 관한 것이다. UE들이 MSC와 BSC 양쪽을 구비하여 구성되는 경우에 있어서(예컨대, 도 9a 참조), 모든 UE들은 그들 자신의 동기화 상태 정보 메시지를 동기화 서버로 보낸다. 도 10에 도시된 실시예에 있어서, 네트워크에서 하나의 MSC가 다중 UE들을 대신하여 하나의 상태 정보 메시지를 보낼 수 있고, 그에 따라 메시지의 수가 상당히 감소된다. 모든 UE들은 여전히 그들 자신의 동기화 설정 명령을 수신하게 되지만, 전형적으로 상태 정보 메시지의 수는 더 크게 되거나 적어도 설정 명령 메시지의 수와 동등하게 된다.
UE들은 MSAS로 상태 정보 메시지를 규칙적으로 보내고, 따라서 이는 초기 동기화 후 야기되는 가능한 부족 동기화(possible lack synchronization)의 추적을 유지할 수 있다. 그러나, 인터-데스티네이션 동기화가 시간 내에 몇몇 지점에서 실현되어지고 네트워크 지연이 오히려 정적(static)이어서 미디어 전달이 실질적으로 동기화된 것으로 남아있으면, 지연에서의 변경이 BSC에 의해 이루어지도록 필요로 되는 것이 없기 때문에 필요한 다른 설정 명령은 없다. 따라서, 네트워크에 MSC를 위치시키는 것에 의해 상태 정보 메시지의 수를 감소시키는 것은 인터-데스티네이션 동기화에 포함된 메시지의 더 큰 부분에서의 감소를 제공할 수 있다.
도 10의 동기화 구조와 관련된 두 번째 이점은 동기화 서버(MSAS)에 의해 수행된 프로세싱의 양을 감소시킨다는 것이다. MSAS는, 관련 지연 설정 명령을 계산하는 것이 가능하도록, 소정의 인터-데스티네이션 동기화 그룹을 위한 모든 동기화 상태 정보 메시지를 처리해야만 한다. 더 적은 상태 정보 메시지는 더 적은 복잡한 계산을 이끌어내게 되고, 따라서 더 적은 프로세싱이 필요로 된다.
도 11은 동기화의 다른 형태의 상황에서 본 발명의 적용을 나타낸다. 인터-데스티네이션 동기화의 목적을 위해 BSC 및 MSC로 동기화 클라이언트(Synchronization Client)를 분할하는 대신, 인터-스트림 동기화(예컨대, lip-sync)를 위한 적용을 나타낸다. 도 11은 다른 소스로부터의 엑스트라 미디어 스트림(extra media stream)에 의해 풍부해진(enriched), 미디어 스트림의 분배의 경우를 나타낸다. 이러한 엑스트라 미디어 스트림의 예는 다른 오디오 스트림, 예컨대 스포츠 게임 방송에서의 다른 해설자일 수 있다. 이 다른 오디오 스트림은 원래의 게임 방송 보다는 다른 소스에서 발생될 수 있고, 따라서 인터-스트림 동기화가 분리적으로 배열되어져야 한다.
이러한 특정 상황에 있어서, 인터-스트림 동기화는 인터-데스티네이션 동기화와 동일한 문제를 겪을 수 있다. 예컨대, 오디오는 원래의 방송에 응답하여 생성되어질 수 있다. 이는 원래의 방송을 시청하는 사람은 다른 오디오 스트림을 수신하기 전에 상당한 수 초 동안 비디오-스트림을 버퍼해야만 할 수 있다. 더욱이, 재생 장비가 오직 시간의 짧은 기간 동안만(예컨대, 100ms의 차수로) (지터) 버퍼링을 위해 통상적으로 배열됨에 따라 장비는 시간의 연장된 기간 동안 버퍼링을 위해 배열되어질 수 없다. 다른 문제는, 또한 이 경우에 있어서 채널 변경 지연이 매우 길게 된다는 사실에 관한 것이다. 여기서, 채널 변경 후 상황은, 허용할 수 없는 채널 변경 지연을 이끌어내는, 비디오의 타이밍을 매치시키는 다른 오디오 스트림이 유용하게 되기 전에 수 초 동안 비디오가 버퍼되어져야 한다.
해당 상황에 있어서, 네트워크에서 결합된 MSC/BSC를 구비하여 구성된 동기화 클라이언트의 이용은 적절한 동기화 기능성을 제공하지 않게 된다. 이는, MPEG과 같은 현재의 비디오 인코딩 구조는 다른 형태의 프레임, 예컨대 I-프레임, B-프레임 및 P-프레임을 이용하기 때문에, 통상적으로 비디오는 오디오 보다 시간의 더 긴 기간에 대한 버퍼링을 요구한다는 사실에 기인한다. 이러한 비디오 인코딩 구조가 양방향 인코딩 방법(bi-directional encoding method)을 따른다면, 소정 프레임은 더 이전의 프레임들, 미래의 프레임 상의 몇몇, 그리고 양쪽 상의 몇몇에 대해 디코딩을 위해 의존될 수 있다. 따라서, 다수의 프레임이 소정 프레임을 디코딩하기 위해 필요로 되고, 그래서 이들 프레임은 그 프레임의 디코딩이 시작되어지기 전에 버퍼되어질 필요가 있다. 따라서, 이들 문제를 해결하기 위해 동기화 구조가 설명되고, 여기서 BSC 및 MSC가 하나 이상의 미디어 소스와 UE 간의 미디어 경로에 따른 분리 지점에 위치된다.
도 11은 하나 이상의 미디어 스트림과 관련된 미디어 유닛 도착 시간 정보 상에 대해 리포트하기 위한 MSC(1106)가 제공된 UE(1104)를 구비하여 구성된 가정 환경(1102)을 나타낸다. UE는 디스플레이(1108) 및 오디오 출력 장치(1110)에 연결될 수 있다. UE는 비디오 스트림(1112) 및 분리되어 관련된 오디오 스트림(1114)를 수신한다. 비디오 및 오디오 스트림 양쪽은, 비디오 및 오디오 스트림의 미디어 경로의 네트워크에 위치되고, 오디오 및 비디오 스트림 각각을 버퍼링하기 위한 분리 BSC 버퍼(1118,1120)를 구비하여 구성된, BSC(1116)를 통해 지나갈 수 있다. BSC는 네트워크의 어느 것에 위치된 2개의 분리 미디어 소스(1122,1124)로부터 비디오 스트림 및 오디오 스트림을 수신할 수 있다. MSAS(1126)는 MSC로부터 상태 정보 리포트(1128)를 수신하고, BSC로 이어서 보내지는, 상태 정보 리포트 동기화 설정 명령(1130)을 기초로 계산할 수 있다.
따라서, UE는 2 이상의 분리 미디어 스트림, 이 경우에 있어서는 함께 속하는 (네트워크의다른 미디어 소스로부터 유래될 수 있거나 유래되지 않을 수 있는)오디오 및 비디오 스트림을 수신한다. 인터-스트림 동기화를 수행하기 위해, UE는 IETF RFC 3550에서 특정된 바와 같은 RTCP 센더 리포트(Sender Reports)를 수신할 수 있다. 이들 RTCP Sender Reports는 미디어 소스로부터 UE로 보내지고, 미디어 패킷이 보내진 시간(또는 더욱 구체적인 : 샘플된)과, 대응하는 RTP 미디어 스트림의 RTP 타임스탬프 간의 관계를 구비하여 구성될 수 있다. 따라서, 인터-스트림 동기화는 다른 스트림의 다른 미디어 패킷이 보내지는(또는 더욱 구체적인: 샘플된) 시간을 매칭시키고, 다른 미디어 스트림의 대응하는 RTP 타임스탬프계속해서 찾는 것에 의해 달성된다.
MSAS가 지연 설정 명령을 계산할 수 있도록 하기 위해, 다른 스트림 사이에서 상관 시간(correlation time)이 필요하다. 양 스트림이 동일한 소스로부터 보내지거나 관련된 미디어 패킷을 위한 동일한 샘플링 시간을 이용해서 보내지면, 정상적인 RTCP 절차가 여전히 적용된다. 해당 경우에 있어서, MSAS는 MSC에 의해 보내진 동기화 상태 정보에 보고된 타임스탬프들을 상관시키도록 RTCP Sender Reports에 포함된 정보를 필요로 한다.
타임스탬프를 상관시키기 위한 이 정보는, 예컨대 MSAS로 RTCP Sender Reports를 경유(routing)시키는 것에 의한, 다양한 방법에 의해 얻어질 수 있다. 예컨대, UE가 MSAS에 대해 Sender Reports를 포워드할 수 있거나 네트워크가 MSAS에 대해 Sender Reports의 사본(copy)을 보낼 수 있다. 이 정보를 얻기 위한 다른 방법은 RTCP 메시지의 신호 경로(signaling path)의 네트워크에 MSAS를 위치시키는 것에 의한다. 이는 예컨대 MSAS와 BSC를 함께 위치(co-locating)시키는 것에 의해 달성될 수 있다.
다른 미디어 스트림이 동일한 소스로부터 유래되지 않거나, 관련된 미디어 패킷을 위한 동일한 샘플링 시간을 이용하지 않으면, MSAS는 오디오 및 비디오 스트림과 관련된 상태 정보 리포트의 타임스탬프들 간의 상관에 대한 정보를 여전히 요구한다. 1실시예에 있어서, 상관 정보는 예컨대 양쪽 스트림을 제공하는 어느 누구 그리고 동기화를 달성하도록 지연을 수동으로 변경시키는 누구에 의해, 수동으로 공급될 수 있다. 동기화가 달성되면, 수동으로 도입된 지연(manually introduced delay)은 MSAS로 리포트되어 보내질 수 있다. 다른 실시예에 있어서, 미디어 패킷의 소스는 동기화 상태 정보의 타임스탬프들 간에서 상관을 제공할 수 있다. 예컨대, 제2 미디어 스트림이 다른 제1 미디어 스트림에 응답하여 생성되면, 해당 제2 미디어 스트림의 소스는 (제2 미디어 스트림의 소스에 의해 수신된 RTCP Sender Reports에 포함된) 제1 미디어 스트림의 샘플링 시간과 제2 미디어 스트림의 샘플링 시간 간의 상관에 대해 리포트할 수 있다.
이 상황에서, 다른 문제가 또한 일어날 수 있다. 오디오 및 비디오 스트림이 분리 UE들에 의해 수신되면, 이때 이들 UE들은 각 UE에 의해 보고된 미디어 패킷 도착 시간을 알고 있지 않기 때문에 인터-스트림 동기화를 수행할 수 있다. 그러나, BSC가 네트워크에 위치하면, 양 UE들은 MSC를 구비하여 구성되고 도착 시간에 대해 BSC를 리포트할 수 있다. 이때, BSC는 다른 UE들을 대신하여 인터-스트림 동기화를 달성하도록 필요한 버퍼링을 수행할 수 있다.
도 12는 본 발명의 1실시예에 따른 분배된 동기화 시스템을 구비하여 구성된 미디어 분배 네트워크(media distribution network)를 나타낸다. 이러한 분배된 구조의 도입은 몇몇 이점을 제공할 수 있다. 예컨대, 지연 차이가 미디어 분배의 네트워크 경로의 다양한 부분에서 야기될 수 있다. 따라서, 지연에서의 차이의 근원에 따라, 다른 장소에서의 지연에 대해 보상하는데 이점일 수 있다. 더욱이, 미리 소정의 UE들 또는 미디어 경로(들) 아래의 네트워크 노드가 동기화 기능성을 제공할 수 있는가의 여부가 알려지지 않는다. 네트워크의 다른 노드 상에 동기화 기능을 도입하는 것에 의해, 다른 네트워크 노드의 동기화 성능들을 부여한 최상의 동기화가 달성될 수 있다. 더욱이, UE들 상에서의 인터-데스티네이션 동기화가 마지막으로 달성됨에도 불구하고, 미디어 스트림이 네트워크의 소정 정도에 대해 동기화되면 채널 변경 시간은 더 낮아지게 된다.
도 12는 미디어 스트림(1210)을 수신하는 모든 UE(1202-1208)를 나타낸다. UE는 몇몇 네트워크 노드(1212,1214), 예컨대 네트워크(1216,1218)의 엣지-노드에 연결된다. 각각의 UE는 MSAS(1224,1226)로 동기화 상태 정보(1220,1222)를 보낸다. 이들 MSAS는 지연 설정 명령(1228,1230)을 계산하고 이들을 네트워크 노드(1212,1214)로 보낼 수 있다. 이는 (국소적으로) 동기화되도록 UE를 가능하게 한다.
다른 네트워크 노드(1212)는 또한 sync 외의 미디어 스트림(1210)을 수신할 수 있다. MSC 및 BSC를 포함하는, 완전한 인터-테스티네이션 동기화가 UE들 상에서 수행됨에도 불구하고, 적어도 이들 네트워크 노드를 동기화하는데 이점일 수 있다. 네트워크 노드(1212) 중 하나가 소정의 미디어 스트림을 위한 다른 네트워크 노드에 대해 1초 뒤에 있는 것을 가정한다. 네트워크 노드 상에서 동기화 없이, 모든 다른 네트워크 노드 뒤의 모든 UE는 인터-데스티네이션 동기화를 달성하도록 이 1초에 대해 버퍼되어져야 할 것이다. 이들 네트워크 노드(1212) 상의 차이를 버퍼링하는 것에 의해, 이들 UE의 채널 변경 시간은 그 1초에 의해 감소되게 된다. 다른 이점은, UE(1202,1204)의 몇몇이 인터-데스티네이션 동기화를 수행하는 것이 가능하다면, 그들은 여전히 가장 동기화된 미디어 스트림(1210)을 여전히 수신하게 된다.
네트워크 노드(1212)는, BSC를 포함하는 네트워크 노드(1238)로 다른 동기화 상태 정보(1236)를 계산해서 보낼 수 있는, 다른 MSAS(1234)로 동기화 상태 정보(1232)를 보낼 수 있다. 미디어 경로의 더 빠른 네트워크 노드에서의 버퍼링의 이점은 버퍼 메모리의 전체 양이 감소된다는 것인 바: 다른 네트워크 노드(1212)는 네트워크 노드(1238)에 포함된 버퍼를 공유할 수 있다. 또한, 미디어 스트림의 다운스트림 경로 상의 어느 노드(네트워크 노드 또는 UE)가 인터-데스티네이션 미디어 동기화를 위한 버퍼링을 수행하는 것이 가능하면, 미디어 스트림은 소정의 연장에 대해 여전히 동기화될 수 있다.
이들 다른 인터-데스티네이션 동기화는 다른 레벨 상에서 야기될 수 있다. 네트워크(1216)에서 네트워크 노드(1212)는 노드(1238)의 네트워크에 내부적으로 동기화되고, 네트워크(1218)에서 네트워크 노드(1214)는 네트워크 계층(network hierarchy)에서 더 높음에도 또 다른 네트워크 노드(1240)을 이용해서 동기화된다. 네트워크 계층에서 더 높음에 따라, 노드는 그것이 미디어 스트림의 경로에서 더 빠르다는 것을 의미한다. 본 에에 있어서, 코어 네트워크 노드(1238)는 MSAS(1244)로 동기화 상태 정보를 보내는 것에 의해 동기화된다. 이 MSAS(1244)는 BSC를 구비하여 구성된 네트워크 노드(1240)에 대해 동기화 설정 명령(1246)을 계산하고 보낼 수 있다. 이 네트워크 노드(1240)는 예컨대 다른 네트워크 및 네트워크 오퍼레이터에 대해 미디어 스트림을 전달하기 위한 분배 지점일 수 있다. 그러나, 네트워크(1218)로부터 엣지 노드(1214)는 또한 MSAS(1244)로 동기화 상태 정보(1248)를 보내고, 그에 의해 네트워크 노드(1240)에서 동일한 BSC를 이용한다.
소정의 1실시예와 관련하여 설명된 소정의 특징은 단독으로, 또는 설명된 다른 특징과 조합하여 이용될 수 있고, 그리고 또한 실시예의 어느 다른 하나 이상의 특징과 조합하여, 또는 실시예의 어느 다른 어느 조합으로 이용될 수 있음을 이해해야만 한다. 본 발명의 1실시예는 컴퓨터 시스템과 함께 이용하기 위한 프로그램 제품으로서 구현될 수 있다. 프로그램 제품의 프로그램(들)은 (여기서 설명된 방법을 포함하는) 실시예의 기능을 정의하고, 다양한 컴퓨터-판독가능 저장 미디어(computer-readable storage media) 상에 포함될 수 있다. 실례로 되는 컴퓨터-판독가능 저장 미디어는, 이에 한정되는 것은 아니지만, (i) 정보가 영구적으로 저장되는 비-기록가능 저장 미디어(예컨대, CD-ROM 드라이브에 의해 판독가능한 CD-ROM 디스크, 플래쉬 메모리, ROM 칩 또는 소정 형태의 고체 비휘발성 반도체 메모리)와 같은 컴퓨터 내의 ROM 장치(read-only memory devices)와; (ii) 변경가능 정보가 저장되는 기록가능 저장 미디어(예컨대, 디스켓 드라이브 내의 플로피 디스크 또는 하드-디스크 드라이브 또는 소정 형태의 고체 랜덤-억세스 반도체 메모리);를 포함한다.
더욱이, 본 발명은 IMS로 한정되는 것은 아니고, 또한 소프트 스위치(Soft Switch) 설계를 기초로 구현될 수 있고, 그에 의해 기본 사용자 가입 기능(basic user subscription functions), IP 세션 관리(IP session management) 및 특정 VoIP 서비스 기능이 네트워크에 상주하는 하나 이상의 신뢰받고 있는 응용 서버 내에 전체적으로 또는 부분적으로 통합된다. 더욱이, 3GPP LTE(Long Term Evolution) 또는 3GPP SAE(Service Architecture Evolution) 네트워크와 같은 다른 서비스 제공 네트워크를 이용해서 본 발명의 구현이 또한 예견된다. 더욱이, 본 발명은 상기 설명된 실시예로 한정되는 것은 아니고, 첨부되는 청구항들의 관점 내에서 변경되어질 수 있다.

Claims (16)

  1. 제1 및 제2 미디어 스트림을 동기화하기 위한 방법으로, 상기 제1 및 제2 미디어 스트림이 하나 이상의 터미널에 대해 제1 및 제2 미디어 경로를 매개로 네트워크에서 적어도 하나의 미디어 소스에 의해 전송되어지고,
    방법이:
    상기 제1 및 제2 미디어 경로의 제1 위치에 위치한 측정 모듈을 이용해서 상기 제1 및 제2 미디어 스트림의 미디어 패킷의 도착 시간과 관련된 타이밍 정보를 측정하고;
    상기 네트워크에서 상기 타이밍 정보를 기초로, 상기 제1 및 제2 미디어 경로의 적어도 하나의 제2 위치에 위치된, 적어도 하나의 버퍼를 위한 버퍼 명령을 발생시키며;
    상기 하나 이상의 터미널에서 미디어 패킷의 도착 시간이 실질적으로 동기화되도록 하기 위해 상기 하나 이상의 터미널에 대해 상기 미디어 경로를 거쳐 전송된 하나 이상의 미디어 패킷을 지연시키는 것을 갖추어 이루어진 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  2. 제1항에 있어서,
    상기 제1 미디어 경로가 상기 미디어 소스 및 제1 터미널 사이에 제공되고, 상기 제2 미디어 경로가 상기 미디어 소스 및 제2 터미널 사이에 제공되는 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 측정 모듈이 상기 하나 이상의 터미널에 위치하거나 상기 하나 이상의 터미널을 상기 네트워크에 연결하는 하나 이상의 억세스-라인에 따른 위치에 위치하고; 및/또는 상기 버퍼가 상기 네트워크에 위치하고; 바람직하기는 경계 네트워크 노드(border network node) 및/또는 억세스 네트워크 노드(access network node)에 위치하는 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 버퍼 명령이 동기화 서버, 바람직하기는 미디어 동기화 응용 서버에 의해 발생되고; 상기 측정 모듈 및 상기 버퍼가 각각 동기화 측정 클라이언트 및 동기화 버퍼링 클라이언트로서 구성되고,
    방법이,
    상기 동기화 측정 클라이언트로부터 타이밍 정보를 수신하고;
    상기 동기화 버퍼링 클라이언트에 대해 버퍼 명령을 전송하는 것;을 더 갖추어 이루어진 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  5. 제4항에 있어서,
    상기 버퍼 명령이 하나 이상의 동기화 설정 명령 리포트로, 바람직하기는 RTCP 동기화 설정 명령 리포트로 동기화 버퍼링 클라이언트에 대해 보내지고; 및/또는 상기 타이밍 정보가 동기화 서버에 대해 하나 이상의 동기화 상태 정보 리포트로 보내지는 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  6. 제5항에 있어서,
    상기 동기화 상태 정보 리포트가 상기 동기화 서버에 대해 상기 동기화 버퍼링 클라이언트를 매개로 보내지는 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  7. 제6항에 있어서,
    상기 동기화 버퍼링 클라이언트가 터미널로부터 동기화 서버로 보내진 동기화 상태 정보를 변경하도록 구성되고; 및/또는 상기 동기화 버퍼링 클라이언트가 터미널에 대해 동기화 설정 명령 리포트를 포워드하도록 구성된 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  8. 제1항에 있어서,
    상기 제1 미디어 경로가 제1 미디어 소스 및 터미널 사이에 제공되고, 상기 제2 미디어 경로가 제1 미디어 소스 또는 다른 제2 미디어 소스 및 상기 터미널 사이에 제공되는 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  9. 제1항에 있어서,
    상기 제1 측정 모듈이 네트워크 노드에, 바람직하기는 경계 네트워크 노드 및/또는 억세스 네트워크 노드에 위치하고; 상기 버퍼가 상기 하나 이상의 터미널에 위치하거나 상기 하나 이상의 터미널을 상기 네트워크에 연결하는 하나 이상의 억세스-라인을 따른 위치에 위치하는 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 하나 이상의 터미널 중 적어도 하나가, 미디어 스트림에서의 미디어 패킷의 도착 시간 사이의 변동을 측정하고, 변동이 버퍼링 지점으로부터 유래되는 지연에 관한 것인가의 여부를 상기 도착 시간 측정을 기초로 결정하도록 구성된 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  11. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 버퍼가 네트워크로부터 수신된 지연 명령을 기초로 미디어 스트림을 지연시키도록 구성된 가변 지연 버퍼를 구비하여 구성되고, 상기 지연이 0.5와 10초 사이, 바람직하기는 1과 5초 사이에서 선택되고; 상기 버퍼가 상기 버퍼에 연결된 2 이상의 터미널 사이에서 공유되는 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 방법.
  12. 하나 이상의 터미널에 대해 제1 및 제2 미디어 경로를 매개로 제1 및 제2 미디어 스트림을 전송하는 적어도 하나의 미디어 소스와;
    적어도 하나의 측정 모듈에 의해 수신된 상기 제1 및 제2 미디어 스트림의 미디어 패킷과 관련된 타이밍 정보를 측정하기 위한, 상기 제1 및 제2 미디어 경로의 제1 위치에 위치된, 적어도 하나의 측정 모듈;
    지연 명령을 기초로 상기 하나 이상의 터미널에 대해 미디어 경로를 거쳐 전송된 미디어 패킷을 지연시키도록 구성된, 상기 제1 또는 제2 미디어 경로의 적어도 하나의 제2 위치에 위치된, 적어도 하나의 버퍼; 및
    상기 하나 이상의 터미널에서 미디어 패킷의 도착 시간이 실질적으로 동기화되도록 하기 위해 상기 타이밍 정보를 기초로 상기 적어도 하나의 버퍼를 위한 버퍼 명령을 발생시키기 위한 동기화 서버;를 구비하여 구성된 것을 특징으로 하는 제1 및 제2 미디어 스트림을 동기화하기 위한 시스템.
  13. 청구항 제12항에 따른 시스템에서 이용하기 위한 버퍼 모듈, 바람직하기는 동기화 버퍼링 클라이언트로서, 상기 버퍼 모듈이 버퍼 명령을 기초로 터미널에 대해 미디어 경로를 거쳐 전송된 미디어를 지연시키도록 구성되고,
    상기 버퍼 모듈이:
    가변 지연 버퍼와;
    소정의 지연 기간 동안 미디어 스트림을 지연시키기 위한 정보를 갖는 가변 지연을 제공하는, 버퍼 명령을 수신하기 위한 수신기;
    하나 이상의 터미널에 대해 하나 이상의 지연된 미디어 스트림을 전송하기 위한 송신기; 및 조건적으로,
    2 이상의 터미널 사이에서 가변 지연 버퍼의 미디어 패킷을 공유하도록 버퍼 모듈을 허용하는, 포인터 정보를 포함하는 버퍼 리스트;를 구비하여 구성된 것을 특징으로 하는 버퍼 모듈.
  14. 청구항 제12항에 따른 시스템에 이용하기 위한 동기화 서버로서,
    상기 동기화 서버가:
    하나 이상의 미디어 스트림에서의 미디어 패킷의 도착 시간과 관련된 타이밍 정보를 수신하기 위한 수신기와;
    타이밍 정보를 기초로 계산된 지연 정보를 포함하는 버퍼 명령을 발생시키도록 구성된 프로세서; 및
    적어도 하나의 버퍼에 대해 버퍼 명령을 전송하기 위한 송신기;를 구비하여 구성된 것을 특징으로 하는 동기화 서버.
  15. 청구항 제12항에 따른 시스템에 이용하기 위해 구성된, 미디어 재생을 위한 터미널로서,
    상기 터미널이;
    터미널에 의해 수신된 미디어 패킷의 도착 시간과 관련된 타이밍 정보를 측정하기 위한 측정 모듈과;
    네트워크의 동기화 서버에 대해 타이밍 정보를 전송하기 위한 송신기; 및 조건적으로,
    미디어 스트림의 미디어 패킷의 도착 시간 사이의 변동을 측정하고, 변동이 버퍼링 지점으로부터 유래되는 지연에 관한 것인지의 여부를 상기 측정을 기초로 결정하는 측정 유닛;을 구비하여 구성된 것을 특징으로 하는 터미널.
  16. 컴퓨터 상에서 실행될 때, 청구항 제1항 내지 제11항에 따른 방법을 실행하기 위해 구성된 소프트웨어 코드 부분을 구비하여 구성된 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020127021087A 2010-01-27 2011-01-27 미디어 스트림의 동기화를 위한 방법, 시스템 및 장치 KR20120103750A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10000790.5 2010-01-27
EP10000790 2010-01-27

Publications (1)

Publication Number Publication Date
KR20120103750A true KR20120103750A (ko) 2012-09-19

Family

ID=42154669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127021087A KR20120103750A (ko) 2010-01-27 2011-01-27 미디어 스트림의 동기화를 위한 방법, 시스템 및 장치

Country Status (6)

Country Link
US (1) US8839340B2 (ko)
EP (2) EP2529531B1 (ko)
JP (1) JP5635626B2 (ko)
KR (1) KR20120103750A (ko)
CN (1) CN102742249B (ko)
WO (1) WO2011092244A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150067348A (ko) * 2012-10-10 2015-06-17 삼성전자주식회사 미디어 데이터 전달 제어를 위한 방법 및 장치
US20210153156A1 (en) * 2014-03-24 2021-05-20 Imagination Technologies Limited High definition timing synchronisation function
KR20220076761A (ko) * 2020-12-01 2022-06-08 주식회사 마젠타컴퍼니 복수의 미디어 소스를 동기화하여 통합 전송하는 시스템 및 그 방법

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120040838A (ko) * 2010-10-20 2012-04-30 주식회사 팬택 끊김 없는 영상을 제공하기 위한 멀티 스크린 플레이 서비스 시스템 및 방법
EP2592842A1 (en) * 2011-11-14 2013-05-15 Accenture Global Services Limited Computer-implemented method, computer system, and computer program product for synchronizing output of media data across a plurality of devices
TW201338528A (zh) * 2012-03-02 2013-09-16 Mstar Semiconductor Inc 數位電視資料處理方法以及使用此數位電視資料處理方法的數位電視系統
US20150033277A1 (en) * 2012-03-23 2015-01-29 Thomson Licensing Method of buffer management for synchronization of correlated media presentations
TR201810487T4 (tr) * 2012-03-29 2018-08-27 Koninklijke Kpn Nv İşaretleyici tabanlı varış noktaları arası ortam senkronizasyonu.
EP2670157B1 (en) 2012-06-01 2019-10-02 Koninklijke KPN N.V. Fingerprint-based inter-destination media synchronization
EP2704449A1 (en) * 2012-08-30 2014-03-05 Thomson Licensing Rendering time control
EP2713609B1 (en) * 2012-09-28 2015-05-06 Stockholms Universitet Holding AB Dynamic delay handling in mobile live video production systems
CN103139608B (zh) * 2013-01-21 2016-03-30 北京酷云互动科技有限公司 远程媒体播放信号时延的检测方法及检测***
US9182949B2 (en) * 2013-03-15 2015-11-10 Imagine Communications Corp. Systems and methods for controlling branch latency within computing applications
WO2015004131A1 (en) * 2013-07-09 2015-01-15 Koninklijke Kpn N.V. Synchronized data processing between receivers
US9541947B2 (en) * 2013-08-07 2017-01-10 General Electric Company Time protocol based timing system for time-of-flight instruments
US9300713B2 (en) 2013-08-16 2016-03-29 Qualcomm Incorporated Clock synchronization for multi-processor/multi-chipset solution
JP6349977B2 (ja) * 2013-10-21 2018-07-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
GB201318653D0 (en) 2013-10-22 2013-12-04 Microsoft Corp Adapting a jitter buffer
EP3090566A4 (en) 2014-01-02 2018-01-24 LG Electronics Inc. Broadcast transmission device and operating method thereof, and broadcast reception device and operating method thereof
US10135945B2 (en) * 2014-01-15 2018-11-20 Cisco Technology, Inc. Methods and systems for boundary placement in a data stream
WO2015158368A1 (en) * 2014-04-15 2015-10-22 Telefonaktiebolaget L M Ericsson (Publ) Synchronised social tv
CN104038775B (zh) * 2014-06-05 2018-02-16 Tcl集团股份有限公司 一种频道信息识别方法及装置
US9832507B2 (en) * 2014-06-27 2017-11-28 Qualcomm Incorporated System and method for synchronizing media output devices connected on a network
US9538321B2 (en) * 2014-07-18 2017-01-03 Intel IP Corporation Location determination of wireless stations using one-to-many communication techniques
CN104202628B (zh) * 2014-09-22 2017-12-15 北京酷云互动科技有限公司 客户端播放节目的识别***和方法
EP3202105B1 (en) * 2014-09-30 2021-09-15 British Telecommunications public limited company Managing streamed communication
US9521057B2 (en) * 2014-10-14 2016-12-13 Amazon Technologies, Inc. Adaptive audio stream with latency compensation
EP3235310B1 (en) * 2014-12-17 2021-11-03 Telefonaktiebolaget LM Ericsson (publ) Communication network nodes and methods performed therein
US10484447B2 (en) * 2014-12-24 2019-11-19 Ribbon Communications Operating Company, Inc. Methods and apparatus for communicating delay information and minimizing delays
CN104580263B (zh) * 2015-02-11 2018-10-02 深圳市云之讯网络技术有限公司 基于ip网络选择最优路径转发媒体流方法
CN104980820B (zh) * 2015-06-17 2018-09-18 小米科技有限责任公司 多媒体文件播放方法及装置
CN105611314A (zh) * 2015-12-25 2016-05-25 北京奇虎科技有限公司 获取电视节目相关信息的方法、装置及***
US10764473B2 (en) * 2016-01-14 2020-09-01 Disney Enterprises, Inc. Automatically synchronizing multiple real-time video sources
CN107017958B (zh) * 2016-01-28 2019-02-15 浙江宇视科技有限公司 一种基于ntp的时间同步方法及相应***
US10454982B1 (en) * 2016-03-18 2019-10-22 Audio Fusion Systems, Inc. Monitor mixing system that distributes real-time multichannel audio over a wireless digital network
CN105847926A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种多媒体数据的同步播放方法及装置
US10437829B2 (en) 2016-05-09 2019-10-08 Level 3 Communications, Llc Monitoring network traffic to determine similar content
SE541208C2 (en) * 2016-07-04 2019-04-30 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
CN110089120B (zh) * 2016-08-25 2022-07-15 迪泽Sa 用于在多个远程设备上同步播放媒体项的***和方法
US10290303B2 (en) * 2016-08-25 2019-05-14 Google Llc Audio compensation techniques for network outages
US10200424B2 (en) * 2016-09-28 2019-02-05 Gogo Llc Seamless delivery of real-time media stream with intermittent signal loss
CN106411448B (zh) * 2016-10-08 2019-02-01 Oppo广东移动通信有限公司 播放控制方法、装置及终端
CN106411447B (zh) * 2016-10-08 2018-12-11 广东欧珀移动通信有限公司 播放控制方法、装置及终端
US10225161B2 (en) * 2016-10-31 2019-03-05 Accedian Networks Inc. Precise statistics computation for communication networks
US10317511B2 (en) * 2016-11-15 2019-06-11 Veoneer Us, Inc. Systems and methods for synchronizing processor operations over a communications network
US20180367839A1 (en) * 2017-06-16 2018-12-20 Oohms Ny Llc Method and system for synchronization of audio content for a remotely displayed video
KR102391799B1 (ko) * 2017-10-19 2022-04-29 삼성전자주식회사 유니캐스트 기반 멀티미디어 서비스 방법 및 장치
WO2019209269A1 (en) 2018-04-24 2019-10-31 Google Llc Methods, systems, and media for synchronized media content playback on multiple devices
CN111327657A (zh) * 2018-12-14 2020-06-23 诺基亚通信公司 数据缓冲的方法、设备和计算机可读介质
CN112671696B (zh) * 2019-10-16 2023-05-12 华为技术有限公司 报文传输方法、装置、计算机设备以及计算机存储介质
CN113364726A (zh) * 2020-03-05 2021-09-07 华为技术有限公司 一种分布式数据传输的方法、装置和***
WO2021200193A1 (ja) * 2020-03-31 2021-10-07 ソニーグループ株式会社 医療用制御システム、画像処理サーバ、画像変換装置、および制御方法
CN112135177B (zh) * 2020-09-25 2022-10-21 北京猿力未来科技有限公司 数据流同步方法及装置
WO2022138998A1 (ko) * 2020-12-21 2022-06-30 주식회사 팔콘 멀티캐스팅 및 멀티 센싱 기반 긴급 상황 감지가 가능한 스마트 위성 안테나를 포함하는 장치 및 동작 방법
CN113473162B (zh) * 2021-04-06 2023-11-03 北京沃东天骏信息技术有限公司 一种媒体流的播放方法、装置、设备和计算机存储介质
CN113450794B (zh) * 2021-06-25 2023-09-05 北京百度网讯科技有限公司 导航播报的检测方法、装置、电子设备和介质
US11889447B2 (en) * 2021-08-03 2024-01-30 Qualcomm Incorporated Supporting inter-media synchronization in wireless communications
WO2023129277A1 (en) * 2021-12-30 2023-07-06 Microsoft Technology Licensing, Llc Packet buffering with a common time-indexed data store across packet streams
US20230216794A1 (en) * 2021-12-30 2023-07-06 Microsoft Technology Licensing, Llc Packet buffering with a common time-indexed data store across packet streams
CN116567794A (zh) * 2022-01-30 2023-08-08 华为技术有限公司 一种多流同步的方法和装置
CN115474083B (zh) * 2022-11-02 2023-03-14 灵长智能科技(杭州)有限公司 一种多路音视频同步直播方法和***
CN118339810A (zh) * 2022-11-10 2024-07-12 北京小米移动软件有限公司 数据流同步方法、装置、通信设备和存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2682244B1 (fr) * 1991-10-04 1995-01-13 Cit Alcatel Dispositif de synchronisation pour equipement d'extremite d'un reseau de telecommunications numerique a transfert en mode asynchrone.
US5623483A (en) * 1995-05-11 1997-04-22 Lucent Technologies Inc. Synchronization system for networked multimedia streams
EP1057337B1 (en) * 1998-02-27 2003-04-23 Ridgeway Systems and Software Ltd. Audio-video packet synchronisation at nework gateway
GB0000873D0 (en) * 2000-01-14 2000-03-08 Koninkl Philips Electronics Nv Interconnection of audio/video devices
JP3417392B2 (ja) * 2000-09-08 2003-06-16 ヤマハ株式会社 同期制御装置
US7333513B2 (en) * 2001-10-09 2008-02-19 Broadcom Corporation Method, system, and computer program product for synchronizing voice traffic with minimum latency
US7133362B2 (en) * 2001-11-14 2006-11-07 Microsoft Corporation Intelligent buffering process for network conference video
DE60211157T2 (de) 2002-09-06 2007-02-08 Sony Deutschland Gmbh Synchrones Abspielen von Medien-Paketen
US7289451B2 (en) * 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
CN100442858C (zh) * 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
JP4653011B2 (ja) * 2006-05-01 2011-03-16 パナソニック株式会社 中継装置及び中継方法
EP1860866A1 (en) * 2006-05-26 2007-11-28 British Telecommunications Public Limited Company Audio-visual reception
TW200835303A (en) * 2006-09-07 2008-08-16 Avocent Huntsville Corp Point-to-multipoint high definition multimedia transmitter and receiver
CN101179484A (zh) * 2006-11-09 2008-05-14 华为技术有限公司 一种不同媒体流间的同步方法及***
US7693190B2 (en) * 2006-11-22 2010-04-06 Cisco Technology, Inc. Lip synchronization for audio/video transmissions over a network
US8769591B2 (en) * 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
EP2206316B1 (en) 2007-10-23 2013-08-14 Koninklijke KPN N.V. Method and system for synchronizing a group of end-terminals
JP5529033B2 (ja) * 2007-12-05 2014-06-25 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 端末の出力を同期させる方法およびシステム
US20090257455A1 (en) * 2008-04-15 2009-10-15 Tellabs Operations, Inc. Method and apparatus for synchronizing timing of signal packets

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150067348A (ko) * 2012-10-10 2015-06-17 삼성전자주식회사 미디어 데이터 전달 제어를 위한 방법 및 장치
KR20200049900A (ko) * 2012-10-10 2020-05-08 삼성전자주식회사 미디어 데이터 전달 제어를 위한 방법 및 장치
KR20200146045A (ko) * 2012-10-10 2020-12-31 삼성전자주식회사 미디어 데이터 전달 제어를 위한 방법 및 장치
KR20210142767A (ko) * 2012-10-10 2021-11-25 삼성전자주식회사 미디어 데이터 전달 제어를 위한 방법 및 장치
US11381622B2 (en) 2012-10-10 2022-07-05 Samsung Electronics Co., Ltd. Method and apparatus for media data delivery control
US20210153156A1 (en) * 2014-03-24 2021-05-20 Imagination Technologies Limited High definition timing synchronisation function
KR20220076761A (ko) * 2020-12-01 2022-06-08 주식회사 마젠타컴퍼니 복수의 미디어 소스를 동기화하여 통합 전송하는 시스템 및 그 방법

Also Published As

Publication number Publication date
US8839340B2 (en) 2014-09-16
EP2529531B1 (en) 2019-10-09
JP2013518495A (ja) 2013-05-20
EP3627798A1 (en) 2020-03-25
CN102742249A (zh) 2012-10-17
CN102742249B (zh) 2017-04-12
US20120324520A1 (en) 2012-12-20
EP2529531A1 (en) 2012-12-05
WO2011092244A1 (en) 2011-08-04
JP5635626B2 (ja) 2014-12-03

Similar Documents

Publication Publication Date Title
US8839340B2 (en) Method, system and device for synchronization of media streams
US9237179B2 (en) Method and system for synchronizing the output of terminals
JP5284534B2 (ja) 変更されたストリーム同期
US9973345B2 (en) Calculating and signaling segment availability times for segments of media data
EP2832109B1 (en) Marker-based inter-destination media synchronization
US8514705B2 (en) Method and system for synchronizing a group of end-terminals
KR101439709B1 (ko) 동적 실시간 전송 제어 프로토콜 중계 방법 및 시스템
EP3378233A1 (en) Video distribution synchronization
Stokking et al. IPTV inter-destination synchronization: A network-based approach
Boronat et al. The need for inter-destination synchronization for emerging social interactive multimedia applications
Montagud et al. Early event-driven (EED) RTCP feedback for rapid IDMS
EP2068528A1 (en) Method and system for synchronizing the output of end-terminals
Montagud et al. Implementation and evaluation of an M/S scheme for inter-destination multimedia synchronization (IDMS)
Montagud et al. Design, Development and Assessment of Control Schemes for IDMS in an Evolved and Standardized RTCP-based Solution
EP2164224A1 (en) Method and system for synchronizing the output of end-terminals

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20140924

Effective date: 20150922

J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

J303 Written judgement (supreme court)

Free format text: TRIAL NUMBER: 2016301001338; JUDGMENT (SUPREME COURT) FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20160629

Effective date: 20161013