KR101291990B1 - 변경된 스트림 동기화 - Google Patents

변경된 스트림 동기화 Download PDF

Info

Publication number
KR101291990B1
KR101291990B1 KR1020117024003A KR20117024003A KR101291990B1 KR 101291990 B1 KR101291990 B1 KR 101291990B1 KR 1020117024003 A KR1020117024003 A KR 1020117024003A KR 20117024003 A KR20117024003 A KR 20117024003A KR 101291990 B1 KR101291990 B1 KR 101291990B1
Authority
KR
South Korea
Prior art keywords
synchronization
stream
information
media stream
arrival time
Prior art date
Application number
KR1020117024003A
Other languages
English (en)
Other versions
KR20110125674A (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 KR20110125674A publication Critical patent/KR20110125674A/ko
Application granted granted Critical
Publication of KR101291990B1 publication Critical patent/KR101291990B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • 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
    • 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/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

적어도 제1 및 제2 스트림의 목적지-상호간 동기화를 위한 방법 및 시스템이 설명되고, 제2 스트림은 제1 스트림을 입력 스트림으로 이용하는 미디어 스트림 변경 유닛의 출력 스트림이다. 본 방법은 제1 동기화 지점에 도착하는 제1 스트림에서의 패킷의 제1 도착시간 정보 및 제2 동기화 지점에 도착하는 제2 스트림에서의 패킷의 제2 도착시간 정보를 제공하는 단계; 상기 입력 스트림 및 상기 출력 스트림 사이의 동기 관계에 대한 동기화 코릴레이션 정보를 제공하는 단계; 및 제1 및 제2 도착시간 정보 및 동기화 코릴레이션 정보를 기초로 하여 지연 정보를 계산하는 단계를 포함한다.

Description

변경된 스트림 동기화{MODIFIED STREAM SYNCHRONIZATION}
본 발명은 관련 스트림들의 목적지-상호간(inter-destination) 동기화를 위한 방법 및 시스템에 관한 것이다. 게다가, 본 발명은 그러한 시스템에서 사용하기 위한 동기화 유닛, 동기화 지점, 도착시간 정보 조정 모듈, 및 데이터 구조에 관한 것이고, 그러한 방법을 이용하는 컴퓨터 프로그램 제품에 관한 것이다.
VoIP(Voice over IP) 및 IPTV(Internet Protocol Television)와 같은 새로운 멀티-미디어 기술들은 전 범위의 새로운 멀티-미디어 서비스들을 펼친다. 이러한 서비스들 중의 한 유형은 한 그룹의 사용자들이 개별적으로 동일한 TV 채널을 보고, 텍스트, 오디오, 및/또는 비디오를 이용해서 서로 통신하는 것을 가능하게 한다. 이러한 서비스들 중의 다른 유형은, 집에 있는 시청자가 방송된 질문에 대한 답을 입력하고 그 쇼에 참가할 수 있는 방송 텔레비전 퀴즈와 같은 인터렉티브한 텔레비전 경험을 제공한다. 이러한 서비스들은 터미널들의 출력 신호가 동시에 그룹 내의 모든 사용자들에게 전송될 것을 요한다. 달리 말해, 상이한 목적지들에 대응하는 그룹, 예컨대 텔레비전들, PDA들, 모바일 장치들, PC들, 또는 이들의 조합에서 디스플레이 또는 플레이-아웃(play-out) 장치들의 출력들은 동기화되어야 한다.
IPTV 시스템에서, TV 채널 신호는 전형적으로 그러한 서비스들에 대한 가입자들의 단말들에 대한 헤드-엔드(head-end)들, 종단 라우터(edge router)들, 및 액세스 노드들과 같은 네트워크 노드들을 통해서 오퍼레이터의 고대역폭(high-bandwidth) IP 네트워크를 거쳐 하나 이상의 패킷화된 스트림들로서 전송된다. 스트림들의 전송 동안, 패킷들은 전송 지연(delay)과 같이 네트워크에서 알려지지 않은 지연들, 네트워크 루트들에서의 차이, 및 코딩 및 디코딩 지연들에서의 차이에 종속된다. 결과적으로, 제1 터미널(제1 목적지)에서 수신된 오디오 및 비디오 패킷들과 다른 제2 터미널(제2 목적지)에서 수신된 것들 사이의 일시적인 관계는 교란될 것이다.
터미널들로 IPTV 콘텐트를 스트리밍하기 위해서, 일반적으로 RTP(Real-Time Transport Protocol)가 이용된다. RTP는 시퀀스 넘버링 및 타임 스탬핑을 제공한다. RTP를 이용해서, 하나의 스트림에서(스트림 내 동기화), 동일한 말단-터미널에서 종결되는 관련 스트림들 사이에서(스트림 상호간 동기화), 또는 상이한 말단-터미널들에서 종결되는 관련 스트림들 사이에서(그룹-동기화 또는 목적지-상호간 동기화) 순간적인 관계가 회복될 수 있다. F. Boronat et al.에 의한 논문 "Multimedia group and inter-stream synchronization techniques: A comparative study" (Elsevier Information Systems 34 (2009) pp. 108-131)는 3 개의 주요 카테고리로 세분될 수 있는 공지된 목적지-상호간 동기화 기술들의 종합적 개요를 제공한다.
"Synchronization Maestro Scheme"(SMS)에서, 중앙 동기화 마스터는 제어 패킷들을 터미널들로 분배함으로써 그룹 내의 모든 터미널들로부터 타이밍 정보를 수집하고 출력 타이밍을 조정한다. "Master-Slave Receiver Scheme"(MSRS)에서, 리시버들(터미널들)은 마스터 리시버 및 슬레이브 리시버들로 분류된다. 마스터 리시버는 그 출력 타이밍을 슬레이브 리시버들로 멀티캐스트(multicast)하고, 이들은 이에 따라서 그들의 패킷들의 출력 타이밍을 조정한다. "Distributed Control Scheme"(DCS)에서, 각각의 터미널(리시버)은 모든 타이밍 정보를 그룹 내의 모든 다른 터미널들로 멀티캐스트하고, 터미널은 적절한 출력 타이밍을 산출하도록 구성된다. 이 방식들은 공통적으로 미디어 스트림의 소스 또는 수신단에서 동기화가 일어난다.
함께 계류중인 유럽 특허 출원은 네트워크 노드들이 소스와 리시버들 사이에서 스트림들의 경로들을 따라 어딘가에서 동기화되는 추가적인 목적지-상호간 동기화 방식을 설명한다. 이 방법은 스트림 목적지들을 오퍼레이터 네트워크로 연결하는 액세스 선들에서의 차이들에 기인한 스트림들의 전파 시간들의 작은 차이들을 견디는 대규모 개발 및 서비스들에 대해 특히 적합하다.
참조한 목적지-상호간 동기화 기술들의 대부분은 터미널들에서 미디어 스트림 수신(예컨대, RTP 타임 스탬프, 시간의 특정한 경우에 수신된 RTP 미디어 스트림의 RTP 시퀀스 넘버, 또는 전송 스트림(Transport Stream)에서 하나 이상의 등가 파라미터들)에서 타이밍 정보를 이용한다. 상이한 리시버들의 타이밍 정보를 비교함으로써, 적절한 스트림 조정이 산출될 수 있다. 예시적인 조정은 리시버-단(receiver-end)에서 버퍼를 이용해서 수신된 스트림의 플레이-아웃 시간의 지연일 수 있다.
이러한 공지된 동기화 방식들과 관련된 하나의 문제점은 이들 방식들이, 소스 및 리시버 사이의 스트림이 콘텐트 준비 및/또는 콘텐트 재생성 목적을 위해서 변경되는 상황을 처리하도록 설계되어 있지 않다는 것이다.
스트림의 변경은 상당히 많은 상황들에서 필수적이고 및/또는 이익이 있다. 예를 들어, 효율적인 전달을 위한 미디어 스트림을 준비하기 위해서, 미디어 스트림들은 해상도(resolution)(예컨대, HD로부터 SD로 n 변환 또는 더 낮은 비트 레이트로 변환)에서의 변화와 같이 스트림 리시버들 또는 액세스 라인들의 특정 요구사항들을 위해 조정될 수 있다. 이러한 상황에서, 변환기(translator) 또는 트랜스코더(transcoder)라고 불리는 스트림 변경 유닛은 스트림의 경로에 배치될 수 있다. 변경된 트랜스코더 출력 스트림은 오리지널(변경되지 않은) 입력 스트림과 비교될 때 상이한 타임 스탬프들, 시퀀스 넘버들, 또는 다른 타이밍 정보를 포함할 수 있다.
미디어 스트림들은 특정 고객 요구사항들을 위해서 커스터마이즈될 수 있다. 메인 콘텐트 스트림에 보이스-오버(voice-over)들, 서브타이틀(subtitle)들, 픽처 인 픽처(Picture in Picture)를 추가하는 것이 필요할 수 있다. 이것은 전형적으로 믹서(mixer)라고 불리는 스트림 변경 유닛에 의해 수행된다. 게다가, 스트림은 재생성기 유닛을 이용해서 네트워크 도메인들을 통과할 때 재생성될 필요가 있을 수 있다. 모든 이러한 콘텐트 준비 및 재생성 방식들은 스트림에서 타이밍 정보를 수정해서 공지된 목적지-상호간 동기화 방식들을 신뢰할 수 없게 또는 심지어 사용하기 불가능하게 할 수 있다. 이런 이유로, 변경된 스트림들 및 변경되지 않은 스트림들 사이에서 또는 두 개의 상이하게 변경된 스트림들 사이에서 목적지-상호간 동기화를 가능하게 하는 방법 및 시스템에 대한 종래기술에서의 요구가 존재한다.
본 발명의 목적은 선행기술에서 알려진 동기화 방식들의 단점들 중 적어도 하나를 감소시키거나 제거하는 것이다.
본 발명의 목적은 선행기술에서 알려진 동기화 방식들의 단점들 중 적어도 하나를 감소시키거나 제거하는 것이고, 적어도 제1 및 제2 스트림의 목적지-상호간 동기화를 위한 방법을 제공하는 것이며, 상기 제2 스트림은 제1 스트림을 입력 스트림으로서 이용하는 미디어 스트림 변경 유닛의 출력 스트림일 수 있다. 본 방법은 제1 동기화 지점에 도착하는 제1 스트림의 패킷의 제1 도착시간 정보 및 제2 동기화 지점에 도착하는 제2 스트림의 패킷의 제2 도착시간 정보를 제공하는 단계; 상기 입력 스트림 및 상기 출력 스트림 사이의 동기 관계에 대한 동기화 코릴레이션 정보를 제공하는 단계; 및 제1 및 제2 도착시간 정보 및 동기화 코릴레이션 정보를 기초로 하여 지연 정보를 계산하는 단계를 포함한다. 추가적인 실시 예에서 본 발명은 제1 및 제2 동기화 지점 각각에 의해 출력된 제1 및 제2 스트림들이 실제 동기화되도록, 적어도 제1 및 제2 동기화 지점에 상기 지연 정보를 제공해서, 적어도 제1 및 제2 동기화 지점이 스트림의 출력을 지연시키는 단계를 더 포함할 수 있다.
동기화 코릴레이션 정보를 제공함으로써, 상이한 서비스 요구사항들을 가지고 상이한 터미널들을 이용하는 시청자들의 이종 세트를 겨냥한 관련 스트림들은 여전히 동기화될 수 있다. 따라서, 본 발명은 이종 네트워크에서의 시청자들의 그룹이 동기화된 방식으로 미디어 스트림을 감상하게 한다.
이러한 컨텍스트에서 도착시간은 일반적으로 동기화 지점이 미디어 스트림의 특정 부분을 수신하는 시간이다. 본 발명의 컨텍스트에서, 여기서 정확한 패킷 도착시간을 이용하는 것이 필수적이지 않다는 것이 통상의 기술자에 의해서 이해될 것이다. 도착시간 정보로서 이용되는 실제 시간은 도착시간을 결정하기 위해 동기화 지점들이 이용하는 정밀한 지점에 따라서 약간 변할 수 있다. 이것은 예컨대 지터 버퍼(jitter buffer)에 패킷을 배치하기 전에 도착시 바로일 수 있다. 하지만, 이것은 또한 미디어 패킷들을 처리하는 프로세스에서 이후의 지점, 예컨대 디코딩 프로세스 바로 전 또는 번역 프로세스 바로 전일 수 있다. 동기화 지점은 심지어 미디어 콘텐트의 특정 부분을 실제 표시하기까지 미디어 패킷을 처리하기 위해 필요한 시간을 알 수 있고, 실제 표시 시간을 도착시간 정보로서 이용할 수 있다. 일 실시 예에서, 상기 제1 및 제2 스트림은 적어도 제1 및 제2 동기화 지점들에 의해 출력되고, 상기 동기화 지점들은 상기 동기화 지점들을 동기화하기 위한 적어도 하나의 동기화 유닛에 연결된다.
다른 실시 예에서, 계산 지연 정보의 단계는 제1 도착시간 정보 및 제2 도착시간 정보 사이에서 공통 타임라인을 달성하기 위해 제1 및/또는 제2 도착시간 정보를 조정하기 위한 조정 단계를 포함할 수 있다. 이 조정 단계는 동기화 코릴레이션 정보의 적어도 일부를 기초로 할 수 있다.
일 실시 예에서, 상기 조정 단계는 도착시간 정보 조정 모듈에 의해서 수행될 수 있고, 상기 모듈은 동기화 유닛의 일부이고, 동기화 유닛에는 동기화 코릴레이션 정보가 제공된다.
다른 실시 예에서, 상기 조정 단계는 동기화 지점에서 수행되고, 동기화 지점은 도착시간 정보 조정 모듈을 포함할 수 있다. 이러한 도착시간 정보 조정 모듈에는 동기화 코릴레이션 정보의 적어도 일부가 제공될 수 있고, 동기화 유닛에는 조정된 제2 도착시간 정보가 제공된다.
또 다른 실시 예에서, 상기 조정 단계는 네트워크 구성요소(network element)에서 수행될 수 있고, 네트워크 구성요소는 도착시간 정보를 수신하도록 배열될 수 있다. 네트워크 구성요소는 도착시간 정보 조정 모듈을 더 포함할 수 있고, 도착시간 정보 조정 모듈에는 동기화 코릴레이션 정보의 적어도 일부가 제공될 수 있고, 동기화 유닛에는 조정된 제2 도착시간 정보가 제공된다.
일 실시 예에서, 동기화 지점은 터미널 또는 네트워크 노드, 바람직하게는 액세스 노드일 수 있다. 추가적 변형들에서, 스트림 변경 유닛은 변환기 또는 믹서일 수 있고, 동기화 유닛은 동기화 지점 또는 서버에 포함될 수 있다.
추가적인 관점에 있어서, 본 발명은 적어도 제1 미디어 스트림을 수신하는 제1 동기화 지점 및 제2 미디어 스트림을 수신하는 제2 동기화 지점의 출력을 동기화 하기 위한 동기화 유닛, 바람직하게는 동기화 서버에 관한 것일 수 있고, 상기 제2 스트림은 제1 스트림을 입력 스트림으로 이용하는 미디어 스트림 변경 유닛의 출력 스트림일 수 있다. 동기화 유닛은 제1 동기화 지점에 도착하는 스트림에서의 패킷의 제1 도착시간 정보 및 제2 동기화 지점에 도착하는 제2 스트림에서의 패킷의 제2 도착시간 정보를 수신하기 위한 수단; 상기 입력 스트림 및 상기 출력 스트림 사이의 동기 관계에 대한 동기화 코릴레이션 정보를 제공하기 위한 수단; 및 제1 및 제2 도착시간 정보 및 동기화 코릴레이션 정보를 계산하기 위한 수단을 포함할 수 있다.
다른 실시 예에서, 동기화 유닛은 실제 동기화되게 하기 위해서, 제1 및 제2 동기화 지점들에서의 하나 이상의 가변 지연 유닛이 수신된 스트림들의 출력 시간을 지연시키도록 하는 지연 정보를 제1 및 제2 동기화 지점에 제공하는 수단을 포함한다.
추가적인 관점에 있어서, 본 발명은 적어도 제1 및 제2 동기화 지점의 출력의 목적지-상호간 동기화를 위한 시스템에 관한 것일 수 있는데, 시스템은 미디어 스트림을 전달하기 위한 콘텐츠 전달 서버; 입력 미디어 스트림을 변경된 출력 미디어 스트림으로 변경하도록 구성되고 상기 입력 스트림과 상기 출력 스트림 사이의 동기 관계에 대한 동기화 코릴레이션 정보를 제공하도록 구성된 스트림 변경 유닛; 및 상술한 바와 같은 적어도 하나의 동기화 유닛을 포함할 수 있다.
추가적인 관점에 있어서, 본 발명은 또한 상술한 바와 같은 시스템에서 이용하기 위한 미디어 스트림 변경 유닛 및 동기화 지점에 관한 것일 수 있다. 또 다른 관점에 있어서, 본 발명은 상술한 바와 같은 시스템에서 이용하기 위한 데이터 구조, 바람직하게는 RTCP XR(RTCP extended Report) 데이터 구조에 관한 것일 수 있는데, 상기 데이터 구조는 미디어 동기화 지점에 도착하는 스트림에서의 패킷 또는 미디어 스트림 변경 유닛에 도착하는 스트림에서의 패킷 또는 상기 유닛에 의해 전송된 스트림에서의 패킷과 연계된 시그널링 동기화 상태 정보를 위해 상기 시스템에 의해 이용되고, 상기 데이터 구조는 상기 데이터 구조의 센더(sender)를 식별하기 위한 적어도 하나의 식별자, 적어도 하나의 타임스탬프, 바람직하게는 RTP 및/또는 NTP 타임스탬프, 및/또는 미디어 스트림 코릴레이션 식별자를 포함하고, 상기 데이터 구조는 상기 동기화 유닛이 상기 시스템에서 미디어 동기화 지점들과 연계된 미디어 스트림들을 동기화하는 것을 가능하게 한다.
본 발명은 또한 컴퓨터의 메모리에서 실행될 때 상술한 바와 같은 방법의 단계들에서 상술한 바와 같은 방법의 단계들을 수행하도록 구성된 소프트웨어 코드 부분들을 포함하는 컴퓨터 프로그램 제품에 관한 것일 수 있다.
도 1은 다중 스트림 변경 유닛을 포함하고, 상이한 위치들로 관련 스트림들을 전달할 수 있는 이종(heterogeneous) 네트워크 토폴로지의 예시적인 실시 예를 도시한다.
도 2는 본 발명의 일 실시 예에 따른 시스템을 도시한다.
도 3은 본 발명에 따른 시스템과 관련된 흐름도를 도시한다.
도 4는 본 발명의 다른 실시 예에 따른 시스템을 도시한다.
도 5는 본 발명의 일 실시 예에 따른 목적지-상호간 동기화 방식을 도시한다.
도 6은 본 발명의 일 실시 예에 따른 예시적인 RTCP XR(RTCP extended Report)를 도시한다.
도 7은 본 발명의 다른 실시 예에 따른 미디어 스트림을 동기화하기 위한 RTCP 메시지들의 이용을 도시한다.
본 발명은 본 발명에 따른 실시 예들을 개략적으로 도시하는 첨부된 도면을 참조로 하여 더 설명될 것이다. 본 발명은 이러한 특정 실시 예들에 어떠한 식으로든 제한되지 않는다는 것이 이해될 것이다.
도 1은 네트워크를 통해 사용자 장비들로 콘텐트를 전달하기 위한 멀티미디어 전달 시스템(100)의 예시적인 실시 예를 도시한다. 이 네트워크는 상이한 위치들로 관련 스트림들을 전달할 수 있는 다중 스트림 변경 모듈들을 포함하는 이종 토폴로지를 가진다. 이 실시 예에서, 패킷들을 포함하는 미디어 스트림은 복수의 사용자 장비들로 전달되고, 미디어 스트림은 상이한 사용자 장비들에 대해서 다르게 적응된다.
본 출원의 문맥에서 패킷은 타이밍 정보, 예컨대 타임 스탬프들과 연관된 한 조각(즉, 한 단위)의 미디어 스트림이다. 이러한 패킷들의 일 예가 하나 이상의 타임스탬프를 포함하는 RTP 패킷이다. 다른 예는 하나 이상의 표시 타임 스탬프들을 포함하는 전송 스트림(TS)과 같은 MPEG-형식 패킷이다.
숙련된 자는 타이밍 정보를 포함하는 임의의 미디어 패킷 포맷이 동기화 목적을 위해 이용될 수 있다는 것을 이해할 것이다. 타이밍 정보는 표준화된 또는 독점의 콘텐트를 전송하기 위해 이용되는 전송 컨테이너(전송 프로토콜)의 일부일 수 있다. 이와 달리 또는 이에 부가하여, 실제 콘텐트의 일부, 예컨대 콘텐트를 인코딩하기 위한 인코딩 방식에서 사용된 타이밍 정보일 수도 있다.
도 1에서 멀티미디어 전달 시스템은 미디어 스트림 시작점(101), 예컨대 미디어 스트림들을 하나 이상의 네트워크들 예컨대 IP 네트워크를 거쳐서 상이한 사용자 장비들(UE)(106-109)로 전달할 수 있는 서버를 포함한다. UE 또는 터미널은 플레이-아웃 장치 또는 이에 연결된 장치(예컨대, 셋-톱 박스)와 관련이 있을 수 있다. 이러한 장치들은 예컨대, 이동 전화, 텔레비전 셋, IP 폰(phone), 게임 콘솔, 스마트 계량(smart metering) 장치 등을 포함할 수 있지만, 동기화된 신호에 응답하는 다중 계량 장치의 자동화된 계량과 같이, 동기화된 스트림에 응답하는 임의의 다른 자동화된 액션일 수도 있다.
멀티미디어 전달 시스템은, 스트림에서 타이밍 정보가 수정되도록 미디어 스트림 상에서 일정한 액션들을 수행하는 다양한 네트워크 구성요소들을 포함할 수 있다. 이하에서는 이러한 네트워크 구성요소를 일반적으로 스트림 변경 유닛이라고 한다. 도 1의 실시 예에서, 시스템은 다양한 스트림 변경 유닛들, 예컨대 제1 트랜스코더(102), 제2 트랜스코더(103), 및 믹서(104)를 포함한다. 서버(105)는 대체적인 및/또는 부가적인 기본 스트림들(105)을 믹서로 전달할 수 있다. 이 서버(105)는 예컨대 대체적인 오디오(상이한 언어들, 감독의 코멘트들, 또는 서라운드 사운드), 대체적인 서브타이틀들, 또는 대체적인 비디오(예컨대, 구술된 언어를 수화(sign language)로 번역하는 수화자(signer))를 포함할 수 있다.
미디어 서버(101)에 의해 전달된 오리지널 미디어 스트림(110)은 IP를 통해 UDP를 통한 RTP를 이용하는 네트워크를 통해서 전송된 MPEG4 인코딩을 가진 비디오 온 디맨드(VoD) 스트림일 수 있다. 이 오리지널 미디어 스트림(110)은, MPEG2 인코딩만을 지원하는 UE2(107)을 위하여 오리지널한 MPEG4 인코딩 스트림을 MPEG2 인코딩 스트림으로 트랜스코딩(transcoding)하는 제1 트랜스코더(102)에 의해 수정(즉, 트랜스코딩)된다. 나아가, 트랜스코딩된 미디어 스트림(112)은 IP를 통해 UDP를 통한 RTP를 이용하는 UE2로 전송된다.
제2 트랜스코더(103)는 오리지널 미디어 스트림(110)을, 실제 인코딩 방식이 변하지 않는 오리지널 미디어 스트림에 의해 이용된 컨테이너 포맷과는 다른 포맷을 갖는 변경된 미디어 스트림으로 트랜스코딩할 수 있다. 제2 트랜스코더(103)는 예컨대 UDP를 통해 직접 운반된 MPEG 전송 스트림을 이용해서 MPEG4로 인코딩된 미디어 스트림을 네트워크를 통하여 UE3(108)으로 전달할 수 있다. 나아가, 믹서(104)는 하나 이상의 추가적인 기본 스트림들을 오리지널 미디어 스트림에 추가할 수 있고, 또는 오리지널 미디어 스트림 내의 하나 이상의 기본 미디어 스트림들을 하나 이상의 대체적인 기본 스트림들로 대체할 수 있다. 이들 추가적인 또는 대체저인 기본 스트림들은 IP를 통해 UDP를 통한 RTP를 이용하여 서버(105)에 의해서 전달된다. 믹서(104)는 이어서 IP를 통해 UDP를 통한 MPEG4를 이용하여 혼합된 미디어 스트림(114)을 UE4로 전달한다.
도 1에 도시된 멀티미디어 전달 시스템에서, 오리지널 미디어 스트림(110)은 타이밍 정보를 포함하는 전송 프로토콜을 이용할 수 있다. 일 실시 예에서, RTP 프로토콜은 전송 메카니즘으로 이용될 수 있다. RTP는 미디어 스트림들을 동기화하기 위한 타이밍 정보로서 RTP 타임스탬프들을 이용한다.
제1 트랜스코더(102)는 오리지널 스트림(110)을 디코딩할 수 있고, 미디어를 (예컨대, MPEG4로부터 MPEG2로) 재인코딩할 수 있다. 그래서, 그 전송의 시작을 가리키기 위해 랜덤 RTP 타임스탬프를 이용해서 변경된 미디어 스트림을 UE2(107)로 보낼 것이다. 그래서, 동일한 전송 프로토콜들이 사용된다(IP를 통해 UDP를 통한 RTP)고 하더라도 나가는 미디어 스트림의 타임스탬프는 들어오는 미디어 스트림과 다르다.
제2 트랜스코더(103)는 오리지널 스트림(110)을 디코딩하지 않지만, 다른 전송 컨테이너를 이용해서 미디어 스트림(113)을 UE3(108)로 보낸다. 예를 들어, UDP를 통한 MPEG 전송 스트림(TS)은 콘텐트를 UE3로 보내기 위해 이용된다. 이들 MPEG TS 패킷들은 패킷이 디스플레이를 위해 표시되어야 하는 순간을 가리키기 위한 소위 표시 타임 스탬프(Presentation Time Stamp; PTS)의 형태로 타이밍 정보를 포함할 수 있다. 들어오고 나가는 미디어 스트림 미디어 사이의 실제 인코딩이 변하지 않고 있을지라도, 이들 PTS는 오리지널 미디어 스트림(110)의 RTP 타임스탬프들과 다르다.
믹서(104)는 미디어 스트림(111)에서 하나 이상의 기본 스트림들을 오리지널 미디어 스트림(110)과 혼합시킬 수 있다. 그 후에, 믹스된 미디어 스트림(114)을 네트워크를 통해 UE4(109)로 보낼 수 있다. 믹서가 새로운 미디어 스트림을 생성할 때, 입력 스트림(110) 및 혼합된 출력 스트림(114)을 위해 이용된 인코딩 및 전송 방식들이 동일한 UE4로 이 스트림을 전송하기 위한 시작시간으로서 새로운 랜덤하게 생성된 RTP 타임스탬프를 이용할 것이다.
임의의 추가적 수단 없이, 네트워크에서 콘텐트 유닛들이 소스 및 UE들에서의 타임스탬프들이 서로 상관성을 갖지 않도록 스트림들에서 타이밍 정보를 바꾸기 때문에 UE들에서 플레이-아웃의 동기화가 가능하다. 그 이유는 미디어 서버(101), 트랜스코더들(102 및 103), 및 믹서(104) 각각이 시작시간으로서 랜덤 타임스탬프를 선택한다는 것이다. 이러한 동일한 문제가 믹서에 대해 존재한다: 이것은 오리지널 미디어 서버(101)와 다른 소스, 즉 추가적인 및 대체적인 기본 스트림들(105)을 포함하는 미디어 서버 양쪽으로부터 미디어 스트림들을 수신한다. 상술한 바와 같이, 이들 미디어 스트림들에서 타임스탬프들이 상관성을 갖지 않을 것이다.
도 2는 미디어 스트림을 동기화하기 위한 제1 동기화 지점(205) 및 제2 동기화 지점(208)을 포함하는 멀티-미디어 전달 시스템(200)의 개략도를 도시한다. 동기화 지점은 동기화 정보(예컨대, 도착시간 정보)가 결정되기 위한 스트림의 경로에 있는 (논리적 또는 물리적) 지점이다. 동기화 지점은 네트워크에 연결된 또는 네트워크 내에 통합된 임의의 물리적 장치를 포함할 수 있다. 예컨대, 액세스 노드(예컨대, DSLAM(Digital Subscriber Line Access Multiplexer), CMTS(Cable Modem Termination System)), 광학적 액세스 노드, 또는 종단 라우터와 같은 네트워크 노드 또는 헤드엔드에 관한 것일 수 있다. 이와 달리, 동기화 지점은 텔레비전에 연결된 셋-톱 박스, 퍼스널 컴퓨터, 랩탑, 넷북, PDA(personal digital assistant), 또는 미디어 스트림을 처리할 수 있는 임의의 다른 장치로서 구성될 수 있다.
멀티-미디어 전달 시스템은 미디어 스트림 시작점(201), 예컨대 비디오-온 디맨드 스트림 또는 라이브 멀티캐스트 텔레비전 방송을 전달하는 예컨대 미디어 서버를 포함할 수 있다. 이 미디어 시작점(201)은 네트워크(211)를 통해서 동기화 지점들로 오리지널한 제1 미디어 스트림(212)을 전송할 수 있다. 제1 동기화 지점(205)은 어떠한 변경도 없이 오리지널 미디어 스트림(212)을 수신할 수 있다. 하지만, 제2 동기화 지점(208)은 예컨대 상이한 포맷이지만 동일한 콘텐트를 포함하는 스트림을 수신할 수 있다. 그래서, 제2 동기화 지점(208)은, 오리지널 미디어 스트림(212)을 수신해서 변경된 미디어 스트림(213)을 생성하는 미디어 스트림 변경 유닛(202)에 의해 생성된 변경된 제2 미디어 스트림(213)을 수신할 수 있다.
제1 및 제2 스트림 동기화 지점들(205, 208)은 제1 및 제2 미디어 스트림들(212, 213) 각각의 사이에서 목적지-상호간 동기화(또는 그룹 동기화)를 제공하도록 구성될 수 있다. 이러한 목적을 위해서, 미디어 스트림 동기화 지점들은 미디어 동기화 유닛(204), 예컨대 MSAS(media synchronization application server)에 연결된다. 제1 및 제2 스트림 동기화 지점들(205, 208)은 예컨대 가변 지연 버퍼(206, 209)를 각각 포함하는 제1 및 제2 가변 지연 유닛과 제1 및 제2 동기화 클라이언트들(207, 210)을 각각 포함할 수 있다. 제1 및 제2 동기화 클라이언트들(207, 210)은 이하에서 더욱 상세하게 설명되는 바와 같이 MSAS(204)와 동기화 정보를 교환하도록 구성된다.
미디어 스트림 변경 유닛(202)은 미디어 스트림 변경 유닛과 연계된 제3 동기화 클라이언트 SC(203)를 더 포함할 수 있다. 동기화 클라이언트들(207, 210, 203)은 예컨대 시그널링 경로들(214)을 이용해서 MSAS(204)와 메시지들을 교환한다. 이 시그널링 메시지들은 미디어 분배에서 사용된 동일한 네트워크(211)를 통해서 전송될 수 있다. 이와 달리, 메시지들은 다른 네트워크들을 통해서도 전송될 수 있다. 이하의 설명에서, 시그널링 경로들(214)은 동기화 참조 지점들을 일컫는 것이다.
이 예에서, 오리지널 미디어 스트림(212)은 예컨대 UDP 프로토콜을 이용해서 IP 네트워크를 통해 RTP에서 전송된 비디오 스트림에 관한 것일 수 있다. 이 경우에, 오리지널 미디어 스트림(212)에서 RTP 패킷들은 미디어 스트림 시작점(201)에 의해서 생성된 RTP 타임스탬프 및 RTP 프로토콜에서 정의된 동기화 소스(SSRC) 식별자를 포함할 수 있다.
변경된 스트림(213)은 미디어 스트림 변경 유닛(202)에 의해 변경되지만 오리지널 미디어 스트림(212)과 동일한 콘텐츠를 포함할 수 있다. 변경은 도 1을 참조하여 상술한 변경 동작일 수 있는데, 다시 말해 오리지널 스트림은 고대역폭 고화질(High Definition; HD) 스트림일 수 있고, 변경된 스트림은 저대역폭 표준화질(Standard Definition; SD) 스트림일 수 있다. 다른 변경은 예컨대 네트워크에서 하나 이상의 스트림 동기화 지점들에 의해서 지원된 DRM(Digital Rights Management) 시스템과 연계된 암호화 방식의 적용일 수 있다. 이 변경은 또한 재시작점(re-origination)에 관한 것일 수 있다. 재시작점은 미디어 스트림들이 네트워크 경계들을 건너갈 때, 예컨대 IPTV 제공자가 하나 이상의 개인 IPTV 네트워크들로 인터넷상에서 이용가능한 미디어 스트림들을 제공하길 원할 때 제공될 수 있다. 다른 변경들은 예컨대 RTP를 이용하는 대신 예컨대 MPEG 전송 스트림(TS)을 이용하여 상이한 미디어 컨테이너에서 스트림들을 재전송하거나 비디오 스트림에서 수화를 수행하는 사람을 포함하는 믹싱(mixing)을 기초로 한 변경들을 포함할 수 있다.
변경된 미디어 스트림(213)에서 RTP 패킷들은 오리지널 미디어 스트림(212)과 비교하여 상이한 SSRC 식별자 및 상이한 RTP 타임스탬프들을 포함할 수 있다. IETF RFC 3550에 따라서, SSRC 식별자 및 RTP 타임스탬프는 RTP 패킷에서 32 비트 헤더 필드이다. 각각의 미디어 스트림에 대해서, RTP 타임 스탬프의 시작시간은 랜덤하게 선택되어야 한다. 나아가, SSRC는 랜덤하게 선택된 값이고, 이것은 전역적으로(globally) 고유하다는 것을 의미한다. 공지된 목적지-상호간 동기화 방식들에서, 동기화는 각각의 스트림 동기화 지점에 타임스템프 정보를 시그널링함으로써 달성될 수 있다. 하지만, 제1 및 제2 스트림들(212, 213)에서 RTP 타임스탬프들이 상이하기 때문에, 제1 및 제2 동기화 지점들에서 미디어 스트림들의 직접 동기화는 가능하지 않다.
멀티-미디어 전달 시스템에서, 제1 및 제2 스트림 동기화 지점들(205, 208)은 MSAS(204)로 소위 동기화 상태 정보를 보낼 수 있다. 이 동기화 상태 정보는 미디어 스트림과 연계된 식별 정보(예컨대, SSRC 식별자) 및 타이밍 정보(예컨대, 패킷의 플레이-아웃 시간과 연계된 NTP 타임스탬프 및 RTP 타임스탬프)를 포함할 수 있다.
RTP 타임스탬프는 RTP 데이터 패킷에서 제1 옥텟(octet)의 샘플링 순간을 반영한다. 타임스탬프의 초기값은 랜덤값이다. RTP 타임스탬프는 샘플링 주기를 세고, 만일 제2 RTP 패킷이 제1 RTP 패킷 이후에 160 샘플들을 시작한다면 제2 RTP 타임 스탬프는 제1 보다 160 더 높다.
NTP 타임스탬프는 절대적인 "벽시계(wall clock)" 시간이다. NTP는 IETF RFC 1305에서 정의된 바와 같이 1900년 1월 1일에 시작한 64 비트 카운터이다. NTP에 의해 이용된 64 비트 타임스탬프들은 32 비트 초 부분과 32 비트 소수 자릿수 초 부분으로 이루어진다. 이것은 RTP 타임스탬프에 의해 식별된 제1 옥텟이 특정 지점, 즉 동기화 지점을 지나가는 절대 시간을 나타낸다.
이 특정 지점은 SC를 포함하는 사용자 장비(UE)의 플레이-아웃 지점일 수 있고, NTP 타임스탬프는 특정 옥텟이 사용자에게 플레이되는 시간을 나타낸다. 이와 달리, 이것은 SC가 특정 옥텟을 처음 수신하는 유입 지점일 수 있다. 유사한 방식으로, 동기화 SC'에 대해서, 이 특정 지점은 출력 지점 또는 입력 지점일 수 있다.
제1 스트림 동기화 지점은 다음의 제1 동기화 상태 정보 메시지를 MSAS로 보낼 수 있다:
SSRC 식별자 = 12345678
RTP 타임스탬프 = 1556688423
NTP 타임스탬프 = 13:42:21.000
유사하게, 제2 미디어 스트림 동기화 지점은 다음의 제2 동기화 상태 정보 메시지를 MSAS로 보낼 수 있다:
SSRC 식별자 = 90ABCDEF
RTP 타임스탬프 = 1684654845
NTP 타임스탬프 = 13:42:21.000
이 예에서, 제1 및 제2 스트림 동기화 지점들로부터의 정보는 동일한 NTP 플레이-아웃 시간: 13:42:21.000과 관련된다. 이 예에서, 미디어 스트림 동기화 지점들 양쪽 모두는 동기화된 NTP인데, 다시 말해 그들의 시계는 네트워크 시간 프로토콜 또는 다른 수단을 이용해서 동기화된다.
상술한 바와 같이, 변경된 미디어 스트림이 동일한 콘텐트를 운반한다고 하더라도, 변경된 출력 스트림(213)에서 타이밍 정보를 변경하는 미디어 스트림 변경 유닛(202) 때문에 동기화가 가능하지 않을 수 있다. 동기화를 가능하게 하기 위해서, 미디어 스트림 변경 유닛(202)과 관련된 동기화 클라이언트(SC)가, 미디어 스트림 변경 유닛에 의해 수신된 들어오는 미디어 스트림(212)과 제2 미디어 스트림 동기화 지점으로 미디어 스트림 변경 유닛에 의해 전송된 나가는 미디어 스트림(213) 사이의 동기(synchronicity) 관계에 관한 동기화 코릴레이션(correlation) 정보 메시지를 보낼 수 있다. 이런 이유로, 동기 관계는 제1 패킷 내 제1 타이밍 정보와 제2 패킷 내 제2 타이밍 정보에 관한 것이고, 제1 및 제2 패킷은 동일한 콘텐트 또는 그 일부를 포함하고, 상기 제2 패킷은 미디어 스트림 변경 유닛에 의해 변경된 스트림의 일부이고, 상기 제1 패킷은 상기 변경 이전의 미디어 스트림의 일부이다.
일 실시 예에서, 미디어 스트림 변경 유닛은 MSAS로 다음의 정보를 보낼 수 있다:
들어오는(incoming):
SSRC 식별자 = 12345678
RTP 타임스탬프 = 1556688423
나가는(outgoing):
SSRC 식별자 = 90ABCDEF
RTP 타임스탬프 = 1684657845
이 정보는 들어오는 SSRC 식별자/RTP 타임스탬프 쌍 및 나가는 SSRC 식별자/RTP 타임스탬프 쌍 양쪽 모두를 포함한다. 이러한 이유로, 동기화 코릴레이션 정보 메시지는 MSAS로 시그널링된 SSRC 및/또는 RTP 타임스탬프들을 이용해서 스트림 변경 유닛의 출력에서 전송된 하나 이상의 스트림들과 스트림 변경 유닛의 입력에서 수신된 하나 이상의 스트림들과의 코릴레이션을 허용할 수 있다.
일 실시 예에서, 동기화 코릴레이션 정보는 하나의 메시지로 MSAS에 보내질 수 있다. 다른 실시 예에서, 이것은 두 개의 개별 메시지들로 보내질 수 있다. 들어오는 또는 나가는 스트림(들)의 동기화 파라미터들이 시간의 경과에 따라서 많이 변하지 않아서 이 스트림들과 관련된 동기화 정보의 시그널링이 덜 빈번하게 요구된다면, 개별 메시지들의 이용은 이익이 될 수 있다. 나아가, 동기화 정보의 시그널링에 대한 세부사항들이 도 5 내지 7을 참조로 하여 이하에서 설명된다.
MSAS(204)는 미디어 스트림 변경 유닛으로부터 동기 관계를 포함하는 동기화 코릴레이션 정보 메시지 및 양쪽의 미디어 스트림 동기화 지점들로부터 제1 및 제2 동기화 상태 정보 메시지들을 수신한다. 그 후에, 제1 및 제2 미디어 스트림 동기화 지점들을 위한 타이밍 정보를 계산하기 위해 이 정보를 이용한다.
이 계산은 두 개의 계산 단계들을 포함할 수 있다. 제1 단계는 모든 동기화 상태 정보를 시그널 타임라인(시간축)으로 조정하기 위한 계산과 관련이 있다. 제2 단계에서, 실제 지연 정보가 계산된다. 이하의 실시 예에서, RTP 타임스탬프들은 밀리 초 크기를 나타낸다. 만일 이것이 실제와 다르다면, 계산들은 이것을 반영하도록 조정되어야 한다. 그래서, 제1 단계에서, 모든 동기화 상태 정보는 하나의 공통된 타임라인에, 예컨대 오리지널 미디어 스트림(212)의 RTP 타임스탬프들과 연계된 타임라인으로 조정된다. 이 단계는 상태 정보 변환 단계라고 한다.
13:42:21.000에서, 제1 미디어 스트림 동기화 지점(205) 타임스탬프 1556688423에 존재한다. 이 예에서, 제2 미디어 스트림 동기화 지점(208)에 의해서 제공된 타임스탬프는 오리지널 미디어 스트림(212)과 관련된 타임라인으로 조정될 것이다. 다른 변형에 있어서, 변경된 스트림과 관련된 타임라인을 기초로 하여 동기화 상태 정보를 조정하는 것 또는 양쪽 스트림들의 타임라인들을 새로운 (제3) 타임라인으로 저정하는 것 또한 가능할 수 있다. 제3 타임라인의 예는 각각의 미디어 스트림이 타임스탬프 0에서 시작해서 각각의 스트림의 처음에 랜덤하게 선택된 타임스탬프가 0으로의 조정을 요하는 상황과 관련이 있을 수 있다.
제2 미디어 동기화 지점으로부터 수신된 동기화 상태 정보를 조정하기 위해서, 다음의 정보가 이용된다:
- 1684654845 값을 갖는 변경된 스트림의 동기화 상태 정보에서 RTP 타임스탬프; 및,
- 변경된 스트림과 연계된 RTP 타임스탬프 값 1684657845은 오리지널 스트림과 연계된 RTP 타임스탬프 값 1556688423과 상관이 있다.
타임스탬프를 조정하기 위한 계산은 단순 선형 변환과 관련이 있을 수 있다: adjusted timestamp = conv timestamp org stream + conv timestamp mod stream - timestamp_mod_stream_current. 이러한 이유로, 13:42:21.000에서 제2 미디어 스트림 동기화 지점(208)은 adjusted timestamp 1556688423 + 1684654845 - 1684657845 = 1556685423과 관련이 있을 수 있다. 이러한 식으로, 제2 미디어 스트림 동기화 지점(208)으로부터 수신된 동기화 상태 정보는 제1 미디어 스트림 동기화 지점(205)으로부터 수신된 동기화 상태 정보와 연계된 타임라인으로 조정될 수 있다.
그 후에, 지연 정보의 계산은 알려진 방식에 따라서 수행될 수 있다. 예를 들어, 지연 정보는 미디어 스트림을 플레이함에 있어 가장 뒤에 있는 클라인트를 기초로 하여 결정될 수 있다. 상술한 예에서 양쪽 타임스탬프들은 동일한 클록-시간(clock-time) 13:42:21.000에서 보고되었기 때문에, 계산은 양쪽 미디어 스트림 동기화 지점들의 동기화 상태 정보의 단순 감산을 포함할 수 있다: 1556685423 -1556688423 = -3000. 이 결과는 제2 미디어 스트림 동기화 지점(208)에서의 미디어 스트림이 제1 미디어 스트림 동기화 지점(205)에서의 미디어 스트림 상에서 3초 뒤진다 것을 나타낸다. 이러한 시간 지체는 미디어 스트림 변경 유닛(202)에서 수행된 트랜스코딩 프로세스에 기인할 수 있다. 만일, 보고된 클록-시간(즉, NTP 시간)은 MSAS에 의해 수신된 상이한 동기화 상태 정보 메시지들에서 다르다면, 이 클록-시간 차는 지연을 결정하기 위한 계산에서 고려되어야 한다.
이상으로부터, 변경된 스트림은 (타임스탬프에서 오른쪽으로부터 4번째 자릿수까지에 의해서 도시된 바와 같이) 3초 뒤진다. 다른 예에서, 조정된 미디어 스트림의 타임라인이 이용될 수 있다: 1684657845 ms - 1684654845 ms = 3000 ms. 그래서, 양쪽 미디어 스트림 동기화 지점들에서 미디어 스트림들을 동기화하기 위해서, MSAS는 플레이-아웃을 3초 지연시키기 위해서 제1 동기화 지점(205)에 동기화 설정 지시들을 보낼 수 있다.
도 3은 도 2를 참조하여 상술한 바와 같은 예에 대해 메시지 흐름도(300)에서 정보의 교환을 도시한다. 제1 단계(302)에서, 제1 동기화 지점은 미디어 스트림 시작점으로부터 오리지널 미디어 스트림을 수신하고, 제2 동기화 지점은 미디어 스트림 변경 유닛의 출력으로부터 변경된 미디어 스트림을 수신하는데, 미디어 스트림 변경 유닛은 미디어 스트림 시작점으로부터의 오리지널 미디어 스트림을 입력 신호로 이용한다.
제2 및 제3 단계(304, 306)에서, 제1 및 제2 동기화 지점들 각각은 미디어 동기화 어플리케이션 서버(MSAS)에 각각 제1 및 제2 동기화 상태 정보 메시지를 보낸다. 그 후에, 제4 단계(308)에서, 미디어 스트림 변경 유닛은 들어오는 미디어 스트림과 나가는 스트림 사이의 동기 관계에 대한 코릴레이션 정보 메시지를 MSAS로 보낸다. MSAS는 이어서 제5 단계(310)에서 동기화 설정 지시들을 계산할 수 있고, 목적지들, 즉 제1 및 제2 동기화 지점들로 이 지시들을 보낼 수 있다.
도 2 및 도 3을 참조하여 설명된 비제한적(non-limiting) 예가 하나의 미디어 스트림 변경 유닛 및 두 개의 동기화 지점들을 이용하는 목적지-상호간 동기화 방식을 설명한다. 추가적인 변형들에 있어서, 그러한 방식은 둘 이상의 스트림 변경 유닛들과 함께 및/또는 둘 이상의 미디어 동기화 지점들과 함께 이용될 수 있다. 상이한 프로토클들이 네트워크를 통하여 시그널링 메시지들(예컨대, 동기화 상태 정보 메시지들, 상이한 타임스탬프들과 상관이 있는 정보를 포함하는 메시지들, 동기화 설정 지시들)을 전송하기 위해 이용될 수 있다. 이 메시지들은 SIP 메시지(IETF RFC 3261)에서 또는 RTCP 메시지들에서 평문으로 또는 XML 포맷으로, 예컨대 HTTP(W3C 권고)를 통해 SOAP을 이용하여 XML 포맷으로 수행될 수 있다.
도 2 및 도 3을 참조로 하여 설명된 예에서, 가변 지연 유닛 및 동기화 유닛이 클라이언트-서버 모델에서 구현되고, 동기화 지점에서 가변 지연 유닛의 기능은 동기화 클라이언트(SC)의 일부로서 구현될 수 있고, 동기화 유닛은 동기화 서버(SYNCHS 또는 미디어 동기화 어플리케이션 서버 (MSAS))로서 구현될 수 있다. 동기화 클라이언트는, 동기화 상태 정보가 적절한 프로토콜을 이용해서 동기화 서버(동기화 유닛)로 보내지는 것을 가능하게 하고, 동기화 설정 지시들이 동기화 서버로부터 수신되는 것을 가능하게 하는 프로토콜 소켓을 가질 수 있다.
동기화 상태 정보는 스트림 수신에서 타이밍 정보(즉, 제1 동기화 지점에 도착하는 스트림에서 패킷의 도착시간)를 포함할 수 있고, 현재 지연 설정들을 포함할 수 있다. 그래서, 동기화 상태 정보는 스트림에서의 패킷은 동기화 지점에 의해 수신된 시간에 지점에 대한 정보를 포함할 수 있다. 동기화 설정 지시는, 예컨대 실제 계산된 지연을 이용해서 가변 지연 버퍼를 설정하는 지시들을 포함할 수 있다.
용어들, 즉 동기화 설정 지시(synchronization setting instruction) 및 지연 지시(delay instruction)는 본 발명의 목적상 등가적인 방식으로 사용된 용어들이고, 특정 미디어 스트림의 실제 지연 시간을 포함할 수 있다. 바람직하게는 이 지연 지시들은 소정의 기간 동안 미디어 스트림을 지연시키는 것과 연계된 양(positive)의 시간 값을 포함할 수 있다. 이와 달리, 지연 지시들은 미디어 스트림의 출력 또는 플레이-아웃의 속력을 증가시키는 것과 연계된 음(negative)의 시간 값을 포함할 수 있다. 이것은, 특정 동기화 지점이 큰 버퍼를 포함하고 알려진 수단들을 이용해서 버퍼링 시간을 감소시킴으로써 지연의 감소를 허용하는 경우일 수 있다.
도 4는 ETSI TS 182 027 버전 2.0.0에서 특정된 바와 같이 IMS-기반 IPTV 시스템(400)으로 구현된 본 발명에 따른 예시적인 콘텐트 전달 시스템을 도시한다. IPTV 시스템(400)은 미디어 제어 기능(MCF)(402) 및 미디어 전달 기능(MDF)(403)을 포함하는 IPTV 미디어 기능(MF)(401)을 포함한다. 나아가, 이것은 전송 기능들(TF)(404), 사용자 장비들(UE)(405), IPTV 서비스 제어 기능(SCF)(406), 및 별도의 어플리케이션 서버(AS)(407) 및 코어 IMS 네트워크(Core)(408)를 포함한다. 동기화 클라이언트(SC)(409)는 UE(405)의 일부일 수 있고, 전송 기능들(404)의 일부일 수 있다. 만일, 사용자 장비가 동기화 방법의 일부로서 스트림을 버퍼링할 수 있다면, SC는 사용자 장시에서 구현될 수 있다. 예컨대 사용자 장비가 버퍼링 기능을 지원하지 않는 경우에, SC들은 전송 네트워크에서 구현될 수도 있다. SC는 적어도 하나의 가변 지연 버퍼와 연계될 수 있고, 그래서 SC가 UE에서 구현되는 경우에, 하나 이상의 연계된 가변 지연 버퍼들(410)을 포함할 수 있다. 유사하게, 만일 SC가 전송 기능의 일부로서 구현된다면, 전송 기능을 포함하는 구성요소는 또한 하나 이상의 가변 지연 버퍼들(410)을 포함할 수도 있다. MSAS(411)의 기능은 전송 기능 또는 미디어 기능의 일부로서 표준 IPTV 서비스 제어 기능(406)에 포함될 수 있고, 또는 이와 달리, 독립형(stand-alone) 어플리케이션 서버(407) 상에서 구현될 수 있다. 미디어 스트림 변경 유닛(MSMU)(413)은 IPTV 미디어 기능(401)의 일부일 수 있다. MDF(403)는 실제 트랜스코딩을 수행할 수 있고, 한편 MCF(402)는 동기화 클라이언트(SC')(412)를 포함할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 목적지-상호간 동기화 방식(500)의 구현을 도시하는데, RTCP RTP 제어 프로토콜(RTCP)이 미디어 분배 시스템에서 구성요소들 사이의 동기화 정보를 전달하기 위해서 이용된다. 시스템은 두 개의 동기화 클라이언트들 SCa, SCb(502, 504)을 포함한다. 동기화 클라이언트들은 제1 및 제2 미디어 스트림(512, 514)과 연계된 동기화 상태 정보를 MSAS(508)로 시그널링하도록 셋업된다. 두 개의 동기화 클라이언트들은, 상이한 샘플링 레이트를 가질 수 있는 두 개의 상이한 RTP 미디어 스트림들을 수신하는 두 개의 사용자 장비들(UE) (도시하지 않음)에 존재한다. SCa에 의해 수신된 제1 미디어 스트림(512)은 미디어 스트림 시작점(즉, 미디어 서버)과 연계된 오리지널 미디어 스트림일 수 있고, SCb에 의해 수신된 제2 미디어 스트림(514)은 변경된 미디어 스트림일 수 있다. 제1 미디어 스트림을 제2 미디어 스트림으로 변경하는 미디어 스트림 변경 유닛(트랜스코더)(502)는 제1 및 제2 미디어 스트림 사이의 동기화 관계를 MSAS에 보고하는 특별한 동기화 클라이언트 SC'(510)을 포함한다.
시스템은 UE들, 미디어 스트림 변경 유닛 및 미디어 스트림 시작점 사이의 미디어 세션들을 셋업하기 위해서 SIP를 이용할 수 있다. SIP 시그널링에 의해 운반된 SDP(Session Description Protocol)은 각 세션에서 미디어 구성요소들을 기술하고 협정하기 위해서 이용될 수 있다. 셋업하는 동안, UE들 (및 미디어 스트림 변경 유닛)은 SyncGroupId과 연계될 수 있는 데, 이것은 특정 UE가 속하는 동기화 그룹을 식별시킨다.
동기화 그룹은 하나 이상의 지정된 미디어 스트림들과 관련하여 동기화될 것을 요하는 UE'들의 그룹이다. 이러한 그룹의 예는 동기화 방식으로 동일한 콘텐트 온 디맨드(Content on Demand)(영화) 보기를 요청한 두 개의 상이한 위치들에서 두 개의 상이한 사용자들에 속하는 두 개의 UE'들일 수 있다.
동기화 세션을 셋업하는 것에 대한 상세한 설명을 위하여 동작 RTCP 릴레이(Dynamic RTCP rely)라는 제목을 가진 함께 계류중인 유럽 특허 출원에 대한 참조가 만들어지고, 이 부분에서 본 출원에 참조에 의해 통합된다.
나아가, UE들 및 미디어 스트림 변경 유닛은, 특히 여기에 위치하는 동기화 클라이언트들은, MSAS와 연계된 IP 주소 및 포트 번호로 동기화 정보를 전송하고 UE와 연계된 RTCP 리시버 포트 상에서 MSAS로부터 RTCP 리포트를 수신하기 위해서 RTP 제어 프로토콜(RTCP)을 이용할 수 있다. 일 실시 예에서, 동기화 클라이언트는 RTCP XR(RTCP extended Report)을 이용하는 그것의 RTCP RR(RTCP Receiver Reports)에서 동기화 상태 정보를 포함할 수 있고, 하나 이상의 RTCP 메시지들에 있는 이 정보를 MSAS로 보낼 수 있다.
특히, 동기화 클라이언트는 동기화 상태 정보를 포함하는 특별하게 포맷된 RTCP XR(RTCP extended Report) 516,518를 생성할 수 있다. 이 정보는 NTP 타임스탬프들과 결합된 RTP 타임스탬프 형태일 수 있다. RTCP XR은 소스의 SSRC, 패킷 수신 NTP 타임스탬프, 패킷 수신 RTP 타임스탬프(RTP 수신 타임 스탬프), 및 선택적으로 SyncGroupId 파라미터를 더 포함할 수 있다. 게다가, 이것은 XR로의 패킷 표시 NTP 타임스탬프(NTP 표시 타임 스탬프)를 포함할 수 있다.
SyncGroupId 파라미터는 세션 기술 프로토콜(Session Description Protocol; SDP) 세션 레벨 속성, 예컨대 a=RTCP-xr:sync-group=<value>로서, 또는 예컨대 IETF RFC 3550에 따른 SDES PRIV 항목의 형태로 구현될 수 있다. 추가적인 실시 예에서, IETF RFC 3611로부터 알려진 RTCP-xr 속성 필드가 이용될 수 있다.
미디어 스트림 변경 유닛 SC'과 연계된 동기화 클라이언트는 동기화 코릴레이션 정보를 MSAS로 보고한다. UE들과 연계된 동기화 클라이언트들과는 대조적으로, SC'는 트랜스코더의 입력에서 하나 이상의 미디어 스트림들과 연계된 RTCP XR들과 트랜스코더의 출력에서 하나 이상의 미디어 스트림들과 연계된 RTCP XR들을 전송한다. 일반적으로, 동기화 코릴레이션 정보(520)는 두 개의 RTCP XR들, 입력 스트림과 연계된 제1 RTCP XR(522), 및 출력 스트림과 연계된 제2 RTCP XR(524)(즉, 변경된 입력 스트림)에 의해 형성된다. 그래서, 동기화 코릴레이션 정보는 두 세트의 타임스탬프들 (RTP1, NTP1) 및 (RTP2,NTP2), 즉 입력 스트림과 연계된 것과 출력 스트림과 연계된 것을 포함할 수 있다.
MSAS는 동기화 설정 지시를 포함하는 RTCP XR들을 동기화 클라이언트들(SCa, SCb)로 더 전송할 수 있다. 이 RTCP XR들은 소스의 SSRC, 참조 패킷 수신 NTP 타임스탬프, 참조 패킷 수신 RTP 타임스탬프 수신 타임 스탬프를 포함할 수 있다. 이것은 참조 패킷 표시 NTP 타임스탬프를 더 포함할 수 있다. 이 RTCP XR들은 RTCP 센더 리포트(Sender Report; SR)들에 첨부될 수도 있고 UE에 의해 개별적으로 수신될 수도 있다.
동기화 설정은 NTP 타임스탬프들과 결합된 RTP 타임스탬프의 형태일 수 있는데, NTP 타임스탬프는 예컨대 SyncGroupId에 의해 식별된 바와 같이 동기화 그룹에 의해 공유된 클럭을 가리키고, RTP 타임 스탬프는 예상 표시 시간을 가리킨다.
일 실시 예에서, 동기화 클라이언트는 MSAS과 같은 장소에 배치될 수 있다. 이 경우에, 동기화 상태 정보 및 동기화 설정 지시들의 교환은 그들이 존재하는 MSAS의 하나 이상의 기능적 개체 내부에서 일어난다.
다른 실시 예에서, 동기화는 하나 이상의 브로드캐스트(broadcast) 스트림들의 동기화와 관련된 것일 수 있다. 이 경우에, MSAS는 RFC 3550에서 더욱 상세하게 기술된 바와 같이 피드백 타겟(Feedback Target)으로 기능할 수 있다. RTCP 리시버 리포트(Receiver Report)들을 포워딩하기 전에, MSAS는 동기화 상태 정보를 포함하는 RTCP XR(RTCP extended Report)를 읽고 제거할 수 있다. MSAS는 이어서 RTCP XR(RTCP extended Report)를 이용하여 동기화 클라이언트로 동기화 설정 지시를 보낼 수 있다.
콘텐트 온 디멘드 또는 다른 유니캐스트(unicast) 스트림들의 동기화의 경우에, MSAS는 하나 이상의 UE들과 연계된 RTCP 리시버 리포트를 적절한 미디어 기능 MF로 포워딩할 수 있다. RTCP 리시버 리포트들을 포워딩하기 전에, MSAS는 RTCP XR를 읽고 분석하여, 동기화 상태 정보를 포함하는 RTCP XR(RTCP extended Report)를 제거할 수 있다. MSAS는 이어서 적절한 동기화 클라이언트들로 RTCP 센더 리포트들을 포워딩하고, RTCP XR(RTCP extended Report)을 이용하여 SC에 동기화 설정 지시들을 부착한다. MSAS는 별도의 RTCP XR를 이용하여 동기화 클라이언트들에 동기화 설정 지시들을 보낼 수 있다. 도 6은 본 발명의 일 실시 예에 따라 RTP 미디어 스트림 상에서 동기화 정보를 보고하기 위한 예시적인 RTCP XR(RTCP extended Report)를 도시한다. 동기화 RTCP XR에서 다음의 필드들은 본 발명에 따른 동기화 방식에서 이용될 수 있다:
- 특정 RTCP 패킷의 센더를 식별하는 패킷 센더의 SSRC.
- 블록 포맷을 식별하기 위해 8 비트를 포함하는 블록 타입(Block Type; BT) 필드.
- 특정 확장 리포트를 위한 패킷 센더의 역할을 식별하기 위해 4 비트를 포함하는 동기화 패킷 센더 타입(Synchronisation Packet Sender Type; SPST) 필드.
- 패킷 표시 NTP 타임스탬프가 값을 가지고 있다면 1로 설정될 수 있는 패킷 표시 NTP 타임스탬프 플랙(P). 만일 플랙이 0으로 설정되면, 패킷 표시 NTP 타임스탬프가 검사되지 않을 것이다.
- 미디어 패이로드의 포맷을 식별하기 위해 7 비트를 포함하는 패이로드 타입(Payload Type; PT) 필드. 미디어 패이로드는 RTP 타임스탬프 클럭 속도(clock rate)와 연계될 수 있고, 이것은 RTP 타임스탬프 카운터를 위한 시간 기초를 제공한다.
- 동기화된 미디어 스트림들의 상관관계를 보여주기 위해 이용되기 위한 미디어 스트림 코릴레이션 식별자(32 비트). 만일, RTCP 패킷 센더가 SC 또는 MSAS (SPST=I 또는 SPST=2)이면, 미디어 스트림 코릴레이션 식별자는 SyncGroupId 상에 매핑된다. 만일, RTCP 패킷 센더가 SC(SPST=3 또는 SPST=4)이면, 관련된 들어오고 나가는 미디어 스트림들은 동일한 미디어 스트림 코릴레이션 식별자를 가질 수 있다.
- 미디어 소스(32 비트)의 SSRC는 XR이 관련된 RTP 패킷의 RTP 헤더 내에서 운반된 SSRC 식별자의 값으로 설정될 수 있다.
- 패킷 수신 NTP 타임스탬프(64 비트)는 XR이 관련된 RTP 패킷의 제1 옥텟의 도착시간을 나타낼 수 있다.
- 패킷 수신 RTP 타임스탬프(32 비트)는 XR이 관련된 RTP 패킷의 RTP 헤더 내에서 운반된 RTP 타임 스탬프의 값과 연계된다.
- 패킷 표시 NTP 타임스탬프(32 비트)는 연계된 RTP 패킷의 제1 옥텟에 포함된 데이터가 사용자에게 표시될 수 있는 NTP 시간을 반영한다. 이것은 NTP 초 부분의 가장 덜 중요한 16 비트 및 NTP 소수 초 부분의 가장 중요한 16 비트를 포함한다. 만일, 이 필드가 비었다면, 이것은 0으로 설정될 수 있고, 패킷 표시 NTP 타임스탬프 플랙(P)은 0으로 설정될 수 있다.
표 1은 동기화 패킷 센더 타입(SPST) 필드와 연계된 값들을 도시한다:
SPST 값
패킷 센더의
역할
세부사항
0 예약된
(reserved)
미래에 이용하기 위함.
1 SC 패킷 센더는 동기화 상태 정보를 보고하기 위해서 이 XR을 이용한다. 타임스탬프들은 SC 입력과 관련이 있다.
2 MSAS 패킷 센더는 동기화 설정 지시를 보고하기 위해서 이 XR을 이용한다. 타임스탬프들은 버추얼 SC의 입력과 관련이 있으며, 이것은 이 MSAS에 연결된 SC들이 어느 것에 동기화되는지에 대한 참조로서 기능한다.
3 SC' 입력 패킷 센더는 SC'의 들어오는 미디어 스트림과 관련이 있는 동기화 코릴레이션 정보를 보고하기 위해서 이 XR을 이용한다. 타임스탬프들은 SC' 입력과 관련이 있다.
4 SC' 출력 패킷 센더는 SC'의 나가는 미디어 스트림과 관련이 있는동기화 코릴레이션 정보를 보고하기 위해서 이 XR을 이용한다. 타임스탬프들은 SC' 입력과 관련이 있다.
5-15 예약된
(reserved)
미래에 이용하기 위함.
도 6을 참조로 설명된 바와 같이 특별하게 포맷된 RTCP XR(RTCP extended Report)을 이용하기 때문에, 동기화 정보는 네트워크 내의 클라이언트들 또는 하나 이상의 UE들과 MSAS 사이에서 효율적으로 시그널링될 수 있다. 예를 들어, 도 5에서 도시된 시스템에서, UE들과 연계된 동기화 클라이언트들 SCa, SCb(504, 506) 및 미디어 스트림 변경 유닛과 연계된 동기화 클라이언트 SC'(510)은 MSAS에 동기화 정보(즉, 동기화 상태 정보 또는 동기화 코릴레이션 정보)를 보고하기 위해 RTCP XR을 이용할 수 있다. 표 2는 이러한 정보의 예를 제공한다:
제1 인커밍 미디어 스트림에 대한 SCa 리포트들 제2 인커밍 미디어 스트림에 대한 SCb 리포트들 제1 인커밍(들어오는) 미디어 스트림과 제2 아웃고잉(나가는) 미디어 스트림에 대한 SC' 리포트들
SSRC: SSRCa
클럭 속도: CRa
NTP 타임스탬프: NTPa
RTP 타임스탬프: RTPa
SSRC: SSRCb
클럭 속도: CRb
NTP 타임스탬프: NTPb
RTP 타임스탬프: RTPb
SSRC: SSRCl
클럭 속도: CRl
NTP 타임스탬프: NTP1
RTP 타임스탬프: RTP1
SSRC: SSRC2
클럭 속도: CR2
NTP 타임스탬프: NTP2
RTP 타임스탬프: RTP2
미디어 스트림들은 그들의 동기화 소스(SSRC 식별자)에 의해 식별될 수 있다: SSRCa=SSRCl 및 SSRCb=SSRC2. 이런 식으로, MSAS는 SCa가 제1 미디어 스트림을 수신하고 SCb가 제2 미디어 스트림을 수신한다는 것을 이끌어낼 수 있다. 나아가, 각각의 미디어 스트림은 Hz(즉, 초당 클럭 틱스(clock ticks per second))로 표현될 수 있는 특정 클럭 속도와 연계될 수 있다: CRa=CRl 및 CRb=CR2. 전형적인 클럭 속도들은 비디오에 대해서 초당 90.000 샘플 및 오디오에 대해서 초당 8000 및 96000 샘플 사이의 범위 내에 있다.
일 실시 예에서 클럭 속도는 MSAS로 시그널링될 수 있다. 다른 실시 예에서, 이 속도는 일정하다. 또 다른 실시 예에서, 클럭 속도 대신 패이로드 타입이 MSAS로 시그널링될 수 있다. 패이로드 타입은 예컨대 IETF RFC 3551에서 기술된 방식들을 이용하여 클럭 속도에 매핑될 수 있다. MSAS에 보고된 정보는 RTP 타임스탬프 및 NTP 타임스탬프 양쪽 모두를 포함할 수 있다.
SC'는 두 세트의 타임스탬프들 (RTP1, NTP1) 및 (RTP2,NTP2)을, 각각의 미디어 스트림에 대해 하나씩, MSAS로 보고한다. NTP1은 RTP1에 의해 식별된 옥텟이 SC'에서 특정 지점을 지나간 시간을 나타내고, NTP2는 RTP2에 의해 식별된 옥텟이 SC'에서 특정 지점을 지나간 시간을 나타낸다. 트랜스 코딩 및 클럭 속도 변화에 기인하여 상이한 옥텟들이 전형적으로 존재한다. 식별된 옥텟에 의해 나타내어진, 콘텐트에서의 지점이 특정 지점을 지나가는 때를 결정하기 위하여, SC'는 NTP1 및 NTP2을 결정하기 위한 계산을 해야한다.
MSAS는 SCa 및 SCb의 플레이-아웃 사이의 차를 밀리세컨드로 결정하기 위하여 이 알고리즘을 이용할 수 있다: Playout SCa - Playout SCb = (NTPa - (RTPa/CRa) - (NTPb - (RTPb/CRb) - (NTP1 - (RTP1/ CRl) + (NTP2 - (RTP2/CR2). 이 결과는, 충분히 동기화된 플레이아웃들을 가지기 위해서, 특정 양만큼 그 플레이-아웃을 지연하도록 SCa 또는 SCb을 지시하기 위하여 이용될 수 있다.
표 3에서의 예에서의 파라미터들을 이용하는 것은, SCb가 SCa보다 5.493초 늦게 플레이아웃한다는 것을 가리키는 -5.493초의 지연(플레이아웃 SCa - 플레이아웃 SCb)을 낳는다. 그래서, 이러한 계산을 기초로 하여, MSAS는 상당히 동기화되도록 SCa에게 5.493초 만큼 그 출력을 지연하라고 지시할 수 있다.
파라미터 단위
CRa=CR1 86000 Hz
CRb=CR2 8000 Hz
NTPa 3439700021.000 Sec
RTPa 1556688423 Samples
NTPb 3439700020.300 Sec
RTPb 3574215512 Samples
NTP1 3439700022.500 Sec
RTP1 1556333112 Samples
NTP2 3439700021.000 Sec
RTP2 3574223444 Samples
도 7은 본 발명의 다른 실시 예에 따라서 미디어 스트림을 동기화하기 위한 RTCP XR 메시지들의 이용을 도시한다. 이 예에서, 하나의 단일한 인코딩 장치(702)는 복수의 미디어 스트림 변경 유닛들을 포함할 수 있다. 인코딩 장치는 복수의 들어오는 미디어 스트림들(708, 710) 및 나가는 미디어 스트림들(712-716)과 연계될 수 있고, 이들은 단일한 동기화 클라이언트 SC'(704)에 의해서 동기화될 수 있다.
각각의 들어오는 미디어 스트림 Al, B4,...에 대해서 그리고 각각의 나가는 미디어 스트림 A2,A3,B5,...에 대해서, 동기화 클라이언트 SC는 RTCP XR들(718-724)을 MSAS(706)에 보낼 수 있다. 그래서, 이 실시 에에서, 동기화 코릴레이션 정보는 두 개의 RTCP XR들로 MSAS에 보내진다: 들어오는 미디어 스트림(708, 710)과 연계된 제1 RTCP XR(724, 726) 및 나가는 미디어 스트림(712-716)과 연계된 제2 RTCP XR(718-722).
이러한 시그널링 방식은 RTCP XR들이 상이한 시간에 상이한 레이트(rate)로 독립적으로 MSAS에 보내질 수 있다는 이점을 가진다. 만일, 하나의 미디어 스트림이 더 일정한 시간 참조를 가진다면, 그 동기화 코릴레이션 정보는 정기적으로 덜 갱신될 수 있어서 처리 시간 및 대역폭을 절약할 수 있다. 게다가, 만일 하나의 들어오는 미디어 스트림이 다수의 상이한 나가는 미디어 스트림으로 트랜스코딩된다면, 들어오는 미디어 스트림에 관한 동기화 코릴레이션 정보의 일부가 단지 한 번 측정되어 보내져야 하고, 이로써 처리 시간 및 대역폭을 절약한다.
하지만, MSAS가 동기화 코릴레이션 정보의 어느 부분이 관련이 있는 것인지 알지 못하기 때문에, 동기화 코릴레이션 정보의 상이한 부분들(RTCP XR들)을 독립적으로 보내는 것은 문제가 있을 수 있다. 이러한 경우에, MSAS가 코릴레이션 정보의 어느 부분들이 함께 속하는 것인지를 결정하는 것은 가능하지 않다.
이러한 이유로, 동기화 클라이언트 SC'는, MSAS가 트랜스코딩 장치의 입력 및 출력에서 상이한 미디어 스트림들의 상관관계를 보여주고 MSAS에 의해 수신된 상이한 RTCP XR들로부터 올바른 동기화 코릴레이션 정보를 이끌어 내도록 하기 위하여 미디어 스트림 코릴레이션 식별자(MSCI)를 생성한다. 예를 들어, 도 7에서, MSAS는 미디어 스트림(710)과 연계된 RTCP XR(726)과 (변경된) 미디어 스트림(712)과 연계된 제1 RTCP XR(718) 및 (변경된) 미디어 스트림(714)과 연계된 제2 RTCP XR(720)과의 상관관계를 보여주기 위해 MSCIA를 이용할 수 있다. 이러한 방식으로, 복수의 변경된 미디어 스트림들의 효율적인 동기화가 달성될 수 있다는 점이 주목된다. 상이한 관련 스트림들 사이의 동기화는 상이한 능력을 가진 상이한 플레이-아웃 장치들을 이용해서 동시에 동일한 방송을 경험하길 원하는 상이한 사용자들에게 이익이 있을 뿐 아니라, 상이한 관련 스트림들을 전송하는 둘 이상의 네트워크들 사이에서 스위칭하는 단일 사용자에게도 이익이 있을 수 있다. 이러한 스위칭은 예컨대 사용자가 불량한 커버리지(bad coverage)를 가진 모바일 네트워크를 이용할 때 발생할 수 있다. 만일, 사용자가 네트워크에 대한 자신의 커넥션을 느슨하게 한다면, 그는 다른 네트워크, 예컨대 향상된 커버리지를 가진 다른 모바일 네트워크로 스위칭하길 원하는 것일 수 있다. 이러한 네트워크 스위칭의 예는 DVB-H(Digital Video Broadcast - Handheld) 네트워크 및 UMTS-네트워크 사이의 스위칭일 수 있다. 스위칭은 또한 모바일 네트워크 및 고정된 네트워크 사이에서, 예컨대 모바일 네트워크를 통해서 비디오 스트림을 보는 사용자가 집에 와서 고정된 네트워크에 연결된 자신의 대형-스크린 텔레비전상에서 계속 감상하길 원할 때 발생할 수 있다. 상이한 관련 스트림들 사이에서 지연들을 없애는 것은 그 결과 매끄러운 네트워크 전환 및 향상된 사용자 경험을 제공할 수 있다.
임의의 일 실시 예와 관련하여 설명된 임의의 특징은 단독으로 또는 설명된 다른 특징들과 조합하여 이용될 수 있고, 임의의 다른 실시 예들 또는 임의의 다른 실시 예들의 임의의 조합의 하나 이상의 특징들과 조합하여 이용될 수도 있다. 게다가, 상술하지 않은 등가물들 및 변경들 또한 첨부된 청구항에서 정의된 본 발명의 범위로부터 벗어나지 않고 채용될 수 있다.
예를 들어, 본 발명에 따른 동기화 방법은 예컨대 전체 네트워크에서 또는 그 일부에서 동작하는, 또는 네트워크를 통과해 가는 모든 스트림들에서 또는 특정 스트림들에서만 동작하는 연속적인 프로세스로서 구현될 수 있다. 나아가, 연속적인 동작은 모든 동기화 지점들에 또는 특정 동기화 지점들에만 영향을 줄 수 있다. 본 방법은 이러한 연속적인 방식으로 동작하도록 시스템을 구성함으로써 구현될 수 있다.
이와 달리, 본 방법은 예컨대 클라이언트-서버 타입 모델을 이용해서 세션-타입 동기화 프로세스로서 구현될 수 있다. 동기화 세션들은 예컨대 네트워크 내에서 특정 트리거(trigger)들을 통해서 개시되거나 종결될 수 있다. 동기화 세션을 개시하거나 종결하기 위한 트리거들은 예컨대 동기화 지점들에 의해서 또는 네트워크 또는 시스템 내의 다른 구성요소들에 의해서 제공될 수 있다.
일 실시 예에서, 동기화 서버 및 동기화 클라이언트는 동기화 세션들을 개시하고 종결하도록 구성될 수 있다. 동기화 세션은 동기화 클라이언트가 초대 메시지(invitation message)를 동기화 서버로 보내거나 그 반대의 경우에 개시될 수 있다. 동기화 세션 동안, 동기화 서버 및 동기화 클라이언트는 동기화 상태 정보 및 동기화 설정 지시들을 교환할 수 있다. 동기화 세션은 동기화 클라이언트가 종결 메시지(termination message)를 동기화 서버로 보내거나 그 반대의 경우에 종결될 수 있다. 동기화 서버 및 동기화 클라이언트는 동기화 세션에 대한 초대를 수락하거나 동기화 세션의 종결을 컨펌하기 위한 리턴 메시지(return message)를 보낼 수 있다.

Claims (21)

  1. 적어도 제1 스트림 및 적어도 제2 스트림의 목적지-상호간 동기화를 위한 방법으로서, 상기 제2 스트림이 상기 제1 스트림을 입력 스트림으로 이용하는 미디어 스트림 변경 유닛의 출력 스트림과 연계되고, 상기 방법은:
    - 제1 동기화 지점에서 도착하는 제1 스트림에서의 패킷의 제1 도착시간 정보 및 제2 동기화 지점에서 도착하는 제2 스트림에서의 패킷의 제2 도착시간 정보를 제공하는 단계;
    - 상기 입력 스트림 및 상기 출력 스트림 사이의 동기(synchronicity) 관계에 대한 동기화 코릴레이션 정보를 제공하는 단계;
    - 제1 및 제2 도착시간 정보 및 동기화 코릴레이션 정보를 기초로 하여 지연 정보를 계산하는 단계를 포함하는 것을 특징으로 하는 동기화를 위한 방법.
  2. 제 1 항에 있어서,
    - 제1 및 제2 동기화 지점 각각에 의해 출력된 제1 및 제2 스트림들이 실제 동기화되도록, 적어도 상기 제1 및 제2 동기화 지점에 상기 지연 정보를 제공해서, 적어도 상기 제1 및 제2 동기화 지점이 스트림의 출력을 지연시키는 단계를 더 포함하는 것을 특징으로 하는 동기화를 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제1 및 제2 스트림은 적어도 상기 제1 및 제2 동기화 지점들에 의해서 출력되고, 상기 동기화 지점들은 상기 동기화 지점들을 동기화하기 위한 적어도 하나의 동기화 유닛에 연결된 것을 특징으로 하는 동기화를 위한 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 지연 정보를 계산하는 단계는 제1 도착시간 정보 및 제2 도착시간 정보 사이에서 공통 타임라인을 달성하기 위해 제1 및/또는 제2 도착시간 정보를 조정하기 위한 조정 단계를 더 포함하고, 상기 조정 단계는 동기화 코릴레이션 정보의 적어도 일부를 기초로 하는 것을 특징으로 하는 동기화를 위한 방법.
  5. 제 4 항에 있어서,
    상기 조정 단계는 도착시간 정보 조정 모듈에 의해서 수행되고, 상기 모듈은 동기화 유닛의 일부이고, 동기화 유닛에는 동기화 코릴레이션 정보의 적어도 일부가 제공되는 것을 특징으로 하는 동기화를 위한 방법.
  6. 제 4 항에 있어서,
    상기 조정 단계는 동기화 지점에서 수행되고, 동기화 지점은 도착시간 정보 조정 모듈을 포함하고, 도착시간 정보 조정 모듈에는 동기화 코릴레이션 정보의 적어도 일부가 제공되고, 동기화 유닛에는 조정된 제2 도착시간 정보가 제공되는 것을 특징으로 하는 동기화를 위한 방법.
  7. 제 4 항에 있어서,
    상기 조정 단계는 네트워크 구성요소에서 수행되고, 네트워크 구성요소는 도착시간 정보를 수신하도록 구성되고, 네트워크 구성요소는 도착시간 정보 조정 모듈을 더 포함하고, 도착시간 정보 조정 모듈에는 동기화 코릴레이션 정보의 적어도 일부가 제공되고, 동기화 유닛에는 조정된 제2 도착시간 정보가 제공되는 것을 특징으로 하는 동기화를 위한 방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 동기화 지점은 터미널, 네트워크 노드, 또는 액세스 노드인 것을 특징으로 하는 동기화를 위한 방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 스트림 변경 유닛은 적어도 제1 미디어 스트림을 수신하고 처리하기 위한 미디어 스트림 처리 장치이고, 상기 처리는 상기 제1 미디어 스트림에서 타이밍 정보를 변경하는 것을 특징으로 하는 동기화를 위한 방법.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 동기화 유닛은 동기화 지점 또는 네트워크 노드에 포함되는 것을 특징으로 하는 동기화를 위한 방법.
  11. 제 1 항 또는 제 2 항에 있어서,
    상기 도착시간 정보, 상기 동기화 코릴레이션 정보 및/또는 상기 지연 정보는 하나 이상의 RTCP 메시지에서 시그널링되는 것을 특징으로 하는 동기화를 위한 방법.
  12. 제 11 항에 있어서,
    상기 RTCP 메시지들의 적어도 하나는 패킷의 센더(sender)를 식별하기 위한 적어도 하나의 식별자, RTP 타임스탬프, NTP 타임스탬프, 클럭 속도값 및/또는 미디어 스트림 코릴레이션 식별자를 포함하는 것을 특징으로 하는 동기화를 위한 방법.
  13. 적어도 제1 미디어 스트림을 수신하는 제1 동기화 지점 및 제2 미디어 스트림을 수신하는 제2 동기화 지점의 출력을 동기화하기 위한 동기화 유닛으로서, 상기 제2 스트림이 상기 제1 스트림을 입력 스트림으로 이용하는 미디어 스트림 변경 유닛의 출력 스트림이고, 상기 동기화 유닛은:
    - 제2 동기화 지점에 도착하는 제2 스트림에서의 패킷의 제2 도착시간 정보 및 제1 동기화 지점과 연계된 스트림에서의 패킷과 연계된 제1 타이밍 정보를 수신하기 위한 제1 입력;
    - 상기 입력 스트림 및 상기 출력 스트림 사이의 동기 관계에 관한 동기화 코릴레이션 정보를 수신하기 위한 제2 입력; 및
    - 제1 및 제2 도착시간 정보, 및 동기화 코릴레이션 정보를 기초로 하여 지연 정보를 계산하기 위한 프로세서를 포함하는 것을 특징으로 하는 동기화 유닛.
  14. 제 13 항에 있어서,
    - 실제 동기화되도록 하기 위해서, 제1 및 제2 동기화 지점들에서의 하나 이상의 가변 지연 유닛이 수신된 스트림들의 출력 시간을 지연시키도록 하는 지연 정보를 제1 및 제2 동기화 지점에 보내기 위한 출력을 더 포함하는 것을 특징으로 하는 동기화 유닛.
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 도착시간 정보, 상기 동기화 코릴레이션 정보 및/또는 상기 지연 정보는 하나 이상의 RTCP 메시지에서 시그널링되는 것을 특징으로 하는 동기화 유닛.
  16. 적어도 제1 및 제2 동기화 지점의 출력의 목적지-상호간 동기화를 위한 시스템으로서, 상기 시스템은;
    - 미디어 스트림을 전달하기 위한 콘텐트 전달 서버;
    - 입력 미디어 스트림을 변경된 출력 미디어 스트림으로 변경하도록 구성되고, 상기 입력 스트림 및 상기 출력 스트림 사이의 동기 관계에 대한 동기화 코릴레이션 정보를 제공하도록 구성된 스트림 변경 유닛;
    - 제 13 항 또는 제 14 항에 따른 적어도 하나의 동기화 유닛을 포함하는 것을 특징으로 하는 시스템.
  17. 제 16 항에 따른 시스템에서 이용하기 위한 터미널로서, 상기 터미널은:
    - 스트림 변경 유닛으로부터 동기화 코릴레이션 정보를 수신하기 위한 제1 입력;
    - 스트림에서의 패킷의 도착시간 정보를 동기화 유닛으로 전송하기 위한 출력;
    - 적어도 하나의 가변 지연 유닛; 및
    - 상기 터미널이 스트림의 출력을 지연시키게 하는 적어도 하나의 가변 지연 유닛을 위한 지연 정보를 수신하기 위한 제2 입력을 포함하는 것을 특징으로 하는 터미널.
  18. 제 16 항에 따른 시스템에서 이용하기 위한 미디어 스트림 변경 유닛으로서, 상기 미디어 스트림 변경 유닛은 미디어 스트림 변경 유닛에 의해 입력 스트림으로서 이용된 제1 미디어 스트림과, 제1 미디어 스트림을 입력 스트림으로서 이용하는 미디어 스트림 변경 유닛의 출력 스트림인 제2 스트림 사이의 동기 관계와 연계된 동기화 코릴레이션 정보를 제공하기 위한 수단을 포함하는 것을 특징으로 하는 미디어 스트림 변경 유닛.
  19. 제 16 항에 따른 시스템에서 이용하기 위한 네트워크 구성요소로서, 상기 네트워크 구성요소는 도착시간 정보 조정 모듈을 포함하고, 상기 모듈은 동기화 코릴레이션 정보를 기초로 하여 동기화 지점에 의해서 수신된 변경된 스트림에서의 패킷의 도착시간 정보를 조정하도록 배열된 것을 특징으로 하는 네트워크 구성요소.
  20. 컴퓨터의 메모리에서 실행될 때, 제 1 항 또는 제 2 항에서 정의된 바와 같은 방법의 단계들을 수행하도록 구성된 소프트웨어 코드 부분들을 기록한 컴퓨터 판독가능한 매체.
  21. 삭제
KR1020117024003A 2009-03-16 2010-03-16 변경된 스트림 동기화 KR101291990B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP09003751 2009-03-16
EP09003751.6 2009-03-16
EP09015266 2009-12-09
EP09015266.1 2009-12-09
PCT/EP2010/053407 WO2010106075A1 (en) 2009-03-16 2010-03-16 Modified stream synchronization

Publications (2)

Publication Number Publication Date
KR20110125674A KR20110125674A (ko) 2011-11-21
KR101291990B1 true KR101291990B1 (ko) 2013-08-09

Family

ID=42045454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117024003A KR101291990B1 (ko) 2009-03-16 2010-03-16 변경된 스트림 동기화

Country Status (7)

Country Link
US (1) US20120036277A1 (ko)
EP (1) EP2409432B1 (ko)
JP (1) JP5284534B2 (ko)
KR (1) KR101291990B1 (ko)
CN (1) CN102356619B (ko)
ES (1) ES2801698T3 (ko)
WO (1) WO2010106075A1 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218452B2 (en) * 2009-06-30 2012-07-10 Alcatel Lucent Network detection of real-time applications using incremental linear regression
US8458362B2 (en) 2010-09-30 2013-06-04 Comcast Cable Communications, Llc Delivering content in multiple formats
TW201225701A (en) * 2010-11-18 2012-06-16 Interdigital Patent Holdings Method and apparatus for inter-user equipment transfer
CN102137275B (zh) * 2010-12-20 2012-12-19 华为技术有限公司 快速频道切换中快速推送单播流的方法和装置
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US8677029B2 (en) 2011-01-21 2014-03-18 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) * 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
EP2702740B1 (en) * 2011-04-28 2020-07-22 VoIPFuture GmbH Correlation of media plane and signaling plane of media services in a packet-switched network
US9900577B2 (en) * 2011-08-10 2018-02-20 Electronics And Telecommunications Research Institute Apparatus and method for providing content for synchronizing left/right streams in fixed/mobile convergence 3DTV, and apparatus and method for playing content
US9380327B2 (en) 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
JP5903924B2 (ja) * 2012-02-17 2016-04-13 ソニー株式会社 受信装置および字幕処理方法
KR101917174B1 (ko) 2012-02-24 2018-11-09 삼성전자주식회사 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치
US9055346B2 (en) 2012-05-18 2015-06-09 Google Technology Holdings LLC Array of transcoder instances with internet protocol (IP) processing capabilities
EP2850840A1 (en) * 2012-05-18 2015-03-25 Google Technology Holdings LLC Array of transcoder instances with internet protocol (ip) processing capabilities
US9246692B2 (en) 2012-05-18 2016-01-26 Google Technology Holdings LLC Synchronizing multiple transcoding devices utilizing simultaneity of receipt of multicast packets
EP2670157B1 (en) 2012-06-01 2019-10-02 Koninklijke KPN N.V. Fingerprint-based inter-destination media synchronization
US9883361B2 (en) 2012-07-27 2018-01-30 Qualcomm Incorporated Delivering time synchronized arbitrary data in an RTP session
US9226011B2 (en) 2012-09-11 2015-12-29 Comcast Cable Communications, Llc Synchronizing program presentation
US10356143B2 (en) * 2012-10-10 2019-07-16 Samsung Electronics Co., Ltd. Method and apparatus for media data delivery control
CN103139608B (zh) * 2013-01-21 2016-03-30 北京酷云互动科技有限公司 远程媒体播放信号时延的检测方法及检测系统
JP2014230154A (ja) * 2013-05-23 2014-12-08 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US20140365685A1 (en) * 2013-06-11 2014-12-11 Koninklijke Kpn N.V. Method, System, Capturing Device and Synchronization Server for Enabling Synchronization of Rendering of Multiple Content Parts, Using a Reference Rendering Timeline
EP3020204B1 (en) * 2013-07-09 2022-04-27 Koninklijke KPN N.V. Synchronized data processing between receivers
US10694264B2 (en) 2013-09-20 2020-06-23 Koninklijke Kpn N.V. Correlating timeline information between media streams
US9860581B2 (en) 2013-09-20 2018-01-02 Koninklijke Kpn N.V. Correlating timeline information between media streams
JP6349977B2 (ja) * 2013-10-21 2018-07-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
WO2015086063A1 (en) * 2013-12-11 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Method and system for synchronizing media streams
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
CN104811824B (zh) * 2014-01-29 2018-05-04 上海数字电视国家工程研究中心有限公司 多媒体传输网络系统
WO2015129181A1 (ja) * 2014-02-28 2015-09-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 音声通信端末、中間ノード、処理装置、接続方法およびプログラム
US9794313B2 (en) * 2014-05-09 2017-10-17 Cisco Technology, Inc. Methods and systems to facilitate synchronization of multiple media streams
US9774687B2 (en) * 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
CN105554044B (zh) * 2014-10-28 2019-01-15 国际商业机器公司 在本地对象存储节点中同步对象的方法及装置
WO2016099351A1 (en) * 2014-12-17 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Communication network nodes and methods performed therein
EP3238456A1 (en) * 2014-12-22 2017-11-01 Koninklijke KPN N.V. Quality of media synchronization
US10484447B2 (en) 2014-12-24 2019-11-19 Ribbon Communications Operating Company, Inc. Methods and apparatus for communicating delay information and minimizing delays
US9398165B2 (en) * 2015-05-08 2016-07-19 Bandwidth.Com, Inc. Optimal use of multiple concurrent internet protocol (IP) data streams for voice communications
US11212333B1 (en) * 2015-05-29 2021-12-28 Ribbon Communications Operating Company, Inc. Methods and apparatus for synchronizing transcoded and/or transrated RTP packets
KR101656871B1 (ko) * 2015-08-18 2016-09-13 광운대학교 산학협력단 미디어 데이터 스트림을 동기화시키기 위한 방법, 동기화 서버 및 컴퓨터 판독 가능한 기록매체
US11259074B2 (en) * 2016-09-08 2022-02-22 Sony Corporation Information processing device, and information processing method, and program
US20180146222A1 (en) * 2016-11-23 2018-05-24 Akamai Technologies, Inc. Systems and methods for demultiplexing and multiplexing multimedia streams that have spurious elementary streams
JP2018164294A (ja) * 2018-06-20 2018-10-18 マクセル株式会社 放送番組の視聴予約および映像デコードの制御方法
US11032367B2 (en) * 2018-07-16 2021-06-08 Microsoft Technology Licensing, Llc Long upload time detection and management
KR20210097285A (ko) 2020-01-30 2021-08-09 삼성전자주식회사 이동통신 네트워크의 미디어 처리 및 전송에 대한 지연을 할당하기 위한 장치와 방법
US11316912B2 (en) * 2020-05-26 2022-04-26 Grass Valley Canada System and method for synchronizing transmission of media content using timestamps
CN113473162B (zh) * 2021-04-06 2023-11-03 北京沃东天骏信息技术有限公司 一种媒体流的播放方法、装置、设备和计算机存储介质
CN117676219A (zh) * 2022-08-29 2024-03-08 华为技术有限公司 一种数据传输方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040071715A (ko) * 2001-12-11 2004-08-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 콘텐츠에 기초하여 비트 스트림으로부터 표시를동기화하는 장치 및 방법
US20080137690A1 (en) 2006-12-08 2008-06-12 Microsoft Corporation Synchronizing media streams across multiple devices

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360271B1 (en) * 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
US6493872B1 (en) * 1998-09-16 2002-12-10 Innovatv Method and apparatus for synchronous presentation of video and audio transmissions and their interactive enhancement streams for TV and internet environments
US7200857B1 (en) * 2000-06-09 2007-04-03 Scientific-Atlanta, Inc. Synchronized video-on-demand supplemental commentary
US6724825B1 (en) * 2000-09-22 2004-04-20 General Instrument Corporation Regeneration of program clock reference data for MPEG transport streams
US7114173B2 (en) * 2002-05-03 2006-09-26 Aol Time Warner Interactive Video Group, Inc. Technique for synchronizing deliveries of information and entertainment in a communications network
US7084898B1 (en) * 2003-11-18 2006-08-01 Cisco Technology, Inc. System and method for providing video conferencing synchronization
JP2005244605A (ja) * 2004-02-26 2005-09-08 Nippon Telegr & Teleph Corp <Ntt> ストリーミングコンテンツ配信制御システム、プログラム及び該プログラムを格納した記録媒体
US8606949B2 (en) * 2005-04-20 2013-12-10 Jupiter Systems Interconnection mechanism for multiple data streams
DE102005039366B4 (de) * 2005-06-24 2008-10-09 Infineon Technologies Ag Telekommunikations-Endgerät, Telekommunikationssystem, Telekommunikationssitzungs-Servereinheit, Verfahren zum Erzeugen und Senden einer Telekommunikationssitzungs-Nachricht, Verfahren zum Verwalten einer Telekommunikationssitzungs-Nachricht, Computerlesbare Speichermedien und Computerprogrammelemente
CN100442858C (zh) * 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
US20100169786A1 (en) * 2006-03-29 2010-07-01 O'brien Christopher J system, method, and apparatus for visual browsing, deep tagging, and synchronized commenting
CN101179484A (zh) * 2006-11-09 2008-05-14 华为技术有限公司 一种不同媒体流间的同步方法及系统
US8301790B2 (en) * 2007-05-30 2012-10-30 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
US20080320545A1 (en) * 2007-06-22 2008-12-25 Schwartz Richard T System and method for providing audio-visual programming with alternative content
US20080317439A1 (en) * 2007-06-22 2008-12-25 Microsoft Corporation Social network based recording
US7936790B2 (en) * 2007-08-30 2011-05-03 Silicon Image, Inc. Synchronizing related data streams in interconnection networks
WO2009053072A1 (en) * 2007-10-23 2009-04-30 Koninklijke Kpn N.V. Method and system for synchronizing a group of end-terminals
EP2255541B1 (en) * 2008-02-29 2012-11-28 Audinate Pty Ltd Network devices, methods and/or systems for use in a media network
US20090257455A1 (en) * 2008-04-15 2009-10-15 Tellabs Operations, Inc. Method and apparatus for synchronizing timing of signal packets
US8141115B2 (en) * 2008-12-17 2012-03-20 At&T Labs, Inc. Systems and methods for multiple media coordination
US8606953B2 (en) * 2010-10-04 2013-12-10 Dialogic Corporation Adjusting audio and video synchronization of 3G TDM streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040071715A (ko) * 2001-12-11 2004-08-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 콘텐츠에 기초하여 비트 스트림으로부터 표시를동기화하는 장치 및 방법
US20080137690A1 (en) 2006-12-08 2008-06-12 Microsoft Corporation Synchronizing media streams across multiple devices
KR20090095643A (ko) * 2006-12-08 2009-09-09 마이크로소프트 코포레이션 입력 오디오 스트림 및 입력 비디오 스트림을 동기화하는 방법, 복수의 컴퓨팅 장치에 걸쳐서 전송되고 있는 미디어 스트림들을 동기화하기 위한 시스템, 및 컴퓨터 판독가능 매체

Also Published As

Publication number Publication date
ES2801698T3 (es) 2021-01-12
CN102356619A (zh) 2012-02-15
JP2012520648A (ja) 2012-09-06
EP2409432B1 (en) 2020-05-06
JP5284534B2 (ja) 2013-09-11
EP2409432A1 (en) 2012-01-25
KR20110125674A (ko) 2011-11-21
WO2010106075A1 (en) 2010-09-23
CN102356619B (zh) 2016-11-09
US20120036277A1 (en) 2012-02-09

Similar Documents

Publication Publication Date Title
KR101291990B1 (ko) 변경된 스트림 동기화
JP5635626B2 (ja) メディア・ストリームの同期のための方法、システム及び装置
US9237179B2 (en) Method and system for synchronizing the output of terminals
EP2832109B1 (en) Marker-based inter-destination media synchronization
JP6317872B2 (ja) 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法
US11758209B2 (en) Video distribution synchronization
US8776144B2 (en) Mobile TV system and method for synchronizing the rendering of streaming services thereof
Stokking et al. IPTV inter-destination synchronization: A network-based approach
Yuste et al. Effective synchronisation of hybrid broadcast and broadband TV
EP2068528A1 (en) Method and system for synchronizing the output of end-terminals
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
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160714

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170713

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190711

Year of fee payment: 7