KR101579136B1 - 미디어 스트림 구성요소들의 동기화 - Google Patents

미디어 스트림 구성요소들의 동기화 Download PDF

Info

Publication number
KR101579136B1
KR101579136B1 KR1020117000399A KR20117000399A KR101579136B1 KR 101579136 B1 KR101579136 B1 KR 101579136B1 KR 1020117000399 A KR1020117000399 A KR 1020117000399A KR 20117000399 A KR20117000399 A KR 20117000399A KR 101579136 B1 KR101579136 B1 KR 101579136B1
Authority
KR
South Korea
Prior art keywords
components
data samples
information
timing information
packets
Prior art date
Application number
KR1020117000399A
Other languages
English (en)
Other versions
KR20110022664A (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 KR20110022664A publication Critical patent/KR20110022664A/ko
Application granted granted Critical
Publication of KR101579136B1 publication Critical patent/KR101579136B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/40Arrangements for broadcast specially adapted for accumulation-type receivers
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/4348Demultiplexing of additional data 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/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/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/64315DVB-H
    • 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
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • H04N7/54Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
    • H04N7/56Synchronising systems therefor

Abstract

방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법이 제공되며, 이 방법은, 방송 미디어 스트림의 복수의 구성요소들에 대한 데이터 샘플들의 스트림들을 버퍼링하고 복수의 정보 패킷들을 버퍼링하는 단계(18)로서, 복수의 구성요소들의 각각에 대한 데이터 샘플들의 스트림은 상대적 타이밍 정보를 포함하고, 각각의 정보 패킷은 구성요소들의 상대적 타이밍 정보와 절대 시간 사이의 관계를 나타내는 타이밍 정보를 포함하는, 상기 버퍼링 단계(18); 복수의 구성요소들의 각각에 대한 타이밍 정보를 추출하기 위해 버퍼링된 정보 패킷들에 대한 룩-어헤드 동작(look-ahead action)을 수행하는 단계(16); 및 복수의 구성요소들을 동기시키기 위해 추출된 타이밍 정보 및 상대적 타이밍 정보를 이용하는 단계(16)를 포함한다.

Description

미디어 스트림 구성요소들의 동기화{SYNCHRONIZATION OF MEDIA STREAM COMPONENTS}
본 발명은 오디오 및 비디오와 같은 미디어 스트림의 구성요소들의 동기화에 관한 것이며, 특히 디지털 비디오 방송-핸드헬드(DVB-H: Digital Video Broadcasting-Handheld) 시스템의 구성요소들의 동기화에 관한 것이다.
디지털 비디오 방송-핸드헬드(DVB-H)는 텔레비전 방송들 및 다른 비디오 및 오디오 스트림들을 모바일 또는 핸드헬드 디바이스들에 제공하기 위한 표준이다.
DVB-H에서는, 타이밍 슬라이싱이 이용되며, 이것은 상이한 서비스들(즉, 상이한 TV 채널들)이 시간 또는 버스트들의 각각의 "슬라이스들(slices)"로 전송되는 것을 의미한다. 도 1은 예시적인 DVB-H 전송 구조를 도시한다. 이 예에서, DVB-H 전송 스트림 2는 2Mbps로 전송되며, 각각이 500kbps의 평균 비트 레이트를 가진 4개의 상이한 서비스들을 포함한다. 시간 슬라이싱의 결과로서, 각각의 서비스는 그 시간의 1/4 동안 2Mbps의 최대 비트 레이트로 전송된다. 따라서, 단일 서비스를 이용하는 수신 디바이스는 그 시간의 75% 동안 DVB-H 수신기를 비활성화할 수 있다. 따라서, 시간 슬라이싱은 수신 디바이스들의 전력 소비를 감소시키기 위해 DVB-H에 이용된다.
도 1에 도시된 바와 같이, DVB-H 스트림들에서, 오디오 및 비디오 정보는 실시간 전송 프로토콜(RTP)을 이용하여, 225.0.0.1:4000 및 225.0.0.1:5000의 라벨이 각각 붙은 개별 스트림들(및 특히 사용자 데이터그램 프로토콜(UDP: User Datagram Protocol) 소켓들)을 통해 전송된다. 이 프로토콜은, 멀티미디어 세션의 상이한 미디어 구성요소들(예를 들면, 비디오 및 오디오)이 (상이한 소소들: 예를 들면 화상 회의에서의 마이크로폰 및 카메라로부터 나올 수 있는) 상이한 채널들/라우트들을 통해 전송될 수 있도록 설계된다. RTP를 이용할 때, 방송 오디오 및 비디오 스트림들이 수초 정도 동기를 벗어나는 것이 가능하다.
결과적으로, 오디오 및 비디오 스트림들은 립싱크(lip-sync) 문제들을 회피하기 위하여 수신 디바이스에서 시간 동기되어야 한다. 비디오와 오디오 스트림들 사이의 작은 편차들(deviations)조차도 사용자에 의해 인식될 수 있다.
DVB-H 방송을 위한 2개의 개별 동기화 문제들이 있다. 제 1 동기화 문제는 사용자가 수신된 서비스를 선택하거나 변경할 때(즉, 사용자가 수신 디바이스를 활성화하거나, 도 1의 "서비스 1"로부터 "서비스 2"로 스위칭할 때) 발생한다. 이 경우, 수신 디바이스는 새로운 서비스로 변경하여 새로운 비디오 및 오디오 스트림들을 동기시켜야 한다. 이러한 동기화는 수 초들이 걸릴 수 있으며, 이것은 새로운 서비스가 제공되기 전에 사용자에 대한 지연이 있을 것임을 의미한다. 비디오 및 오디오 스트림들 외에도, 동기되어야 하는 다른 구성요소들(예를 들면 그래픽들 또는 자막들)이 있을 수 있다.
두 번째 문제는 비디오와 오디오 스트림들 사이의 동기화가 시간에 걸쳐 벗어날 수 있어서 정정되어야 할 수 있다는 점이다.
RTP에서, 이들 동기화 문제들은, 오디오 및 비디오 스트림들과 함께 전송되는 RTP 제어 프로토콜(RTCP) 송신기 보고 패킷들을 이용함으로써 완화될 수 있다. 도 1에 도시된 바와 같이, 비디오 및 오디오 스트림들의 각각은 RTCP 송신기 보고 패킷들을 포함하는 각각의 스트림과 쌍이 되며, 스트림 225.0.0.1:4001은 비디오 스트림 225.0.0.1:4000에 대해 RTCP 송신기 보고 패킷들 4를 운반하고, 스트림 225.0.0.1:5001은 오디오 스트림 225.0.0.1:5000에 대해 RTCP 송신기 보고 패킷들 6을 운반한다.
그러나, 이 도면으로부터, 비디오 및 오디오 스트림이 먼저 수신되는 것을 알 수 있고, 스트림들이 동기될 수 있기 전(도 1에서 "동기 지점(sync point)"이라고 라벨이 붙음)에 RTCP 송신기 보고 패킷들이 오디오 및 비디오 스트림들의 각각에 대해 수신될 때까지 대기해야 한다.
RTCP 명세에 따른 RTCP 송신기 보고 패킷의 예시적인 구조는 도 2에 도시된다. 패킷은 이용되는 프로토콜의 버전(V), 패딩 표시자 비트(P), 패킷에서의 수신 보고 블록들의 수(RC), 패킷 타입(PT- 즉, 송신기 보고 SR), 32-비트 워드들에서의 패킷의 길이 및 송신기 보고 패킷의 소스에 대한 동기화 소스 식별자(SSRC)를 명시하는 헤더 섹션을 포함한다. 패킷은 또한, 64-비트 네트워크 시간 프로토콜(NTP) 시간 스탬프(본 명세서에서 절대 시간으로서 참조됨), 비디오 또는 오디오 스트림에서의 RTP 데이터 패킷에서 제 1 옥텟의 샘플링 시간을 반영하는 RTP 시간 스탬프, 송신기 보고의 전송에 이르기까지 송신기에 의해 전송된 RTP 데이터 패킷들의 총수를 보여주는 송신기의 패킷 카운트, 및 송신기 보고의 전송에 이르기까지 송신기에 의해 전송된 패이로드 옥텟들의 총수를 보여주는 송신기의 옥텟 카운트를 명시하는 송신기 정보 섹션을 포함한다.
모든 RTP 데이터 패킷은 RTP 데이터 패킷에서의 제 1 옥텟의 샘플링 순간 이후의 만료된 시간을 보여주는 RTP 시간 스탬프들을 운반한다. RTP 시간 스탬프들은 일반적으로 특정 미디어 스트림(즉, 비디오 또는 오디오)에 특정하고, 시간 스탬프에서 증가량들을 카운팅하기 위해 각각의 시작 지점들 및 주파수들을 이용한다. 따라서, 상이한 오디오 및 비디오 스트림들이 RTP 시간 스탬프들에 대한 동일 시간 베이스(즉, 클록 주파수 및 시작 오프셋들)를 이용하지 않으므로, 이들은 직접 비교 가능하지 않다.
따라서, 모든 오디오 및 비디오 RTP 스트림은 상술된 바와 같이 RTCP 패킷들을 포함하는 각각의 스트림과 쌍이 된다. 도 2에 도시된 바와 같이, 이들 RTCP 송신기 보고 패킷들은 NTP 시간 스탬프 및 RTP 시간 스탬프를 포함하며, 이들은 동일한 시간을 나타내지만 상이한 시간 베이스들에 있다. NTP 시간 스탬프가 모든 상이한 미디어 구성요소들(예를 들면, 오디오 및 비디오)에 대해 동일하므로, 모든 스트림들을 동기시키는 것이 수월하다. 특히, 제공 시간 스탬프(PTS: presentation time stamp)는 타이밍 정보를 이용하여 각각의 구성요소에 대해 계산되며, PTS는 관련 데이터 샘플이 버퍼로부터 검색되고, 디코딩되고, 사용자에게 제공되어야 하는 시간을 나타낸다.
DVB-H 애플리케이션들에서, RTCP 패킷들이 5초마다 전송되는 것을 권장한다. 그러나, 서비스의 변경이 이루어졌을 때, 이것은, 다음 RTCP 패킷이 수신되기 전에 최대 5초가 걸릴 것이며, 오디오 및 비디오 스트림들의 RTP 시간 스탬프들이 타이밍 정보를 이용하여 서로 관련될 수 있음을 의미한다. 이것은 오디오 및 비디오 스트림들이 서비스를 선택 또는 변경한 후에 최대 처음 5초 동안 동기를 벗어날 수 있음을 의미한다.
또한, 방송 동안, 새로운 RTCP 송신기 보고 패킷이 수신되고, 동기화를 정정할 필요가 있다고 결정되면, 조정 또는 정정은 제공된 오디오 또는 비디오에서 근소한 점프 또는 아티팩트들로서 사용자에 의해 인식될 수 있다.
따라서, 상기에 기재된 단점들을 극복하는 DVB-H 명세에 따른 방송들에 이용하기 위한 방법 및 디바이스가 필요하다. 특히, 새로운 서비스가 선택될 때 개선된 동기화 시간을 가지고, 미디어 스트림의 구성요소들 사이의 동기화의 정정이 구현될 때 더욱 매끄러운 전이(transition)를 제공하는 방법 및 디바이스가 필요하다. 본 발명은 독립 청구항들에 의해 규정된다. 종속 청구항들은 유리한 실시예들을 규정한다.
본 발명의 제 1 양태에 따라, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법에 있어서: 방송 미디어 스트림의 복수의 구성요소들에 대한 데이터 샘플들의 스트림들을 버퍼링하고 복수의 정보 패킷들을 버퍼링하는 단계로서, 복수의 구성요소들의 각각에 대한 데이터 샘플들의 스트림은 상대적 타이밍 정보를 포함하고, 각각의 정보 패킷은 구성요소들의 상대적 타이밍 정보와 절대 시간 사이의 관계를 나타내는 타이밍 정보를 포함하는, 상기 버퍼링 단계; 복수의 구성요소들의 각각에 대한 타이밍 정보를 추출하기 위해 버퍼링된 정보 패킷들에 대한 룩-어헤드 동작(look-ahead action)을 수행하는 단계; 및 복수의 구성요소들을 동기시키기 위해 추출된 타이밍 정보 및 상대적 타이밍 정보를 이용하는 단계를 포함하는, 상기 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법이 제공된다.
일 실시예에서, 각각의 정보 패킷은 복수의 구성요소들의 각각의 요소와 연관되고, 타이밍 정보는 각각의 구성요소들의 상대적 타이밍 정보와 절대 시간 사이의 관계를 나타낸다.
바람직하게는, 이 방법은 복수의 구성요소들에서 동기된 데이터 샘플들을 스트리밍하는 단계를 더 포함한다.
일 실시예에서, 이 방법은 정보 패킷들을 메모리에 저장하는 단계; 및 다른 정보 패킷들이 수신될 때까지, 복수의 구성요소들에서 데이터 샘플들을 동기시키기 위해, 메모리에 저장된 정보 패킷들의 타이밍 정보를 이용하는 단계를 더 포함한다.
이 실시예에서, 방송 미디어 스트림은 복수의 선택 가능한 서비스들을 포함하고, 이 방법은, 선택 가능한 서비스들의 각각에서 구성요소들에 대한 정보 패킷들을 수신하는 단계; 및 메모리에 정보 패킷들을 저장하는 단계를 더 포함한다.
바람직하게는, 복수의 구성요소들에 대한 데이터 샘플들의 스트림은 방송 미디어 스트림에서 제 1 선택 가능한 서비스를 포함하고, 제 2 선택 가능한 서비스에 대한 저장된 정보 패킷들은, 제 2 서비스가 선택된 경우에, 그리고 제 2 서비스에 대한 각각의 정보 패킷들이 수신되기 전에 이용된다.
바람직하게는, 데이터 샘플들은 버스트들에서 수신되고, 정보 패킷이 각각의 버스트와 함께 수신된다.
바람직하게는, 추출된 타이밍 정보 및 상대적 타이밍 정보를 이용하는 단계는 복수의 구성요소들에서 동시에 스트리밍되는 데이터 샘플들을 결정하는 단계를 포함한다.
바람직하게는, 이 방법은, 복수의 구성요소들 사이의 편차(drift)를 식별하기 위하여, 동시에 스트리밍되는 결정된 데이터 샘플들과 동시에 스트리밍되는 이전에 결정된 세트의 데이터 샘플들을 비교하는 단계; 및 데이터 샘플들이 버퍼로부터 스트리밍될 때 식별된 편차를 정정하기 위해, 특정 구성요소로부터 데이터 샘플들을 추가하거나 생략하는 단계를 더 포함한다.
이 실시예에서, 편차는, 편차를 결정하기 위해 이용된 정보 패킷과 함께 수신된 하나 이상의 데이터 샘플들이 스트리밍되기 전에 데이터 샘플들을 추가하거나 생략함으로써 정정된다.
바람직하게는, 데이터 샘플들은 기존의 데이터 샘플들을 복제함으로써 추가된다.
바람직하게는, 이 방법은 비교 단계의 결과들을 메모리에 저장하는 단계를 더 포함한다.
바람직하게는, 이 방법은, 메모리에 저장된 결과들로부터 평균 정정(average correction)을 계산하는 단계; 및 특정 구성요소에 대한 요구된 정정을 예측하기 위해 계산된 평균 정정을 이용하는 단계를 더 포함한다.
바람직한 실시예들에서, 방송 미디어 스트림은 디지털 비디오 방송-핸드헬드 명세에 따라 방송된다.
이들 실시예들에서, 상대적 타이밍 정보는 실시간 전송 프로토콜(RTP) 시간 스탬프들을 포함하고, 정보 패킷들은 RTP 제어 프로토콜(RTCP) 송신기 보고 패킷들이고, 절대 시간은 네트워크 시간 프로토콜(NTP)에 따라 결정된다.
바람직하게는, 방송 미디어 스트림의 구성요소는 비디오, 오디오, 그래픽들, 자막들 및 대화형 컨텐트로부터 선택된 것을 포함한다.
본 발명의 제 2 양태에 따라, 방송 미디어 스트림을 사용자에게 제공하기 위한 디바이스에 있어서: 방송 미디어 스트림의 복수의 구성요소들에 대한 데이터 샘플들의 스트림들을 저장하기 위한 버퍼로서, 각각의 구성요소는 스트림내의 데이터 샘플들에 대한 상대적 타이밍 정보를 포함하고, 각각의 정보 패킷은 구성요소들의 상대적 타이밍 정보와 절대 시간 사이의 관계를 나타내는 타이밍 정보를 포함하는, 상기 버퍼; 및 구성요소들의 각각에 대한 버퍼링된 정보 패킷들로부터 타이밍 정보를 추출하기 위해 룩-어헤드 동작을 수행하고; 복수의 구성요소들을 동기시키기 위해 추출된 타이밍 정보 및 상대적 타이밍 정보를 이용하도록 구성된 처리기를 포함하는, 상기 디바이스가 제공된다.
바람직하게는, 이 디바이스는 추출된 타이밍 정보를 저장하기 위한 메모리를 더 포함한다.
본 발명의 제 3 양태는 컴퓨터 판독 가능한 코드를 포함하는 컴퓨터 프로그램 제품으로서, 처리기에 의해 실행될 때 상술된 방법을 수행하도록 구성되는, 상기 컴퓨터 프로그램 제품을 제공한다.
본 발명의 이들 및 다른 양태들은 이후 기술된 실시예들을 참조하여 더욱 명확해질 것이다.
본 발명은 지금부터 도면들을 참조하여 예의 방식으로 기술될 것이다.
본 발명에 의하면, 새로운 서비스가 선택될 때 개선된 동기화 시간을 가지고, 미디어 스트림의 구성요소들 사이의 동기화의 정정이 구현될 때 더 매끄러운 전이를 제공할 수 있다.
도 1은 DVB-H 시스템에서 방송의 구조를 도시한 도면.
도 2는 예시적인 RTCP 송신기 보고 패킷의 구조를 도시한 도면.
도 3은 본 발명의 실시예에 따른 모바일 디바이스의 블록도.
도 4는 임의의 시간 순간에 DVB-H 시스템에서 버퍼의 컨텐트를 도시한 도면.
도 5는 본 발명의 실시예에 따른 방법을 도시한 흐름도.
본 발명은 오디오 및 비디오 구성요소들을 포함하는 방송 미디어 스트림을 참조하여 기술할 것이지만, 본 발명은 자막들, 그래픽들 및 대화형 컨텐트를 포함하는 상이하거나 부가적인 구성요소들을 포함하는 미디어 스트림들에도 응용이 가능하며, 이러한 구성요소들에 한정되지 않음을 알 것이다.
더욱이, 본 발명은 DVB-H 시스템을 참조하여 기술될 것이지만, 본 발명은 무선 또는 유선 인터페이스를 통해 서비스들을 전달하기 위해 시간 슬라이싱을 이용하는 다른 시스템들(움직일 수 없거나 휴대할 수 없는 디바이스들에 이용하기 위한 시스템들을 포함하여)에도 적용이 가능하다는 것을 알 것이다.
이제 도 3을 참조하면, 본 발명의 실시예에 따른 모바일 디바이스가 제공된다. 모바일 디바이스(10)는 방송 미디어 스트림, 예를 들면 모바일 전화, 개인 휴대 정보 단말기, 또는 휴대용 텔레비전 디바이스를 수신할 수 있는 임의의 디바이스가 될 수 있으며, 무선 인터페이스를 통해 방송 미디어 스트림을 수신하기 위한 안테나(12) 및 수신기 회로(14)를 포함한다. 수신기 회로(14)는 모바일 디바이스(10)의 동작을 제어하는 처리기(16)에 접속된다. 모바일 디바이스(10)는 처리기(16)에 접속되는 버퍼(18)를 더 포함하며, 버퍼(18)는 인입하는 미디어 스트림의 구성요소들에 대한 데이터 샘플들의 패킷들을 저장하기 위해 이용된다.
모바일 디바이스(10)의 사용자로부터 명령들을 수신하는 사용자 인터페이스(20)는 또한, 스피커 또는 스피커들(22) 및 디스플레이(24)와 함께 처리기(16)에 접속된다. 스피커들(22) 및 디스플레이(24)는 처리기(16)가 버퍼(18)로부터 미디어 구성요소들을 검색 및 디코딩할 때 사용자에게 미디어 스트림을 제공하기 위해 이용된다.
일부 실시예들에서, 모바일 디바이스(10)는 처리기(16)에 접속되는 메모리(26)를 더 포함할 수 있다.
따라서, 복수의 구성요소들을 포함하는 인입하는 미디어 스트림은 안테나(12) 및 수신기 회로(14)를 이용하여 모바일 디바이스(10)에 의해 수신되고, 처리기(16)에 의해 버퍼(18)에 저장된다. 모바일 디바이스(10)의 사용자에게 미디어 스트림을 처음 제공하기 위하여(즉, 디바이스(10)가 처음 스위칭 온될 때, 디바이스(10)가 방송 미디어 스트림을 처음 수신하기 시작할 때, 또는 사용자가 시청할 방송 미디어 스트림의 새로운 서비스를 선택할 때), 처리기(16)는 오디오 및 비디오 패킷들의 각각에 대한 NTP 시간 스탬프를 결정하며, 이것은 어떤 오디오 패킷이 특정 비디오 패킷과 함께 버퍼(18)로부터 스트리밍되어야 하는지를 나타내기 위해 이용되고, 버퍼(18)로부터 모바일 디바이스(10)의 적당한 출력(즉, 스피커들(22) 또는 디스플레이(24))로 패킷들을 스트리밍한다. 실제 제공 시간(즉, 패킷이 버퍼(18)로부터 스트리밍되는 시간)은 제공 시간 스탬프(PTS)로부터 처리기(16)에 의해 결정될 수 있거나, 비디오 스트림의 프레임 레이트에 관해(초당 특정 수의 프레임들에 대해 비디오 데이터를 스트리밍) 처리기(16)에 의해 결정될 수 있다.
모바일 디바이스가 모바일 전화일 때 수신기 회로(14)는 송수신기 회로로 대체될 수 있거나, 개별 전송기 회로가 통신 네트워크와의 업링크 통신들을 위해 제공될 수 있음을 알 것이다.
더욱이, 일부 실시예들에서, 수신기 회로(14)는 수신된 미디어 스트림을 처리기(16)를 통하지 않고 버퍼(18)에 직접 제공할 수 있음을 알 것이다.
도 4는 임의의 시간 순간에 DVB-H 시스템에서 버퍼(18)의 컨텐트를 도시한다. 이 예시에서, 버퍼(18)에 스트리밍되는 데이터 샘플들은 왼쪽으로부터 나오고, 버퍼(18)로부터(스트리밍 지점으로부터) 스피커들(22) 또는 디스플레이(24)로 스트리밍되는 데이터 샘플들은 오른쪽으로 진행한다. 이 예에서, 미디어 스트림이 2개의 구성요소들, 즉 비디오 및 오디오를 포함하므로, 버퍼(18)는 비디오 데이터 샘플들을 저장하는 제 1 섹션(도 4의 상반부에 도시됨) 및 오디오 데이터 샘플들을 저장하는 제 2 섹션(도 4의 하반부에 도시됨)을 가진 2개의 섹션들로 효율적으로 나누어진다.
각각의 슬라이스 또는 버스트 동안 수신되는 구성요소들의 각각에 대한 데이터 샘플들이 버퍼(18)에 도시된다. 상술된 바와 같이, 데이터 샘플들이 미디어 스트림의 구성요소의 소스에 의해 생성될 때, 샘플들은 시간 스탬핑된다. 그러나, 각각의 구성요소는 시간 스탬프들에 대해 상이한 베이스를 이용하여, 상이한 구성요소들의 시간 스탬프들은 직접 비교 가능하지 않다.
따라서, 각각의 구성요소는, 데이터 채널과 동시에 방송되고 정보 패킷들(4, 6)을 포함하는 각각의 채널에 의해 달성되며, 정보 패킷들(4, 6)은 구성요소들에서의 상대적 시간 스탬프들과 절대 시간 사이의 관계를 나타내는 타이밍 정보를 포함한다. 이들 정보 패킷들(4, 6)은 도 4에 도시된 바와 같은 버퍼에 저장된다.
DVB-H 시스템에서, 데이터 샘플들은 실시간 전송 프로토콜(RTP)을 이용하여 방송되고, 그래서 RTP 시간 스탬프들을 포함한다. 그 외에도, 정보 패킷들은 RTCP 송신기 보고들이며, 타이밍 정보는 RTP 시간 스탬프들과 절대 시간(즉, NTP 시간) 사이의 관계를 나타낸다.
통상적으로, 정보 패킷들(4, 6)은 각각의 오디오 및 비디오 스트림들과 함께 버퍼(18)로부터 스트리밍될 때 처리기(16) 또는 다른 미디어 플레이어에 의해 판독된다(즉, 이들은 각각의 정보 패킷들이 스트리밍 지점에 도달할 때 판독된다).
그러나, 본 발명에 따라, 처리기(16)는 룩-어헤드 동작을 수행할 수 있으며, 이것은 버퍼(18)에 이미 저장된 임의의 "미래(future)" 정보 패킷들을 위해 버퍼(18)에서 현재 스트리밍 지점(즉, 데이터 샘플들이 현재 스트리밍되고 있는 지점)을 예견하는 것을 의미한다. 달리 말하면, 처리기(16)는 패킷들이 데이터 샘플들과 함께 버퍼(18)로부터 스트리밍되도록 대기하기보다는 버퍼(18)에 있는 정보 패킷들을 조사한다. 대안적으로, 룩-어헤드 동작은 이들이 수신기 회로(14)에 의해 수신될 때(즉, 이들이 버퍼(18)에 저장되기 전) 처리기(16)가 정보 패킷들을 조사하게 할 수 있다.
처리기(16)에 의한 이 "룩-어헤드" 동작은, 데이터 샘플들이 그들을 이용할 수 있는 처리기(16)에서 구성요소 디코더보다 훨씬 더 빠른 특정 시간 슬라이스에서 수신될 때 방송 미디어 스트림의 시간 슬라이싱 구조로 인해 가능하다.
도 5는 본 발명의 양태에 따른 모바일 디바이스의 동작을 도시한 흐름도이다.
단계(101)에서, 방송 미디어 스트림의 복수의 구성요소들에 대한 데이터 샘플들이 수신되어 버퍼(18)에 저장된다. 구성요소들의 각각은 스트림에서 데이터 샘플들에 대한 상대적 시간 스탬프들을 포함한다.
단계(103)에서, 구성요소들의 각각에 대한 각각의 정보 패킷들이 수신되어 버퍼(18)에 저장된다. 정보 패킷들의 각각은 그들 각각의 구성요소들에서의 상대적 시간 스탬프들과 절대 시간 사이의 관계를 나타내는 타이밍 정보를 포함한다.
단계(105)에서, 처리기(16)는 버퍼(18)에 대한 룩-어헤드 동작을 수행하고, 수신된 정보 패킷들로부터 타이밍 정보를 추출한다. 대안적으로, 처리기(16)는 정보 패킷들이 수신기 회로(14)에 의해 수신될 때 타이밍 정보를 판독할 수 있다. 결과적으로, 타이밍 정보는 정보 패킷과 동시에 수신된 데이터 샘플들이 버퍼(18)로부터 스트리밍되기 전에 정보 패킷으로부터 추출된다. 정보 패킷들이 간헐적으로 수신되면, 처리기(16)는 룩-어헤드 동작을 주기적으로 반복할 수 있다.
단계(107)에서, 처리기(16)는 구성요소들에서의 데이터 샘플들의 상대적 시간 스탬프들을 절대 시간에 관련시키기 위해 식별된 타이밍 정보를 이용한다. 상이한 데이터 스트림들로부터의 샘플들이 이제 공동 시간 베이스를 가지므로, 처리기(16)는 하나의 구성요소에서의 어떤 샘플들이 다른 구성요소에서 어떤 샘플들과 함께 스트리밍되어야 하는지를 결정함으로써 구성요소들을 동기시킬 수 있다.
최종적으로, 단계(109)에서, 구성요소들에서 동기된 데이터 샘플들은 버퍼(18)로부터 스트리밍된다.
데이터 스트리밍 시스템의 속성으로 인해(즉, 데이터는 (버스트 전송의 경우에) 주기적으로 수신되어 사용자에게 계속 스트리밍됨), 이 방법의 단계들의 각각은 미디어 스트림의 상이한 부분들에 대해서라도 모바일 디바이스(10)에 의해 다소 동시에 수행되는 것을 알 것이다. 예를 들면, 단계들(101 및 103)은 처리기(16)가 방송 미디어 스트림의 초기로부터 데이터 샘플들을 사용자에 스트리밍하면서 특정 버스트에 대해 실질적으로 동시에 발생할 것이다(그러므로, 흐름도에서 나란히 도시된다).
따라서, 디바이스(10)가 처음 스위칭 온될 때, 디바이스(10)가 방송 미디어 스트림을 처음 수신하기 시작할 때, 또는 사용자가 방송 미디어 스트림의 새로운 서비스를 선택할 때, 상술된 방법은 복수의 구성요소들이 종래의 방법보다 훨씬 신속히 동기되도록 허용한다. 실제로, 정보 패킷(RTCP 송신기 보고)이 제 1 버스트에서 이용 가능한 경우, 서비스 변경이 발생하는 즉시 동기화가 거의 실현될 수 있다.
그 외에도, 상술된 방법을 이용함으로써, 복수의 구성요소들이 종래 방법보다 초기에 재동기되어야 하는지(즉, 구성요소들 사이의 타이밍이 벗어났는지)의 여부를 결정하는 것이 가능하다. 더욱이, 하기에 더욱 상세히 기술되는 바와 같이, 필요한 동기화 정정의 초기 검출은 종래의 방법에서와 같이, 특정 시간 순간보다는 짧은 시간 기간(즉, 다수의 프레임들)에 걸쳐 정정이 구현되도록 허용한다. 이러한 방식으로, 사용자-인식 가능한 아티팩트들이 감소될 것이다.
이들 2개의 구현들의 추가적인 세부사항들은 하기에 제공된다.
새로운 서비스에서 구성요소들의 동기화
따라서, 디바이스(10)가 처음 스위칭 온될 때, 디바이스(10)가 방송 미디어 스트림을 처음 수신하기 시작할 때, 또는 사용자가 방송 미디어 스트림의 새로운 서비스를 선택할 때, 디바이스(10)는 제 1 선택된 버스트를 수신하고, 데이터 샘플들 및 RTCP 송신기 보고 패킷들을 버퍼(18)에 저장한다.
처리기(16)가 버퍼(18)로부터 수신된 미디어 구성요소들을 소비(즉, 스트림)하기 시작할 수 있지만, 모든 필요한 미디어 구성요소들의 이용 가능한 RTCP 패킷들에 대해 버퍼(18)의 나머지를 조사하기 위하여 룩-어헤드 동작을 동시에 수행할 수 있다.
이러한 RTCP 패킷들이 상이한 미디어 구성요소들 중 적어도 2개에 대해 발견된다면, 데이터 샘플 스트림들에서의 개별적인 구성요소 RTP 시간 스탬프들은, RTP 시간 스탬프들을 NTP 시간에 링크하는 RTCP 송신기 보고 패킷들에서의 타이밍 정보를 이용하여 하나의 절대 시간 베이스로 다시 변환될 수 있다. 특히, RTCP 송신기 보고 패킷들이 RTP 데이터 패킷에서의 제 1 옥텟의 샘플링 순간에 대한 RTP 시간 스탬프 및 대응하는 NTP 시간 스탬프를 포함하기 때문에, RTP 데이터 패킷들에서의 RTP 시간 스탬프들(이 제 1 샘플링 순간으로부터 측정됨)은 NTP 시간에 관련될 수 있다.
타이밍 정보가 각각의 RTCP 패킷 사이에서 변하지 않으므로, 초기 또는 최종 RTCP 송신기 보고 패킷들로부터의 타이밍 정보는 RTP 데이터 스트림에서 데이터 샘플들에 유효하다.
따라서, RTCP 송신기 보고 패킷이 더 늦은 시간에 수신되더라도, 복수의 구성요소들 사이의 동기화는 패킷이 수신되는 즉시 확립될 수 있다.
특히, 다음의 계산은 본 발명이 복수의 구성요소들의 동기화를 달성하는데 있어서 종래의 방법을 능가하여 제공하는 개선점을 예시한다. 다음에서, 새로운 서비스가 그 서비스에 대한 버스트들 사이에서 선택된다고 가정한다(즉, 그 서비스에 대한 버스트는 서비스 스위치가 이루어지는 시간에 전송되지 않음).
RTCP 송신기 보고 패킷이 미디어 스트림에서 각각의 구성요소에 대해 5초 마다 전송되고(현재 표준에서 권고된 바와 같이), 스트림이 2초의 시간 슬라이싱 사이클을 가진다고 가정한다면, 동기화를 달성하는데 필요한 최대 시간은 7초이며, 정확한 시간 슬라이스를 대기하는 2초와 RTCP 송신기 보고 패킷을 대기하는 5초를 포함한다. 평균적으로, 동기화를 달성하기 위해서는 3.5초가 걸릴 것이며, 정확한 시간 슬라이스를 대기하는 1초와 RTCP 패킷들을 대기하는 2.5초를 포함한다.
그러나, 본 발명에 따른 방법을 이용할 때, 동기화를 달성하기 위한 최대 시간은 6초일 것이며, 정확한 시간 슬라이스를 대기하는 2초와, 다음 시간 슬라이스를 대기하는 2초(현재 시간 슬라이스가 RTCP 패킷을 포함하지 않으므로)와, 다음 시간 슬라이스가 여전히 RTCP 패킷을 포함하지 않으므로 2초 이상, 그리고 거의 수신되는 즉시 RTCP 패킷이 판독될 수 있으므로 0초를 포함한다. 동기화를 달성하기 위한 평균 시간은 2.6초가 될 것이며, 시간 슬라이스를 대기하는 1초, RTCP 패킷이 이 시간 슬라이스에 있는 40% 기회(그래서 0초의 추가적인 대기가 필요함), RTCP 패킷이 다음 시간 슬라이스에 있는 40% 기회(그래서, 2초의 추가적인 대기가 필요함), 및 RTCP 패킷이 최종 시간 슬라이스에 있는 20% 기회(그래서, 4초의 추가적인 대기가 필요함)를 포함한다.
본 발명의 바람직한 실시예에서, 동기화 시간은 데이터 샘플들의 각각의 버스트와 함께 RTCP 시간 스탬프들을 전송함으로써 더욱 개선될 수 있다. 따라서, 다른 버스트를 대기하는 결과로서의 지연들은 회피된다.
특히, RTCP 패킷들이 시간 슬라이스마다 전송될 때(따라서 2초마다), 종래의 방법을 이용하여 구성요소들을 동기시키기 위한 최대 시간은 4초일 것이며, 시간 슬라이스를 대기하는 2초 및 RTCP 패킷들을 대기하는 2초를 포함한다. 구성요소들을 동기시키는데 걸리는 평균 시간은 2초일 것이며, 시간 슬라이스를 대기하는 1초 및 RTCP 패킷들을 대기하는 1초를 포함한다.
그러나, RTCP 패킷들로 상술된 방법을 이용하여, 모든 시간 슬라이스에서는 2초의 최대 동기화 시간을 유발하며, 시간 슬라이스를 대기하는 2초를 포함한다. 평균 지속구간은 1초가 될 것이며, 시간 슬라이스를 대기하는 1초를 포함한다.
복수의 구성요소들을 동기시키는데 걸리는 시간의 추가적인 개선점은 이력 테이블에서 각각의 서비스에 대한 수신된 타이밍 정보를 메모리(26)에 저장함으로써 획득될 수 있다. RTCP 송신기 보고 패킷들에서의 관련값들이 시간에 걸쳐 변하지 않으므로, 저장된 패킷들은 사용자가 그 서비스로 스위칭할 때 이용될 수 있다.
이 이력 테이블은 여러 방법들로 존재할 수 있다. 먼저, 디바이스(10)가 활성화될 때, 디바이스(10)는 방송에서 모든 서비스들에 대한 시간 슬라이스들을 수신하도록 요구된다. 처리기(16)는 시간 슬라이스들에서 모든 RTCP 패킷들을 검색할 수 있고, 이들을 메모리(26)에 저장할 수 있다.
둘째, 디바이스(10)는 메모리(26)에서 각각의 서비스에 대한 타이밍 정보를 리프레시하도록 주기적인 갱신을 실행할 수 있다.
셋째, 정규 서비스 수신 동안, 디바이스(10)는 현재 이용중인 서비스의 RTCP 패킷들을 캐싱할 수 있다. 임의의 나중 시간에, 사용자가 이 서비스를 다시 스위칭한다면, RTCP 정보는 메모리(26)에서 이미 이용 가능하다. 이러한 방식으로, 디바이스(10)가 먼저 새로운 서비스로 스위칭될 때 동기화의 지연이 존재할 것이다.
따라서, RTCP 송신기 보고들의 부재시, 새롭게 선택된 서비스의 제 1 시간 슬라이스에서, 캐싱된 타이밍 정보가 복수의 구성요소들을 동기시키기 위해 이용될 수 있다.
임의의 이러한 경우들에서, 상대적 타이밍이 변경될 수 있을 것 같지 않은 경우에, 미디어 스트림에서 구성요소들 사이의 큰 타이밍 차(예를 들면, 약 수 초 이상)가 존재할 것이므로, 처리기(16)가 검출하는 것이 매우 수월하고, 처리기(16)는 이 테스트에 실패한 임의의 캐싱된 정보를 무시할 수 있다.
캐싱된 정보가 여전히 유효한지를 결정하기 위하여 캐싱된 정보에 대한 추가적인 검사들이 실행될 수 있다. 특히, 메모리(26)에 RTCP 패킷을 캐싱하는 것 외에도, RTCP 패킷이 수신되는 지점에 대응하는 절대 시간, 및 RTCP 패킷에 가깝게 수신된 RTP 패킷에 대한 제공 시간 스탬프를 캐싱하는 것이 가능하다. 따라서, RTP 패킷의 제공 시간 스탬프가 캐싱된 정보로 계산될 때, 결과로서 생긴 제공 시간 스탬프는 캐싱 순간의 제공 시간 스탬프를 더한 캐싱의 시간 사이의 절대 시간 차에 가까워야 한다. 이것이 그 경우가 아니라면, 캐시에 유지되는 정보는 무효할 가능성이 있고, 처리기(16)는 프레시 RTCP 패킷을 대기해야 한다.
기존의 서비스의 구성요소들 사이의 동기화 정정
상술된 바와 같이, 서비스에서의 복수의 구성요소들 사이의 동기화가 시간에 걸쳐 벗어나는 경우, 본 발명에 따른 방법은 이 동기화 편차가 종래의 방법보다 초기에 결정되도록 허용한다.
동기화 편차의 이러한 초기 검출의 결과로서, 종래의 방법에서와 같이 특정 시간 순간보다는 짧은 시간 기간(즉, 다수의 프레임들)에 걸쳐 동기화 정정이 이루어질 수 있다.
특히, 비디오 프레임들을 버림으로써(비디오 구성요소가 다른 구성요소들의 시간에 앞서는 경우) 및/또는 오디오 샘플들을 버림으로써(오디오 구성요소가 다른 구성요소들의 시간에 앞서는 경우) 동기화 정정이 구현될 수 있다.
모바일 디바이스(10)가 스트림들의 각각과 함께 전송된 제 1 RTCP 송신기 보고 패킷들을 이용하여 RTP 전송의 상이한 미디어 구성요소들을 동기시킨 후에, 각각의 구성요소 스트림에 대한 추가적인 RTCP 정보 패킷들을 수신하기를 계속한다. 본 발명에 따라, 모바일 디바이스(10)는 버퍼(18)에서 RTCP 패킷들에 대한 룩-어헤드 동작을 수행한다. 달리 말하면, 모바일 디바이스(10)는, 패킷이 대응하는 데이터 샘플들과 함께 버퍼로부터 스트리밍되는 것을 대기하지 않고, 디바이스(10)에 이용 가능한 즉시 RTCP 패킷들에서 타이밍 정보를 추출한다.
RTCP 패킷이 발견될 때, 처리기(16)는 상대적 시간 스탬프들을 절대 시간에 관련시키고, 일반적으로 상이한 미디어 구성요소들에 대한 제공 시간 스탬프들을 계산한다. 이로부터, 처리기(16)는 한 구성요소로부터의 어떤 샘플들이 다른 구성요소로부터의 특정 샘플들과 함께 스트리밍되어야 하는지를 결정하고, 이를 현재 스트리밍되고 있는 데이터 샘플 쌍들과 비교한다. 이들 샘플 쌍들이 현재 스트리밍되고 있는 것과 상이한 경우, 편차가 존재하여, 처리기(16)는 특정 구성요소 또는 구성요소들이 얼마만큼 조정되어야 하는지와, 이 편차가 정정되어야 하는 지점을 결정한다. 편차가 정규적으로 정정되는 시간은 버퍼(18)로부터 RTCP 패킷이 판독되는 시간이다.
처리기(16)는 RTCP 패킷이 버퍼(18)로부터 판독되기 전에 구성요소들을 동기시키기 위하여 각각의(또는 어떤) 구성요소가 얼마만큼 조정되어야 하는지를 결정하기 위해, 결정된 조정량 및 정규적인 정정 시간을 이용한다.
처리기(16)는 비디오 프레임들을 추가 또는 생략함으로써(비디오가 오디오 스트림에 앞서거나 뒤에 있는 각각의 경우) 또는 오디오 샘플들을 추가 또는 생략함으로써(오디오가 비디오 스트림에 앞서거나 뒤에 있는 각각의 경우) 오디오와 비디오 스트림들 사이의 동기화 편차를 정정할 수 있다. 프레임들 또는 샘플들은 기존의 프레임 또는 샘플을 반복함으로써 추가될 수 있다.
바람직하게, 처리기(16)는 버퍼(18)로부터 RTCP 패킷의 판독에 선행하는 시간 기간에 걸쳐 프레임들 또는 샘플들의 추가 또는 편차를 이격시킴으로써 동기화 편차를 정정하여, 재동기화에 임의의 사용자-인식 가능한 아티팩트들이 있어서는 안 된다.
재동기화가 발생할 때마다, 재동기화에 관한 정보는 메모리(26)의 이력 테이블에 저장될 수 있다. 처리기(16)는 발생한 프레임 또는 오디오 타이밍들의 전체 평균 조정을 계산하기 위해 이 테이블의 정보를 이용할 수 있다. 이 정보를 이용하여, 처리기(16)는 수신되고 있는 RTCP 패킷에 앞서 재동기화를 예측하고, 버퍼(18)로부터 관련 RTCP 패킷이 판독되기 전에 재동기화가 잘 구현되는 것을 보장할 수 있다. 이러한 방식으로, 재동기화는 더 큰 시간 스케일에 걸쳐 구현될 수 있고, 이것은, 프레임 또는 오디오 샘플 추가들 또는 생략들이 더욱 멀리 이격될 수 있으므로, 전이가 여전히 더욱 매끄러워질 수 있음을 의미한다.
RTCP 패킷들이 버퍼(18)로부터 판독될 때, 그 안의 타이밍 정보는 구성요소들의 동기화가 정확하게 조정되었음을 확인하기 위해 이용될 수 있다.
더욱이, 본 발명의 이 실시예는 특별한 RTCP 패킷을 전송의 소스에 도입함으로써, 비-시간 슬라이싱 전송들에 적용될 수 있다. 이 패킷은 동기화 정보, 및 이 정보가 동작되어야 할 때를 나타내는 시간 스탬프를 포함할 수 있다. 이 패킷은 경미한 재동기화가 예상되는 경우에, 전송 소스에 의해 예정보다 빨리 생성 및 전송될 수 있다. 이러한 방식으로, 디바이스는 이 특정 RTCP 패킷이 수신되는 경우에, 시간 기간에 걸쳐 재동기화를 매끄럽게 조정할 수 있다.
따라서, 새로운 서비스가 선택될 때 개선된 동기화 시간을 가지고, 미디어 스트림의 구성요소들 사이의 동기화의 정정이 구현될 때 더 매끄러운 전이를 제공하는 방법 및 디바이스가 제공된다.
본 발명이 도면들 및 상술된 기술에 상세히 예시되고 기술되었지만, 이러한 예시 및 기술은 도시적 또는 예시적인 것으로 간주되는 것이며 제한적인 것이 아니다; 본 발명은 개시된 실시예들에 제한되지 않는다.
도면들, 개시내용 및 첨부된 청구항들의 연구로부터, 청구된 발명을 실시하는데 있어서, 개시된 실시예들에 대한 변형들이 본 기술분야의 통상의 기술자에 의해 이해되고 실행될 수 있다. 본 발명은 여러 개별적인 요소들을 포함하는 하드웨어에 의해 및/또는 적당히 프로그래밍된 처리기에 의해 구현될 수 있다. 청구항에서, 단어 "포함(comprising)"은 다른 요소들 또는 단계들을 배제하지 않고, 부정관사 "한(a 또는 an)"은 복수를 배제하지 않는다. 단일 처리기 또는 다른 유닛은 청구항에 기재된 여러 항목들의 기능들을 이행할 수 있다. 특정 측정들이 상이한 종속 청구항들에서 서로 인용되는 단순한 사실은 이들 측정들의 조합이 이점으로 사용될 수 없음을 나타내지 않는다. 청구항들에서의 임의의 참조 부호들은 범위를 제한하는 것으로 해석되어서는 안 된다. 컴퓨터 프로그램은 광 저장 매체, 또는 다른 하드웨어의 일부로서 또는 그와 함께 공급되는 고체 매체와 같은 적당한 매체 상에 저장/배급될 수 있지만, 인터넷 또는 다른 유무선 통신 시스템들을 통해서와 같이 다른 형태들로 배급될 수도 있다.
10; 모바일 디바이스 12; 안테나
14; 수신기 회로 16; 처리기
18; 버퍼 22; 스피커
24; 디스플레이

Claims (15)

  1. 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법에 있어서:
    상기 방송 미디어 스트림의 복수의 구성요소들에 대한 데이터 샘플들의 스트림들을 버퍼링하고 복수의 정보 패킷들을 버퍼링하는 단계(101)로서, 상기 복수의 구성요소들의 각각에 대한 상기 데이터 샘플들의 스트림은 상대적 타이밍 정보(relative timing information)를 포함하고, 각각의 정보 패킷은 상기 구성요소들의 상기 상대적 타이밍 정보와 절대 시간 사이의 관계를 나타내는 타이밍 정보를 포함하는, 상기 버퍼링 단계(101);
    상기 복수의 구성요소들의 각각에 대한 타이밍 정보를 추출하기 위해 상기 버퍼링된 정보 패킷들에 대한 룩-어헤드 동작(look-ahead action)을 수행하는 단계(105);
    상기 복수의 구성요소들을 동기시키고 상기 복수의 구성요소들에서 동시에 스트리밍되는 상기 데이터 샘플들을 결정하기 위해 상기 추출된 타이밍 정보 및 상대적 타이밍 정보를 이용하는 단계(107);
    상기 복수의 구성요소들 사이의 편차(drift)를 식별하기 위하여, 동시에 스트리밍되는 상기 결정된 데이터 샘플들을 동시에 스트리밍되는 이전에 결정된 세트의 데이터 샘플들과 비교하는 단계; 및
    상기 데이터 샘플들이 상기 버퍼로부터 스트리밍될 때 상기 식별된 편차를 정정하기 위해, 특정 구성요소로부터 데이터 샘플들을 추가하거나 생략하는 단계를 포함하는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  2. 제 1 항에 있어서,
    각각의 정보 패킷은 상기 복수의 구성요소들의 각각의 구성요소와 연관되고, 상기 타이밍 정보는 각각의 구성요소들의 상기 상대적 타이밍 정보와 절대 시간 사이의 관계를 나타내는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 복수의 구성요소들에서 상기 동기된 데이터 샘플들을 스트리밍하는 단계(109)를 추가로 포함하는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 정보 패킷들을 메모리(26)에 저장하는 단계; 및
    다른 정보 패킷들이 수신될 때까지, 상기 복수의 구성요소들에서 상기 데이터 샘플들을 동기시키기 위해, 상기 메모리에 저장된 상기 정보 패킷들의 타이밍 정보를 이용하는 단계를 추가로 포함하는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  5. 제 4 항에 있어서,
    상기 방송 미디어 스트림은 복수의 선택 가능한 서비스들을 포함하고,
    상기 방법은:
    상기 선택 가능한 서비스들의 각각에서 구성요소들에 대한 정보 패킷들을 수신하는 단계(103); 및
    상기 메모리에 상기 정보 패킷들을 저장하는 단계를 추가로 포함하는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  6. 제 5 항에 있어서,
    상기 복수의 구성요소들에 대한 상기 데이터 샘플들의 스트림은 상기 방송 미디어 스트림에서 제 1 선택 가능한 서비스를 포함하고, 제 2 선택 가능한 서비스에 대한 저장된 정보 패킷들은, 상기 제 2 서비스가 선택된 경우에, 그리고 상기 제 2 서비스에 대한 각각의 정보 패킷들이 수신되기 전에 이용되는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 데이터 샘플들은 버스트들에서 수신되고, 정보 패킷이 각각의 버스트와 함께 수신되는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  8. 삭제
  9. 삭제
  10. 제 1 항에 있어서,
    상기 편차는, 상기 편차를 결정하기 위해 이용된 상기 정보 패킷과 함께 수신된 하나 이상의 데이터 샘플들이 스트리밍되기 전에 데이터 샘플들을 추가하거나 생략함으로써 정정되는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  11. 제 1 항에 있어서,
    상기 데이터 샘플들을 추가하는 단계는 데이터 샘플들을 복제하는 단계를 포함하는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  12. 제 1 항에 있어서,
    상기 비교 단계의 결과들을 메모리에 저장하는 단계를 추가로 포함하는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  13. 제 12 항에 있어서,
    상기 메모리에 저장된 상기 결과들로부터 평균 정정(average correction)을 계산하는 단계; 및
    특정 구성요소에 대한 요구된 정정을 예측하기 위해 상기 계산된 평균 정정을 이용하는 단계를 추가로 포함하는, 방송 미디어 스트림의 복수의 구성요소들을 동기시키기 위한 방법.
  14. 방송 미디어 스트림을 사용자에게 제공하기 위한 디바이스에 있어서:
    상기 방송 미디어 스트림의 복수의 구성요소들에 대한 데이터 샘플들의 스트림들 및 복수의 정보 패킷들을 저장하기 위한 버퍼(18)로서, 각각의 구성요소는 상기 스트림내의 상기 데이터 샘플들에 대한 상대적 타이밍 정보를 포함하고, 각각의 정보 패킷은 상기 구성요소들의 상기 상대적 타이밍 정보와 절대 시간 사이의 관계를 나타내는 타이밍 정보를 포함하는, 상기 버퍼(18); 및
    상기 구성요소들의 각각에 대한 상기 저장된 정보 패킷들로부터 상기 타이밍 정보를 추출하기 위해 룩-어헤드 동작을 수행하고,
    상기 복수의 구성요소들을 동기시키고 상기 복수의 구성요소들에서 동시에 스트리밍되는 상기 데이터 샘플들을 결정하기 위해 상기 추출된 타이밍 정보 및 상대적 타이밍 정보를 이용하고,
    상기 복수의 구성요소들 사이의 편차(drift)를 식별하기 위하여, 동시에 스트리밍되는 상기 결정된 데이터 샘플들을 동시에 스트리밍되는 이전에 결정된 세트의 데이터 샘플들과 비교하고,
    상기 데이터 샘플들이 상기 버퍼로부터 스트리밍될 때 상기 식별된 편차를 정정하기 위해, 특정 구성요소로부터 데이터 샘플들을 추가하거나 생략하도록 구성된 처리기(16)를 포함하는, 방송 미디어 스트림 제공 디바이스.
  15. 제 14 항에 있어서,
    상기 추출된 타이밍 정보를 저장하기 위한 메모리(26)를 추가로 포함하는, 방송 미디어 스트림 제공 디바이스.
KR1020117000399A 2008-06-11 2009-06-04 미디어 스트림 구성요소들의 동기화 KR101579136B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08158009.4 2008-06-11
EP08158009 2008-06-11

Publications (2)

Publication Number Publication Date
KR20110022664A KR20110022664A (ko) 2011-03-07
KR101579136B1 true KR101579136B1 (ko) 2016-01-04

Family

ID=40874972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117000399A KR101579136B1 (ko) 2008-06-11 2009-06-04 미디어 스트림 구성요소들의 동기화

Country Status (6)

Country Link
US (1) US8819749B2 (ko)
EP (1) EP2292013B1 (ko)
JP (1) JP5456029B2 (ko)
KR (1) KR101579136B1 (ko)
CN (1) CN102057687B (ko)
WO (1) WO2009150578A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8477950B2 (en) 2009-08-24 2013-07-02 Novara Technology, LLC Home theater component for a virtualized home theater system
JP5483082B2 (ja) * 2010-01-06 2014-05-07 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
JP5483081B2 (ja) * 2010-01-06 2014-05-07 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
EP3441971A1 (en) * 2010-08-04 2019-02-13 Nero Ag Multi-language buffering during media playback
KR101828639B1 (ko) * 2010-10-15 2018-03-22 톰슨 라이센싱 멀티미디어 흐름을 동기화시키기 위한 방법 및 대응하는 장치
US8923342B2 (en) 2011-07-12 2014-12-30 Electronics And Telecommunications Research Institute Method of providing timing information for synchronizing MMT packet stream in MMT hybrid delivery service and method of synchronizing MMT packet stream in MMT hybrid delivery service
WO2013023287A1 (en) 2011-08-16 2013-02-21 Destiny Software Productions Inc. Script-based video rendering
US20140351874A1 (en) 2011-09-23 2014-11-27 Electronics And Telecommunications Research Institute Method and apparatus for transmitting media data for mmt system, and apparatus and method for receiving media data
CN103702013B (zh) * 2013-11-28 2017-02-01 北京航空航天大学 一种用于多路实时视频的帧同步方法
CN105917655B (zh) * 2014-01-13 2019-07-09 Lg电子株式会社 经由一个或者多个网络发送或者接收广播内容的设备和方法
CN104811824B (zh) * 2014-01-29 2018-05-04 上海数字电视国家工程研究中心有限公司 多媒体传输网络系统
CN105100963B (zh) * 2014-05-22 2017-12-22 纬创资通股份有限公司 影音媒体文件合成方法与服务系统
KR101744155B1 (ko) 2015-07-23 2017-06-20 주식회사 엔이케이 경피 전달 마이크로 니들 제품 및 그 제조 방법
KR101744148B1 (ko) 2015-07-23 2017-06-20 주식회사 엔이케이 경피 전달 마이크로 니들 제조장치
US10530826B2 (en) * 2015-08-27 2020-01-07 Cavium, Llc Method and apparatus for providing a low latency transmission system using adjustable buffers
KR101722923B1 (ko) 2015-08-27 2017-04-04 주식회사 엔이케이 경피 전달 마이크로 니들 제조시스템
US10412441B2 (en) 2016-12-06 2019-09-10 Rgb Spectrum Systems, methods, and devices for high-bandwidth digital content synchronization
CN113542688B (zh) * 2021-07-14 2023-03-28 杭州海康威视数字技术股份有限公司 音视频监控方法、装置、设备、存储介质以及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002374220A (ja) 2001-06-14 2002-12-26 Nippon Telegr & Teleph Corp <Ntt> ストリーム送受信システム、ストリーム送信装置および受信装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909431A (en) 1996-06-28 1999-06-01 At&T Corp. Packet mode multimedia conferencing services over an ISDN wide area network
EP1065665A4 (en) 1998-02-23 2004-10-06 Toshiba Kk INFORMATION RECORDING MEDIUM AND INFORMATION RECORDING / PLAYBACK METHOD
US6363207B1 (en) 1998-10-22 2002-03-26 Sony Corporation Method and apparatus for a virtual system time clock for digital audio/video processor
US6598172B1 (en) * 1999-10-29 2003-07-22 Intel Corporation System and method for clock skew compensation between encoder and decoder clocks by calculating drift metric, and using it to modify time-stamps of data packets
US20040190629A1 (en) 2002-07-19 2004-09-30 Cooper Jeffrey Allen System and method for broadcast of independently encoded signals on atsc channels
EP1554868A4 (en) * 2002-10-24 2011-06-01 Thomson Licensing METHOD AND SYSTEM FOR MAINTAINING LIP SYNCHRONIZATION
WO2005076961A2 (en) * 2004-02-04 2005-08-25 Goldpocket Interactive Synchronization and automation in an itv environment
WO2005114919A1 (en) * 2004-05-13 2005-12-01 Qualcomm Incorporated Method and apparatus for allocation of information to channels of a communication system
KR100565333B1 (ko) * 2004-06-22 2006-03-30 엘지전자 주식회사 휴대단말기의 비디오 오디오 동기장치 및 방법
EP1790160A4 (en) 2004-09-15 2009-08-26 Nokia Corp PROVIDING ZAPPING STREAMS TO RADIO RECEIVERS
EP1792318A1 (en) * 2004-09-17 2007-06-06 Koninklijke Philips Electronics N.V. Method of converting a user bitstream into coded bitstream, method for detecting a synchronization pattern in a signal, a record carrier, a signal, a recording device and a playback device all using a freely insertable synchronization pattern
US7499516B2 (en) 2004-11-19 2009-03-03 Agere Systems, Inc. Methods and apparatus for interface buffer management and clock compensation in data transfers
KR20060099687A (ko) * 2005-03-14 2006-09-20 삼성전자주식회사 타임스탬프를 이용한 비디오 동기화 장치 및 방법
CA2603883A1 (en) 2005-04-07 2006-10-12 Nokia Corporation Buffering in streaming delivery
KR100837720B1 (ko) 2005-05-26 2008-06-13 한국전자통신연구원 디지털 멀티미디어 방송에서 비디오 서비스와 동기화된 데이터 서비스를 제공하는 방법 및 그 장치와 데이터 서비스의 실행 방법
US7764713B2 (en) * 2005-09-28 2010-07-27 Avaya Inc. Synchronization watermarking in multimedia streams
CN100442858C (zh) * 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
US8994879B2 (en) * 2005-10-21 2015-03-31 Thomson Licensing Method and apparatus for audio and video synchronization timestamp rollover correction
EP1827009A1 (en) * 2006-02-28 2007-08-29 Matsushita Electric Industrial Co., Ltd. Video encoder and decoder for an improved zapping service for mobile video reception
CN101179484A (zh) * 2006-11-09 2008-05-14 华为技术有限公司 一种不同媒体流间的同步方法及系统
US8095680B2 (en) * 2007-12-20 2012-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Real-time network transport protocol interface method and apparatus
US20090249222A1 (en) * 2008-03-25 2009-10-01 Square Products Corporation System and method for simultaneous media presentation
US8359614B2 (en) * 2008-05-16 2013-01-22 Sony Computer Entertainment America Llc Channel hopping scheme for update of data for multiple services across multiple digital broadcast channels

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002374220A (ja) 2001-06-14 2002-12-26 Nippon Telegr & Teleph Corp <Ntt> ストリーム送受信システム、ストリーム送信装置および受信装置

Also Published As

Publication number Publication date
CN102057687B (zh) 2013-06-12
US20110083155A1 (en) 2011-04-07
JP5456029B2 (ja) 2014-03-26
EP2292013A2 (en) 2011-03-09
KR20110022664A (ko) 2011-03-07
JP2011525322A (ja) 2011-09-15
CN102057687A (zh) 2011-05-11
WO2009150578A3 (en) 2010-02-04
US8819749B2 (en) 2014-08-26
WO2009150578A2 (en) 2009-12-17
EP2292013B1 (en) 2013-12-04

Similar Documents

Publication Publication Date Title
KR101579136B1 (ko) 미디어 스트림 구성요소들의 동기화
US9420332B2 (en) Clock compensation techniques for audio decoding
US9432426B2 (en) Determining available media data for network streaming
US9973345B2 (en) Calculating and signaling segment availability times for segments of media data
US7778372B2 (en) Data delivery system and method, and receiver and transmitter
EP2832109B1 (en) Marker-based inter-destination media synchronization
JP6317872B2 (ja) 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法
EP1643775B1 (en) Audio/video synchronizing system and monitor apparatus
JP2004525545A (ja) 複数の独立したメディア・ストリームを時間軸で同期するウェブキャスト方法及びシステム
EP1202573A2 (en) Moving image packet decoding and reproducing apparatus, reproduction time control method thereof, computer program product for controlling reproduction time and multimedia information receiving apparatus
EP1195996A2 (en) Apparatus, method and computer program product for decoding and reproducing moving images, time control method and multimedia information receiving apparatus
CN102752669A (zh) 多通道实时流媒体文件的传送处理方法与系统、接收装置
US20150101004A1 (en) Receiver apparatus and synchronization processing method thereof
US8121534B2 (en) System and method for sending and receiving images via wireless audio channels
KR100619034B1 (ko) 디지털 멀티미디어 데이터 수신기에서 송수신 데이터 동기방법 및 장치
JP5319541B2 (ja) サービスの高速変更のための方法及び受信ユニット
JP3906712B2 (ja) データストリーム処理装置
JP2007158879A (ja) ビデオサーバ、受信装置
KR100698182B1 (ko) 디지털 방송 시스템의 av 출력 방법 및 장치

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
FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 5