CN101371488A - 一种不同媒体流间的同步方法及*** - Google Patents
一种不同媒体流间的同步方法及*** Download PDFInfo
- Publication number
- CN101371488A CN101371488A CNA2007800024610A CN200780002461A CN101371488A CN 101371488 A CN101371488 A CN 101371488A CN A2007800024610 A CNA2007800024610 A CN A2007800024610A CN 200780002461 A CN200780002461 A CN 200780002461A CN 101371488 A CN101371488 A CN 101371488A
- Authority
- CN
- China
- Prior art keywords
- time
- rtp
- media stream
- timestamp
- pts
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000001360 synchronised effect Effects 0.000 claims description 73
- 230000002123 temporal effect Effects 0.000 claims description 43
- 238000013507 mapping Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 23
- 235000017166 Bambusa arundinacea Nutrition 0.000 claims description 19
- 235000017491 Bambusa tulda Nutrition 0.000 claims description 19
- 241001330002 Bambuseae Species 0.000 claims description 19
- 235000015334 Phyllostachys viridis Nutrition 0.000 claims description 19
- 239000011425 bamboo Substances 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 17
- 101000857634 Homo sapiens Receptor-transporting protein 1 Proteins 0.000 claims description 3
- 102100025426 Receptor-transporting protein 1 Human genes 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 57
- 230000008569 process Effects 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 239000011248 coating agent Substances 0.000 description 4
- 238000000576 coating method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 241000894006 Bacteria Species 0.000 description 2
- 101100391180 Dictyostelium discoideum forG gene Proteins 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 235000015170 shellfish Nutrition 0.000 description 2
- 101100294756 Caenorhabditis elegans ntp-1 gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 101000635752 Homo sapiens Receptor-transporting protein 2 Proteins 0.000 description 1
- 229920006708 PC-T Polymers 0.000 description 1
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 102100030850 Receptor-transporting protein 2 Human genes 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- KQTVWCSONPJJPE-UHFFFAOYSA-N etridiazole Chemical compound CCOC1=NC(C(Cl)(Cl)Cl)=NS1 KQTVWCSONPJJPE-UHFFFAOYSA-N 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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/43072—Synchronising 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种不同媒体流间的同步方法和***。该方法包括下列步骤:建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系;建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系;根据该对应关系,在时间信息对应的第一显示时间与第二显示时间之间的差小于阈值时,将第一媒体流数据包与第二媒体流数据包同时显示。该方法实现了来自于广播网络的节目和来自于宽带的节目的同步,解决了来自于不同网络的媒体流之间的同步。
Description
一种不同媒体流间的同步方法及*** 技术领域
本发明涉及媒体流间数据流的同步技术, 特别涉及不同媒体流间数据流 的同步技术。 背景技术
现代通信中存在着各种不同的媒体流, 其中比较具有代表性的是传输流 与实时传输协议流。
―、 传输流(TS, Transport Stream )的同步。
活动图像专家組 (MPEG, Moving Picture Exports Group)于 1988年成 。 MPEG-2是其颁布的(活动图像及声音编码)国际标准之一,制定于 1994年, 是为高级工业标准的图像质量以及更高的传输率而设计。 编码码率从每秒 3 兆比特 ~ 100兆比特, 是广播级质量的图像压缩标准, 并具有 CD级的音质。 它在常规电视的数字化、 高清晰电视 HDTV、 视频点播 VOD, 交互式电视等 各个领域中都是核心的技术之一。 图 1为 MPEG-2的时序模型示意图, 如图 所示, MPEG-2中的同步不仅仅指同一节目的音频流和视频流间的同步,还包 括编码器和解码器之间端到端的同步。
1、 TS流中时间戳定义。
MPEG-2 TS流中的同步是通过时间戳来实现的, 由编码器中单一的公用 ***时钟(STC, System Time Clock ) 27 MHz创建时间戳, TS流中时间戳有 两类:
TS 包头中指出***时钟值的节目参考时钟 ( PCR , Program Clock Reference ), 每个节目当且仅有一个 PCR;
分組基本流(PES, Packetised Elementary Stream ) 包头中指出音频和视 频正确的解码时间戳 ( DTS , Decoding time-stamp )和展现时间戳(PTS, Presentation time-stamp ), 每个存储单元配有一对 PTS+DTS或者一个 PTS。
2、 TS流中的同步机制。
解码器在解码时, 首先利用 PCR重建和编码器同步的 27MHz***时钟, 恢复 27MHz***时钟后,再利用 PES流中的 DTS、 PTS进行音频和视频间的 同步。
具体算法如下:
图 2为用 PCR重建 27MHz***时钟的流程示意图, 如图所示, 解码器 从输入码流的包头中解出时间信息 PCR送入到***时间时钟恢复电路; *** 时间时钟恢复电路再接收到每一个新的 PCR时, 进行本地***时间时钟恢复 和锁相。 当一个新节目的 PCR到达解码器时就需要更新时间基点, STC要设 置为 PCR中的当前值。通常第一个从解复用器中解出的 PCR被直接装入 STC 的计数器, PCR值作为锁相环的参考频率用来和 STC的当前值比较, 产生的 差值经过脉宽调制后输入到低通滤波器并经放大, 成为控制信号用来控制压 控振荡器(VCO, Voltage Controlled Oscillator )的瞬时频率, VCO输出的频 率是在 27MHz左右的振荡信号, 它作为解码器的***时钟。
解复用器后, 从 PES包头解出展现时间戳 PTS和解码时间戳 DTS, 并送 入到解码器中。
分组基本流解码器在接收到新的 PTS DTS 后, 存入对应的先进先出 ( FIFO, First In First Out )存储器中进行管理, 对于没有 PTS/DTS的显示单 元, 通过差值计算的方法获得其对应的时间戳, 并送入到 FIFO中管理。
每一个显示单元开始解码前,用其对应的 DTS与 STC进行比较, 当 STC 与 DTS相等时开始解码。
每一个显示单元开始显示前, 用其对庶的 PTS与 STC进行比较, 当 STC 与 PTS相等时开始显示。
二、 实时传输协议流(RTP, Realtime Transport Protocol )的同步。
RTP是针对 Internet上多媒体数据流的一个传输协议 , 由 Internet工程任 务组(IETF, Internet Engineering Task Force )作为 RFC 1889发布。 RTP被定 义为在一对一或一对多的传输情况下工作, 其目的是提供时间信息和实现流
同步。 RTP的典型应用建立在用户数据 ^艮协议 ( UDP, User Datagram Protocol ) 上, 但也可以在传输控制协议(TCP, Transmission Control Protocol )或其他 协议之上工作。 RTP本身只保证实时数据的传输, 并不能为按顺序传送数据 包提供可靠的传送机制, 也不提供流量控制或拥塞控制, 它依靠实时传输控 制协议(RTCP, Realtime Transport Control Protocol )提供这些服务。
RTCP负责管理传输质量在当前应用进程之间交换控制信息。 在 R P会 话期间, 各参与者周期性地传送 RTCP包, 包中含有巳发送的数据包的数量、 丢失的数据包的数量等统计资料, 因此, 服务器可以利用这些信息动态地改 变传输速率, 甚至改变有效载荷类型。 RTP和 RTCP配合使用, 能以有效的 反馈和最小的开销使传输效率最佳化, 故特别适合传送网上的实时数据。
1、 RTP流中时间戳的处理。
时间戳字段是 RTP首部中说明数据包时间的同步信息, 是数据能以正确 的时间顺序恢复的关键。 时间戳的值给出了分组中数据的第一个字节的采样 时间 (Sampling Instant), 要求发送方时间戳的时钟是连续、 单调增长的, 即使 在没有数据输入或发送数据时也是如此。 在静默时, 发送方不必发送数据, 保持时间戳的增长, 在接收端, 由于接收到的数据分组的序号没有丟失, 就 知道没有发生数据丢失, 而且只要比较前后分組的时间戳的差异, 就可以确 定输出的时间间隔。
2、 实时流协议 ( RTSP, Real-time Streaming Protocol )播放 RTP节目过 程示意。
RTSP是应用层协议, 目的是为流媒体实现多点传送和以点播方式单一传 送提供的协议。 RTSP利用流技术把数据分成许多包, 包的大小由客户端和服 务端的实际带宽决定, 当客户端接收到足够的数据包时, 用户不需下载整个 媒体文件就可以开始播放流媒体。 因为播放器在播放一个包的同时, 解压另 一个包并下载第三个包。 流媒体数据可以是输入的实况信息, 也可以是存储 的视、 音频片段。 通过 RTSP协议, 服务器端可以跟踪流媒体传输的时间、地 址和方式。 RTSP增加了对流媒体的控制请求, 能恢复来自媒体服务器的流媒
体。
在 RTSP中假定: 采样频率为 8000 Hz (采样频率由负载格式决定), 打 包间隔为 100 ms, 初始化的序列号(sequence number )和 RTP时间戳 ( rtp timestam ) 为 0, 贝' j表述为:
C->S: PLAY rtsp://xyz/fizzle RTSP/1.0
CSeq: 4
Session: abcdefg
Range: npt=10-15
S->C: RTSP/1.0 200 OK
CSeq: 4
Session: abcdefg
Range: npt=10-15
RTP-Info: url="rtsp://xyz/fizzle/audiotrack"
ssrc=0D12F123: seq=0;rtptime=0
RTP的数据流描述如下:
S -> C: RTP packet - seq = 0, rtptime = 0, NPT time = 10s S -> C: RTP packet - seq = 1 , rtptime = 800, NPT time = 10.1s
S -> C: RTP packet - seq - 49, rtptime = 39200, NPT time = 14.9s 其中, PT为正常播放时间 ( Normal play time )。
通过 Range: 10― 15可以获知播放的节目的时间段为节目的第 10 ~ 15秒; 所以 RTSP服务器下发的 RTP包的显示时间 ( PT )从 10开始。
通过上例可以看出 RTP timestamp和 NPT时间之间的对应关系, 终端根 据将多个 RTP流的 RTP time-stam 转换为统一的 NPT,将 NPT相同的(相差 在某个范围之内) 同时展现。
目前存在着将 TS流与 RTP流之间同步的需求, 进一步的, 更加需求在 任意不同媒体流之间进行同步。 然而, 现有技术中却没有相应的解决方法。
P T/CN2007/003176 发明内容
本发明实施例提供一种不同媒体流间的同步方法及***, 用以实现来自 于不同网络媒体之间的媒体流之间的同步。 更进一步的, 用于实现 RTP流与 TS流之间的同步。
本发明实施例所提供的一种不同媒体流间的同步方法, 包括如下步骤: 建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系; 建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系; 根据所述对应关系, 在时间信息对应的第一显示时间与第二显示时间差 小于阔值时, 将第一媒体流数据包与第二媒体流数据包同时显示。
本发明实施例还提供了一种不同媒体流间的同步***, 包括:
第一对应模块, 用于建立第一媒体流数据包第一时间信息与第一显示时 间的第一对应关系;
第二对应模块, 用于建立第二媒体流数据包第二时间信息与第二显示时 间的第二对应关系;
显示模块, 用于才艮据所述对应关系, 在时间信息对应的第一显示时间与 第二显示时间差小于阔值时, 将第一媒体流数据包与第二媒体流数据包同时 显示。
本发明实施例还提供了一种媒体流发送方法, 包括如下步骤:
将第一媒体流、 第二媒体流发送至终端, 所述第一媒体流和 /或第二媒体 流中包括: 第一媒体流数据包第一时间信息与第一显示时间的第一对应关系 信息、 第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息。
本发明实施例还提供了一种媒体流发送***, 包括向终端发送第一媒体 流的第一媒体流服务器、 向终端发送第二媒体流的第二媒体流服务器, 还包 括对应关系放置模块, 用于在第一媒体流服务器向终端发送的第一媒体流、 和 /或第二媒体流服务器向终端发送的第二媒体流中放置对应关系信息, 所述 对应关系包括: 第一媒体流数据包第一时间信息与第一显示时间的第一对应
关系、 第二媒体流数据包第二时间信息与第二显示时间的第二对应关系。 本发明有益效果如下:
本发明在于通过利用在各自媒体流中各数据包中固含的时间信息建立对 应关系, 同时由于不同媒体流需要完成同步, 则其必然存在需要同步的原因, 比如需要同时显示等等, 从中利用这个共同的因数建立起一个共同的时间坐 标, 再利用所建立的对应关系来进行协调控制, 从而解决了不同媒体流之间 的同步问题。 更进一步的, 本发明实施例中以 TS流与 RTP流之间的同步为 例, 利用了 TS流 PTS与 NPT的对应关系, 以及 RTP流 time-stamp与: PT 的对应关系, 将 NPT相同的 TS流存储单元与 RTP流包中的展现单元同时显 示, 从而完成了两种流之间的同步。 实现了来自于广播网络的节目和来自于 宽带节目的同步, 解决了来自于不同网络的媒体流之间的同步, 在现代流媒 体技术中具有显著的实际运用效果及意义。 附图说明
图 1为背景技术中所述 MPEG-2的时序模型示意图;
图 2为背景技术中所述用 PCR重建 27MHz***时钟的流程示意图; 图 3为本发明实施例应用场景示意图;
图 4为本发明实施例中所述 RTP流与 TS流的同步方法实施示意图; 图 5为本发明实施例中所述 RTP流与 TS流的同步方法中单个展现单元 的同步基本原理示意图;
图 6为本发明实施例中所述 RTP流与 TS流的同步方法中多个展现单元 的同步基本原理示意图;
图 7为本发明实施例中所述 RTP流与 TS流同步方法的一个具体实施例 的流程示意图;
图 8为本发明实施例中所述 RTP流与 TS流的同步方法中利用 NTP实现 单个展现单元的同步基本原理示意图;
图 9为本发明实施例中所述 RTP流与 TS流的同步方法中利用 NTP实现
多个展现单元的同步基本原理示意图;
图 10为本发明实施例中所述 RTP流与 TS流同步方法的另一个具体实施 例的流程示意图;
图 11为本发明实施例中所述 RTP流与 TS流的同步***结构示意图; 图 12为本发明实施例中所述 PES包头数据示意图;
图 13为本发明实施例中所述第一实施例携带对应关系的***架构一示意 图;
图 14为本发明实施例中所述广播节目流携带对应关系的实施流程一示意 图;
图 15为本发明实施例中所述第一实施例携带对应关系的***架构二示意 图;
图 16为本发明实施例中所述广播节目流携带对应关系的实施流程二示意 图;
图 17为本发明实施例中所述第一实施例携带对应关系的***架构三示意 图;
图 18为本发明实施例中所述第一实施例携带对应关系的***架构四示意', 图;
图 19为本发明实施例中所述广播节目流携带对应关系的实施流程四示意 图;
图 20为本发明实施例中所述 PES包结构示意图;
图 21为本发明实施例中所述第二实施例携带对应关系的***架构一示意 图;
图 22为本发明实施例中所述 RTP流/ RTCP包携带对应关系的实施流程一 示意图;
图 23为本发明实施例中所述 RTP流/ RTCP包携带对应关系的实施流程二 示意图;
图 24为本发明实施例中所述 RTP流/ RTCP包携带对应关系的实施流程三
示意图;
图 25为本发明实施例中所述第二实施例携带对应关系的***架构四示意 图;
图 26为本发明实施例中所述 RTP流 /RTCP包携带对应关系的实施流程四 示意图;
图 27为本发明实施例中所述 RTP包头结构示意图;
图 28为本发明实施例中所述 RTP包结构示意图;
图 29为本发明实施例中所述 RTCP SR包结构示意图;
图 30为本发明实施例中所述 RTCP SDES包结构示意图;
图 31为本发明实施例中所述 APP: Application-Defined RTCP Packet包头 结构示意图;
图 32为本发明实施例中所述 APP: Application-Defined RTCP Packet包结 构示意图;
图 33为本发明实施例中所述第三实施例利用映射服务器承载对应关系的 ***架构示意图;
图 34为本发明实施例中所述利用映射服务器承载对应关系的实施流程一 示意图;
图 35为本发明实施例中所述利用映射服务器承载对应关系的实施流程二 示意图;
图 36为本发明实施例中所述利用映射服务器承载对应关系的实施流程三 示意图;
图 37为本发明实施例中所述发送***一结构示意图;
图 38为本发明实施例中所述发送***二结构示意图;
图 39为本发明实施例中所述发送***三结构示意图。 具体实施方式
下面结合附图对本发明的具体实施进行说明。
本发明实施例的构思在于, 首先建立第一媒体流数据包第一时间信息与 第一显示时间的第一对应关系; 建立第二媒体流数据包第二时间信息与第二 显示时间的笫二对应关系; 4艮据对应关系, 在时间信息对应的第一显示时间 与第二显示时间差小于阈值时, 将第一媒体流数据包与第二媒体流数据包同 时显示。 本发明实施例构思实质在于, 通过利用在各自媒体流中各数据包中 固含的时间信息建立对应关系, 同时由于不同媒体流需要完成同步, 则其必 然存在需要同步的原因, 比如需要同时显示等等, 从中利用这个共同的因数 建立起一个共同的时间坐标, 再利用所建立的对应关系来进行协调控制, 从 而解决了不同媒体流之间的同步问题。
由于, 本发明实施例构思所使用的是不同媒体流中的固有自然规律, 因 此, 本发明具体实施中将用比较典型的两种媒体流: TS流与 RTP流的同步为 例来阐述本发明的具体实施方式以及本发明, 但显然, 本发明实施例并不仅 仅只能运用于解决 TS流与 RTP流之间的同步问题。
为了更清晰的了解本发明实施例的目的, 首先介绍一下本发明实施例的 应用场景, 图 3为本发明实施例应用场景示意图, 如图所示, 在图中 TS流与 RTP 流经过同步协调后, 同时展现出来。 假设用户打开电视机, 想要观看广 播网节目; 同时, 用户又希望选择宽带节目进行观看; 在广播网节目和宽带 节目在终端能以一定的方式组合显示时, 如: 画中画, 多屏幕显示等等方式; 当广播节目是视频节目, 宽带节目为音频节目; 或广播节目是视频、 音频节 目, 宽带为第二视频节目 (与广播的视频节目画面匹配) 时; 广播节目是低 清晰度的视频、 音频, 宽带节目是附加清晰度的视频、 音频, 此时如果希望 所选择的宽带节目需要与广播网络的节目同步, 那么两者就可以通过本发明 实施例同步协调结合, 从而显示出相匹配的高清晰度的电视节目等等。
也就是, 本发明实施例是要提供一种实现来自于广播网络的节目和来自 于宽带节目的同步方法。 从而解决来自于不同网络的媒体之间的同步, 如: 来自广播网络的节目流( TS流)和来自宽带网絡的 RTP节目流。
图 4为 RTP流与 TS流的同步方法实施示意图, 如图所示, 同步时包括
76 以下步骤:
步驟 401、 建立传输流展现时间戳与正常播放时间的第一对应关系; 步驟 402、 建立实时传输协议流时间戳与正常播放时间的第二对应关系; 步骤 403、根据第一对应关系将传输流中的存储单元的展现时间戳与正常 播放时间对应, 根据第二对应关系将实时传输协议包与正常播放时间对应; 步驟 404、 将正常播放时间相同的存储单元与实时传输协议包同时显示。 下面对本实施例中用以实现 TS流和 RTP流同步的元素进行说明:
1、 TS流的 PES包头中的展现时间戳 ( PTS, Presentation time-stamp ), 用以指出一个展现单元 (presentation unit ), 展现单元是已解码的一个音频访 问单元或一帧解码图像在***目标解码器中 现的时刻;
2、 TS包头中节目参考时钟 PCR;
3、 RTP包头中的时间戳(RTP time-stamp ), 表示本 RTP数据包的第一个 字节的采样时刻, 即使没有 RTP包发送, times-tamp仍然按照采样频率增长, 多个 RTP数据包的时间戳可以相同, 表示是同一时刻采样出的数据, 分成多 个 RTP数据帧传输;
4、 RTSP媒体描述中的数据类型和编码格式。 如 "m=audio 3456 RTP/AVP 0"。 根据媒体的类型可以获知其采样频率;
5、 RTSP的 PLAY response中的 Range header和 RTP-Info header, 可以通 过它获知 RTP timestamp 和正常播放时间 ( NPT )之间的对应关系。
图 5为 RTP流与 TS流的同步方法中单个展现单元的同步基本原理示意 图, 如图所示,
假设 RTP包中的第 t个展现单元的 RTP timestam 为 RTP(t), TS流中第 j 个展现单元的 PTS为 PTS①, 根据一定的计算法则 (后面详细介绍该计算方 法)将 RTP(t)、 PTS(j)转换为 NPT(RTP(t) )、 PT(PTS(j)), 当 NPT(RTP(t)和 NPT(PTS(j))相等的时候, 或者在某一个设定的区间内的时候, 则同时展现来 自 TS流和 RTP流的这两个展现单元, 从而实现这两个流的同步。 该设定的 区间用于当时间信息对应的第一显示时间与第二显示时间差小于该设定阈值
时, 将第一媒体流数据包与第二媒体流数据包同时显示, 显然, 该设定的阈 值是可以根据需要来确定的, 如普通的设定为 0.1秒, 而对要求高精度同步的 这可以设为 0.001秒等等, 以下实施例中同理进行设定。
图 6为 RTP流与 TS流的同步方法中多个展现单元的同步基本原理示意 图, 基于图 5所述的原理, 以此类推, 当多个展现单元存在时, 则如图 6所 示, 多个 RTP流(RTP1、 RTP2、 …、 RTPn ) 中展现单元的 RTP timestamp和 多个 TS流(TS1、 TS2 TSn ) 中展现单元的 PTS时间均对应成的 PT 时间相等时, 或者在某一个小的按需要设置的区间内的时候, 则同时显示, 从而实现同步。
PTS头表示应该何时在终端播放该展现单元。 RTP头中的 RTP time-stamp 表示自开始点播以来的釆样时间长度, 参考媒体的采样频率 (从媒体的格式 可以查找到规定的采样频率) 以及 PLAY response中的 Range (播放时间段) 和 Range对应的 timestamp数值, 因此实施时可以利用 PT时间建立 PTS和 RTP timestam 之间的对应关系。
图 7为 RTP流与 TS流同步方法的一个具体实施例的流程示意图, 如图 所示, 实施时包括以下步骤:
步驟 701、 用户观看节目, 如: 画中画节目、 双屏幕节目等;
步骤 702、 用户根据节目菜单选择广播节 3 A进行观看;
步骤 703、 终端转到用户所选节目 A所在的频道, 并接收节目 A的 TS 流; 实施时节目 A可以通过数字视频广播(DVB, Digital Video Broadcast) 等协议下发到终端;
步驟 704、 终端获知该节目的起始解码器从输入的 TS流的包头中解出含 时间信息的 PCR送入到***时间时钟恢复电路, 校准***时间时钟 ( SCR, System Clock Reference );
步骤 705、 获得 PTS和 NPT之间的对应关系;
步骤 706、基本流解码器在接收到新的 PTS后, 存入对应的 FIFO中进行 管理, 对于没有 PTS/DTS的显示单元, 需要对其时间标签进行差值, 并送入
到 FIFO中管理。 即获得每个存储单无的 PTS(t);
步骤 707、 当由步骤 706获得新 PTS后, 再根据步骤 705中的对应关 系, 计算出该 PTS(t)所对应的相对于节目起点的正常播放时间 NPT(RTP(t)), 此时 TS流处理结束, 转入步骤 713等待进行显示;
步骤 708、 用户选择宽带节目 B , 宽带节目 B需要和广播节目 A同步播 放;
步骤 709、 终端和服务器建立 RTSP连接;
步 4聚 710、 终端根据媒体源的媒体描述, 来获知媒体的釆样频率 f;
步骤 711、 终端用户请求播放节目 B, 服务器响应发送 RTSP报文; 根据 RTSP协议 PLAY response中的 Range header和 RTP-Info header, 终端解码器 由此可获知 RTP timestamp和正常播放时间 ( NPT )之间的对应关系;
即以后的 RTP时间戳可通过公式:
NPT( RTPG) ) =(RTP timestampG) - RTP timestamp(k)) I f + NPT( RTP(k) ); 计算出 RTP timestamp(j)对应的 PT ( RTP(j) ); 其中, k时刻位于 j时刻 之前。
步驟 712、 收到服务器发送的 RTP包, 获知其 RTPtimestamp为 RTPG), 根据步骤 711中的对应关系计算出对应的 NPT时间为 NPT ( RTPG) ), 此时, RTP流处理结束, 转入步驟 713等待显示;
、 步骤 713、 比较上述根据 RTP时间戳转换后的 NPT ( RTP(j) )和根据 PTS 计算出来的 NPT(PTS (t)), 当它们相等时, 或按照某种计算规则, 相差在某个 区间时, 同时显示这两个包。
依此类推, 逐个包的同步即实现了两个流的同步。
在步骤 705 中, 对于 TS流, 在具体实施时可以通过如下几种方法获取 PTS与 NPT之间的对应关系。
方法 1 :
Syntax iNumber of bits Identifier
event_information_section() {
table— id 8 uimsbf section— syntax— indicator 1 bslbf reserved_future_use 1 bslbf reserved 2 bslbf section— length 12 uimsbf service— id 16 uimsbf reserved 2 bslbf version一 number 5 uimsbf current— next— indicator 1 bslbf section— number 8 uimsbf last— section— number 8 uimsbf transport— stream— id 16 uimsbf original— network— id 16 uimsbf segmsnt一 last— section— number 8 uimsbf last— table— id 8 uimsbf for(i=0 i<N;i++){
event— id 16 uimsbf start— time 40 bslbf
StartAU_PTS 33
duration 24 uimsbf running— status 3 uimsbf free—CA—mode 1 bslbf descriptors_loop_length 12 uimsbf for(i=0;i<N;i++){
descriptor()
}
}
CRC 32 32 rpchof
通过在电子节目菜单 (EPG, Electronic Prog ram Guide ) 中的事件信息表 ( EIT, Event Information Table )表中添加节目的起始存储单元的 PTS时间戳 ( StartAU_PTS )标识符, 来使得终端在节目播放期间, 获知节目的起始存储 单元的展现时间戳 PTS; 在 TS流解码后,每获得一个解析出的 PTS后, 带入 公式:
PT ( t ) = ( PTS(t)-StartAU_PTS ) *n/f, f是传输流***时钟频率; n在 实施中取值为 300 , 因为在 MPEG 2标准中, 规定 PTS (展现时间戳)被编码 为***时钟频率的 1/300, ***时钟频率值位于 [27 000 000 -810 , 27 000 000 + 810]区间内, 单位为 Hz。 以下计算中涉及 n值的均以 300的具体实施值来说 明本发明的具体实施。
按以上公式便可计算出该存储单元的相对节目起始点的播放时间 PT。 方法 2:
用扩展 TS包头中的调整字段中的私有字段或者扩展字段,表明该包负荷 对应节目的起始存储单元的 PTS, 也就是头端需要记录下发送过的节目起始 存储单元的 PTS, 该标识符每隔一段时间就发送一次。
则当获得新的存取单元的 PTS后, 通过以下公式:
NPT ( t ) = ( PTS(t)-PTS ( 0 ) ) *n/f;
即可计算出相对节目起始点的播放时间 NPT。
方法 3:
服务器记录下节目的 PTS和节目播放的相对时间 PT的对应关系,如下 表所示:
Event_id/Service— id/Transport— stream— id/original_network_id
(唯一的标识节目)
PTS NPT
随机值 o
随机值 + 27000 1.000 随机值 +节目时长 3000.000
实施时 NPT的精度以满足同步的要求为准。
将该表随着节目的发送, 发送到终端, 终端记录下来, 根据如下公式: NPT (PTS(t))=(PTS(t) - PTS(i))*n/f+ NPT (PTS(i));
其中: NPT(PTS(t))是 t时刻展现时间戳的正常播放时间, PTS(t)是 t时刻 的展现时间戳, PTS(i))是离 t时刻最近的 i时刻的展现时间戳, NPT(PTS(i)) 是离 t时刻最近的 i时刻展现时间戳的正常播放时间, fl是传输流***时钟频 率。
按上述公式即可计算出解出的 PTS对应的 NPT时间。
方法 4:
直接扩展 PES 包头, 加入 PT时间戳。 终端根据该时间戳即可知 PTS 和 NPT之间的对应关系。
为更充分的描述本发明的具体实施, 本发明又提供一实施例进行说明。 下面对本发明实施时用以实现 TS流和 RTP流同步的元素再进行说明。
1、 TS流的 PES包头中的展现时间戳 ( PTS, Presentation time-stamp ), 用以指出一个展现单元( presentation unit ), 展现单元是巳解码的一个音频访 问单元或一帧解码图像中所有的编码数据及跟随其后的任何填充直至(但不 包括)下一个单元的开始, 在***目标解码器中被展现的时刻;
2、 TS包头中节目参考时钟 PCR;
3、 RTP包头中的时间戳(RTP time-stamp ), 表示本 RTP数据包的第一个 字节的采样时刻。 即使没有 RTP包发送, timestamp仍然按照采样频率增长, 多个 RTP数据包的时间戳可以相同, 表示是同一时刻采样出的数据, 分成多 个 RTP数据帧传输;
4、 实时传输控制协议(RTCP, Real-time Transport Control Protocol ) 包 头中, RTP时间戳和网络时间协议 ( NTP , Network Time Protocol ) 时间戳之
P T/CN200菌 176 间的对应关系;
RTCP的一个关键作用就是能让接收方同步多个 RTP流, 为能进行流同 步, RTCP要求发送方给每个传送一个唯一的标识数据源的规范名(Canonical Name ), 尽管由一个数据源发出的不同的流具有不同的同步源标识 ( SSRC ), 但具有相同的规范名, 这样接收方就知道哪些流是有关联的。 而发送方报告 报文所包含的信息可被接收方用于协调两个流中的时间戳值。 发送方报告中 含有一个以 NTP格式表示的绝对时间值,接着 RTCP报告中给出一个 RTP时 间戳值,产生该值的时钟就是产生 RTP分组中的 TimeStamp字段的那个时钟。
' 5、 正常播放时间 (NPT ), 精度满足同步的需要。
图 8为实施例中所述 RTP流与 TS流的同步方法中利用 NTP实现单个展 现单元同步的基本原理示意图, 如图所示, 假设 RTP包中的第 j个包的第一 个展现单元的 KIT timestam 为 RTP(j), TS流中的第 t个存储单元的 PTS为 PTS(t), 则将转换为 NTP (RTP(j), 再转换成 NPT (RTPG), 并将 PTS(t)转换为 NPT(PTS(t)), 当 PT(RTP(j))和 PT(PTS(t))相等的时候, 或者按需要设置在 某一个小的区间内的时候, 则同时展现来自 TS流和 RTP流的这两个展现单 元, 从而实现 RTP流和 TS流之间的同步。
图 9为实施例中所述 RTP流与 TS流的同步方法中利用 NTP实现多个展 现单元同步的基本原理示意图, 按单个展现单元的同步思路, 在多个展现单 元存在时, 以此类推, 如图所示, 多个 RTP流中的展现单元的 RTP timestamp 和多个 TS流展现单元的 PTS时间对应成为 TP时候后均相等时, 或者按需要 设置在某一个小的区间内的时候, 则同时显示, 从而实现多个 RTP流和多个 TS流之间的同步。
下面再举一例以说明具体实施的方式, 图 10为 RTP流与 TS流同步方法 的另一个具体实施例的流程示意图, 如图所示, 在同步时包括如下步骤: 步骤 1001、 用户观看节目, 如: 画中画节目、 双屏幕节目等;
步骤 1002、 用户根据节目菜单选择广播节目 A进行观看;
步骤 1003、 终端转到用户所选节目 A所在的频道, 并接收节目 A的 TS
流; 实施时节目 A可以通过数字视频广播 ( DVB, Digital Video Broadcast ) τ/s/c等协议下发到终端;
步骤 1004、 终端获知该节目的起始解码器从输入的 TS流的包头中解出 含时间信息的 PCR送入到***时间时钟恢复电路,校准***时间时钟( SCR, System Clock Reference );
步驟 1005、获得 PTS和 NPT之间的对应关系,本步骤中的的对应获取方 法同上一实施例;
步骤 1006、 基本流解码器在接收到新的 PTS后, 存入对应的 FIFO中进 行管理, 对于没有 PTS/DTS的显示单元, 需要对其时间标签进行差值, 并送 入到 FIFO中管理。 即获得每个存储单元的 PTS(t);
步骤 1007、 当由步骤 1006获得新的 PTS后, 再根据步骤 1005中的对应 关系,计算出该 PTS(t)所对应的相对于节目起点的正常播放时间 PT(PTS(t)), 此时 TS流处理结束, 转入步骤 1014等待进行显示;
步驟 1008、 用户选择宽带节目 B, 宽带节目 B需要和广播节目 A同步播 放;
步骤 1009、 终端根据其媒体描述获得其编码格式及组播地址, 并可得知 其采样时钟频率;
步骤 1010、终端通过因特网组管理协议 (IGMP , Internet Group Management Protocol )加入組播組, 接收组播组的媒体流(RTP/RTCP );
步骤 1011、 终端接收 RTCP SR (发送方报告) 包, 获得包头中的 RTP timestam 及 NTP 时间戳之间的对应关系, 并且获知起点的 NTP 时间为 NTP(0); 最近的 NTP时间可以获知当前 RTP timestam 对应的 NTP时间, 具 体公式如下所示:
NTPG)=(RTPG)-RTP(k))*n/f + NTP(k);
其中, NTP(k)为 RTP(k)对应的绝对播放时间。
步骤 1012、 收到服务器发送的 RTP包, 获知其 RTPtimestamp为 RTP(j), 根据步骤 1011中的公式计算出的对应的 NPT时间为 NTP①时间;
步骤 1013、 再根据如下公式:
NPT(RTPG)) = NTPG)-NTP(O);
计算出该包对应的 PT时间; 此时, RTP流处理结束, 转入步骤 1014 等待显示;
步骤 1014、比较上述根据 RTP时间戳转换后的 PT( RTPG) )和根据 PTS 计算出来的 NPT(PTS (t)), 当它们相等时, 或按照某种计算规则, 相差在某个 区间时, 同时显示这两个包。
依此类推, 逐个包的同步即实现了两个流的同步。
其中, 当 RTP包的 RTP时间戳的递增不是严格线性递增时, 按上述方式 实施; 而当 RTP包的 RTP时间戳的递增是严格递增时, 则不需要将其转化为 NTP 时间戳然后再转换为 NPT, 根据下列公式 NPT ( RTP(j) ) = (RTP(j) - RTP(0))/f 负荷频率直接转换成 NPT时间戳即可。
基于上述发明构思, 本发明实施例还提供了一种实时传输协议流与传输 流的同步***, 图 11为 RTP流与 TS流的同步***结构示意图, 如图所示, 实施时***中包括第一对应模块 1101、 二对应模块 1102、 显示模块 1103 , 其中:
第一对应模块用于建立 TS流 PTS与 NPT的第一对应关系;
第二对应模块用于建立 RTP流时间戳 NPT的第二对应关系;
显示模块, 分别与第一对应模块与第二对应模块相连, 在第一对应模块 将传输流中的存储单元建立对应关系、 第二对应模块将 RTP流中的数据包建 立对应关系后, 将 NPT相同的 TS流存储单元与 RTP流包同时显示。
实施中, 第一对应模块建立 PTS与 PT的对应关系, 与前述 RTP流与 TS流同步方法的实施方式相同。
在任一时间 t时, 第一对应模块按 NPT ( t ) = ( PTS(t)-StartAU_PTS ) *n/fl 建立第一对应关系,
其中: PT ( t )是 t时刻的正常播放时间, PTS(t)是 t时刻的展现时间戳, StartAU— PTS 是通过在 EIT表中添加节目的起始存储单元的展现时间戳, fl
是传输流***时钟频率;
或, 按 NPT (t) = (PTS(t)-PTS (0)) *n/fl建立第一对应关系, 其中: PT (t)是 t时刻的正常播放时间, PTS(t)是 t时刻的展现时间戳, PTS (0)是节目起始存储单元的展现时间戳, fl是传输流***时钟频率; 或, 根据唯一标识节目表的展现时间戳和节目播放相对时间的正常播放 时间对应表, 按公式: PT(PTS(t))=(PTS(t) - PTS(i))*n/fl + NPT (PTS(i))得出 的 PTS对应的 RPT时间 , 建立第一对应关系,
其中: NPT(PTS(t))是 t时刻展现时间戳的正常播放时间, FTS(t)是 t时刻 的展现时间戳, PTS(i))是离 t时刻最近的 i时刻的展现时间戳, NPT(PTS(i)) 是离 t时刻最近的 i时刻展现时间戳的正常播放时间, fl是传输流***时钟频 率;
或, 通过在扩展分組基本流包头加入正常播放时间戳, 建立的展现时间 戳与正常播放时间的对应关系, 建立第一对应关系。
同样, 实施中, 第二对应模块建立 RTP与 PT的对应关系, 与前述 RTP 流与 TS流同步方法的实施方式相同。
在任一时间 j时,第二对应模块按 PT ( RTPG) ) =(RTP timestampO) - RTP timestamp(k))/f2+NPT (RTP(k))建立第二对应关系, 其中: PT (RTP①)是实时传输协议包 j 时刻的正常播放时间, RTP timestampG)是 j时刻的实时传输协议包时间戳, RTP timestamp(k)是同一次请 求响应后位于 j时刻之前的 k时刻的实时传输协议包时间戳, f2是实时传输协 议流中媒体的采样频率; PT (RTP(k))是同一次请求响应后位于 j时刻之前 的 k时刻的实时传输协议包的正常播放时间。
或者,在任一时间 j时,第二对应模块按公式: NTPG')=(RTP(j)-RTP(k))*n/f2 + NTP(k)得出 NTP(k)后, 根据 PT(RTP(i)) = NTP(j)-NTP(0)得出实时传输协 议流包的 NPT时间, 建立第二对应关系,
其中: NTP(j)是 j时刻网络时间协议的时间, RTP(j)是 j时刻的实时传输
003176 协议包时间戳, RTP(k)是离 j 时刻最近的 k时刻的实时传输协议包时间戳, NTP(k)是 k时刻网络时间协议的时间, NTP(O)是起始时刻网络时间协议的时 间, NPT(RTP(j》是实时传输协议包 j时刻的正常播放时间, £2是实时传输协 议流中媒体的采样频率。
下面, 根据上述 RTP流与 TS流的同步原理, 再举运用实例来进一步阐 述本发明实施例中同步方法以及同步***的具体实施方式。
下例是 RTSP操作的音视 over RTP的具体过程,同时另有一路 TS视频流 直接通过 Cable传输: '
RTSP RTP:
C->S: DESCRIBE rtsp://xyz/fizzle RTSP/1.0
CSeq: 312
User-Agent: PhonyClient 1.2
Accept: application/sdp, application/rtsl, application/m eg S->C: RTSP/1.0 200 OK
CSeq: 312
Date: 23 Jan 1997 15:35:06 GMT
Server: PhonyServer 1.1
Content-Type: application/sdp
Content-Length: 367 " v=0
o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4 s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www. example .com/lectures/sdp .ps [email protected] (Seminar Management)
t=2873397496 2873404696
m=audio 3456 RTP/AVP 0
007 003176
C->S: PLAY rtsp://xyz/fizzle RTSP/1.0
CSeq: 4
Session: abcdefg
5 Range: npt=10-15;
S->C: RTSP/1.0 200 OK
CSeq: 4
Session: abcdefg
l o Range: npt= 10-15
RTP-Info: url="rtsp ://xyz/ fizzle/ audiotrack"
ssrc-OD12F123:seq-20;rtptime=76400
从媒体描述 "m=audio 3456 RTP/AVP 0"可以看出, 这是一段音频, 采样 频率是 8000HZ,则每隔 1秒, timestamp值会增加 8000。从" Range: npt=10-15" 15 和 "rtptime=76400,, 可以看出, 是从第 10秒开始播放, 第 10秒采样的 RTP 包头的 timestamp是 76400。
假如过一段时间后,媒体终端收到一个 RTP包, RTP包头中的 timestamp 值是 118000 , 则我们可以换算出此帧对应 的剪辑播放时间 =( 118000-76400)/8000+ 10=15.2秒。
20 图 12为 PES包头数据示意图, 在 TS流中 PES包头如图所示, 其中: 数据段 1201中的 47 40 45 30表示:
有效负载起始指示器: 1
PID, 0x45 (视频流)
调整字段控制: 0x3 , 调整
25 字段后为有效负荷;
数据段 1202中的 07 10 8 A A4 B6 3B FE 00表示: 调整字段长度: 0x07
调整字段中只包含 PCR: 10
P T/CN2007/003176 后面 6个字节为 PRC:
数据段 1203中的 00 00 01表示:
PES开始标志;
数据段 1204中的 FA CF C2 80 CO表示:
流 ID为 OxFA
PES包长度为 0xCFC2
包头中只含有 PTS+DTS: 80C0:
数据段 1205 中的 OA 31 00 53 BF 81
PES包头长度: 0x0 A
后面前 5个字节为 PTS
后面后 5个字节为 DTS。
TS包头中的调准字段中的 PCR值为:
if (PTS—DTS— flags = = Ί0') {
'0010'
PTS [32..30]
marker— bit
PTS [29..15]
marker— bit
PTS [14..0]
marker— bit
}
if (PTS— DTS— flags = = '11') {
Ό01Γ
PTS [32..30]
marker— bit
PTS [29..15]
marker bit
PTS [14..0]
marker— bit
ΌΟΟΓ
DTS [32..30]
marker— bit
DTS [29·.15]
marker— bit
DTS [14..0]
marker— bit
} 由上图中的 PTS值、 节目开始的 PTS值(假设为 0 )及 ES包头中 PTS 的数据格式可以获知笫一个存储单元的 FTS值为 14 DF CO, 十进制表示为 1368000 , 再将 PTS 带入到公式: NPT(PTS (t)) = (PTS(t) - PTS(O)) x n/system— clock— frequency, 计算得出该 PTS对应得存储单元的 NPT时间为 15.2秒, 则与上述的 RTP包的第一个存储单元的展现时间相同, 则同时显示 这两个存储单元。
对于多个媒体流的情况, 用此构思即可实现同步。
由以上描述可知, 本发明实施例中以 TS流与 RTP流的同步为例, 利用 了 TS流 PTS与 NPT的对应关系, 以及 RTP流 time-stamp与 NPT的对应关 系 , 将 NPT相同的 TS流存储单元与 RTP流中展现单元同时显示, 从而完成 了两种流之间的同步。 从而揭示了如何在不同的媒体流之间实现数据的同步, 实现了来自于广播网络的节目和来自于宽带节目的同步, 解决了来自于不同 网络的媒体流之间的同步问题。
上面描述了在终端中根据第一对应关系、 第二对应关系将第一媒体流与 第二媒体流同步的实施方式; 但并不仅限于此, 在具体实施中, 还可以将第 一对应关系与第二对应关系下发至终端, 终端在利用所述关系进行媒体流同 步。 下面对将对应关系下发至终端后, 终端利用接收到的对应关系对媒体流
进行同步的具体实施方式进行说明。
第一实施例描述了将第一对应关系被放置到第一流媒体中, 第二对应关 系被放置到第二流媒体的控制流中; 终端接收这两个流媒体后, 利用其中的 对应关系进行媒体流同步。
第二实施例描述了将第一对应关系放置到第二媒体流中, 第二对应关系 被放置到第二流媒体的控制流中; 终端接收这两个流媒体后, 利用其中的对 应关系进行媒体流同步。
第三实施例描述了将第一对应关系放置在时间映射服务器上, 第二对应 关系放置在第二流媒体的控制流中; 终端接收这两个流媒体后, 利用其中的 对应关系进行媒体流同步。
下面对各实施例进行说明。
第一实施例:
本实施例以 TS流为例来说明如何携带对应关系 ,对应关系以 PTS和 PT 之间的对应关系为例。
图 13为第一实施例携带对应关系的***架构一示意图, 如图所示, 广播 月艮务提供商将节目的 PTS和 PT之间的对应关系放置在 TS流中下发至终端, 而宽带服务提供商在 RTSP流中携带 RTP Timestam 和 NPT之间的对应关系 下发至终端, 终端再根据这两个对应关系进行流媒体同步。
具体携带对应关系可以按以下方式进行实施, 图 14为广播节目流携带对 应关系的实施流程一示意图, 如图所示, 携带对应关系可以包括如下步驟: 步骤 1401、广播服务提供商确定广播节目存取单元 PTS和 NPT之间的对 应关系;
步驟 1402、并将广播节目 A的这种 PTS和 PT的对应关系放置在 TS流 中;
步骤 1403、 广播服务提供商将广播节目 A及上述的时间对应关系所在的 TS流发送至终端;
步骤 1404、 终端接收到广播节目 A流媒体时, 即可获得广播节目 A中
PES包的 PTS值, 以及 PTS值和 NPT之间的对应关系;
步骤 1405、终端根据已经获得广播节目 A中 PES包的 FTS, 即可插值计 算获得节目 A中各个存取单元的 PTS值;
步骤 1406、 根据对应关系, 可计算获得各个存取单元对应的 NPT;
具体实施时可根据如下公式计算获得:
NPT(i + k)-NPT(i-k) * 一 一
NPT (i) =NPT (i-k) + PTS(i + k)-PTS(i-k) ; 或,
NPT(i) = PT(i-k) + ( 7^·)- - V/1, fl为***时钟频率的 1/300。 步驟 1407、 终端使用 RTSP协议请求观看宽带节目 B;
步骤 1408、 RTSP服务器响应, 并发送宽带节目 B 的 RTP 包的 RTP Timestamp及对应的 PT等信息至终端;
步骤 1409、 终端获知宽带节目 B的 RTP包的 RTP Timestam 及对应的 PT;
步骤 1410、 通过计算可获得任一存取单元的 NPT;
具体可以通过如下计算公式计算获得:
NPT (j) = PT (j-k) + (RTP (j) -RTP (j-k) /f2, f2为 RTP流负荷 的采样频率。
步骤 1411、 终端在相应的应用场景下进行所需要的相应处理, 如: 快进 快退、 同步、 节目切换等。
对于步骤 1411中的各种操作具体可以按如下方式进行实施:
1、如需要实施同步,则终端根据广播节目 A存取单元的 PTS对应的 NPT 值, 和来自于宽带的宽带节目 B存取单元的 RTP Timestam 对应的 PT值进 行比较, 相同即进行同步展现;
2、 如需实施快进快退, 则只需在步驟 1406和步骤 1407之间添加快进快 退操作的时间点, 然后终端记录下该广播节目 A操作点的 PTS值及对应的 PT (如: PT(x)); 将步驟 1407变化为: 请求下发从该快进快退、 暂停的
P T/CN200菌 176 操作点的 NPT ( X )开始快进快退播放、 暂停点开始播放节目; 将步驟 Mil 变化为: 在操作时间点处, 将原来的广播节目切换为宽带节目; 即不播放广 播节目的 NPT ( x+1 )对应的及后续的存取单元, 播放宽带节目的 NPT ( x+1 ) 对应的及后续的存取单元即可。
3、 如需切换节目, 则在步骤 1406和步驟 1407之间加上: 终端已知切换 时间点为 NPT ( X )或切换的 PTS时间点, 计算可获得对应的 NPT ( X ); 将 步骤 1407变化为: 考虑到网络延时, 在切换点之前的某一时刻终端开始请求 从 NPT ( x ) 点开始播放宽带节目 B; 将步骤 1411变化为: 接收到 NPT ( x ) 点的 RTP流下发的存取单元替代广播通道下发的该节目 NPT ( x )对应的存 取单元播放即可。
图 15为第一实施例携带对应关系的***架构二示意图, 如图所示, 广播 服务提供商将节目的 PTS和 NTP之间的对应关系放置在 TS流中下发至终端, 而宽带服务提供商在 RTCP流中携带 RTP Timestamp和 PT之间的对应关系 下发至终端, 终端再才艮据这两个对应关系进行流媒体同步。 与架构一相比, 不同点主要体现在: (1 ) 广播提供商下发的 TS 流中包含的对应关系为 PTS 和 NTP之间的对应关系; ( 2 ) RTSP变为 RTCP。
具体携带对应关系可以按以下方式进行实施, 图 16为广播节目流携带对 应关系的实施流程二示意图, 如图所示, 携带对应关系可以包括如下步骤: 步骤 1601、 广播月艮务提供商确定广播节目 A存取单元 FTS和 PT之间 的对应关系;
步骤 1602、 宽带服务提供商告知广播服务提供商宽带节目 B的 NPT和
NTP Timestamp之间的时间对应关系;
具体实施中步驟 1601、 步骤 1602的先后顺序不须作出限定。
步骤 1603、 广播服务提供商, 根据步骤 1601、 步骤 1602中获得的对应 关系通过计算可获得广播节目 A的 PTS和宽带节目 B的 NTP Timestam 之间 的对应关系; 具体对应关系可按下式进行计算为:
PTS (t) = fl ; ψα = PTS(0) - * NTP(0)
其中, /1 , 2为 STC频率的 1/300, fl为宽带节目 B 负荷类型的采样频率; 广播节目 PTS(O) 可以 居 NPT = 0找到对应的 PTS
( 0 ), NTP ( 0 ) 同样根据 PT = 0找到对应的 NTP ( 0 )。
步驟 1604、广播服务提供商将广播节目的 PTS和 NTP之间的对应关系放 置在 TS流中;
步骤 1605、 广播服务提供商将广播节目 A及上述的对应关系所在的 TS 流发送至终端;
步骤 1606、 终端接收到广播节目 A媒体流时, 即可获得广播节目 A的 PES包的 PTS值及 PTS和 NTP之间的对应关系;
步骤 1607、 终端根据已经获得广播节目 A的 PES包的 PTS, 即可插值 计算获得节目 A各个存取单元 PTS值;
步骤 1608、 根据对应关系计算获得各个存取单元对应的 NTP;
具体可根据如下公式计算获得:
NTP i + k)-NTPii-k)
NTP (i) =NTP (i-k) + PTS(i + k)-PTS(i-k) ; 或,
NTP (i) =NTP (i-k) + ·)-™("))//2。
步驟 1609、 宽带节目 B经 RTP协议封装下发至组播组;
步骤 1610、宽带节目 B相关的 RTCP包发送至组播组,包含 RTCP SR包; 步骤 1611、 终端加入组播組接收宽带节目 B及 RTCP包;
步骤 1612、终端获知宽带节目 B的 RTP包的 RTPTimestamp,以及 RTCP SR包中的 RTP Timestamp和 NTP Timestamp之间的对应关系;
步骤 1613、终端根据步驟 1612的对应关系计算获得任一存取单元的 NTP; 具体可以根据如下公式计算获得:
T N2007/003176
NTP (j ) = NTP (j-k ) + ( RTP (j ) - RTP (j-k) ) /fl。
步骤 1614、 终端在相应的应用场景下进行所需的相应处理, 如: 快进快 退、 同步、 节目切换等操作处理。
对于步骤 1614中的各种操作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得广播节目 A存取单元的 PTS对应的 NTP值,和来自于宽带 的宽带节目 B存取单元的 RTP Timestamp对应的 NTP值进行比较, 相同则同 步展现即可;
2、 切换处理:
当接收到 RTP流的存取单元, 并获知其 RTP Timestamp ( x )及对应的 NTP ( x )以及后续的存取单元, 替代广播通道下发的广播节目 A中 NTP ( X ) 对应的 PTS ( x )所指示的存取单元以及后续存取单元进行播放即可。
图 17为第一实施例携带对应关系的***架构三示意图, 如图所示, 广播 服务提供商将节目的 PTS和 NTP之间的对应关系放置在 TS流中下发至终端, 而宽带服务提供商在 RTCP流中携带 RTP Timestamp和 NTP之间的对应关系 下发至终端, 终端再根据这两个对应关系进行流媒体同步。
架构三和架构二均是描述 TS流中携带 PTS和 NTP时间对应关系及 RTCP 流携带 RTP Timestamp和 NTP对应关系的架构, 架构三的不同之处在于广播 服务提供商向宽带服务提供商提供节目起始播放 NTP时间或提供节目 NTP和 NPT之间的对应关系。
由于此时实施例中的广播服务器本身有 NTP时钟, 广播服务提供商采用 本服务器端的 NTP时钟和 STC时钟采样即可获得 PTS和 NTP之间的时间对 应关系及 NPT和 NTP之间的对应关系。
广播服务提供商需告知宽带节目在 NTP ( 0 )点开始播放宽带节目 B, 或 NTP和 NPT之间的对应关系, 宽带服务提供商即可判别 NPT点的存取单元 的 NTP时间值是否和广播服务提供商提供的广播节目 A该 NPT点对应的存 取单元的 NTP值相等, 相等即可, 否则需要进行修正。
相应的,将架构二的实施流程中的步骤 1602 ~步驟 1603变更为以下步骤: Α、广播服务提供商同时对 STC和 ΝΤΡ时钟进行采样,获得对应的 PTS ( i )和 NTP ( i ); 获得了 PTS和 NTP的对应关系;
B、 根据架构二中的步骤 1601 , 广播服务提供商即可获知 PT = 0处的 PTS ( 0 ), 再根据上一步驟 A即可获知 PTS ( 0 ) 对应的 NTP ( 0 );
可知, 此时的 PT和 NTP之间的对应关系为: NTP ( t ) = NTP ( 0 ) +NPT
( t );
C> 广播服务提供商将 NTP ( 0 )或 PT和 NTP之间的对应关系发送到 宽带服务提供商;
D、 宽带服务提供商根据广播服务提供商提供的 NPT和 NTP之间的对应 关系, 设置宽带节目存取单元对应的 NTP值;
具体实现可以为: 给节目打包时, 宽带节目的 NTP和 NPT的对应关系和 广播节目的 NTP时间和 NPT之间的对应关系相同, 即 NTP时钟的起始时刻 置为相同, 频率置为相同。
图 18为第一实施例携带对应关系的***架构四示意图, 如图所示, 宽带' 服务提供商将 RTP流的 RTP Timestamp和 PT之间的映射关系发送给广播服 务提供商, 广播服务提供商经过换算后获知 PTS和 RTP Timestamp之间的对 应关系, 并将这一对应关系中的时间对放置到 TS流中下发至终端。 终端利用 广播节目的 PTS 值、 PTS 和 RTP Timestam 的对应关系、 宽带节目 RTP Timestamp, 根据相应的需要进行同步、 切换、 快件快退等处理。
具体携带对应关系可以按以下方式进行实施, 图 19为广播节目流携带对 应关系的实施流程四示意图, 如图所示, 携带对应关系可以包括如下步骤: 步骤 1901、 广播服务提供商确定广播节目 A存取单元 PTS和 NPT之间 的对应关系; &
步骤 1902、宽带服务提供商将宽带节目 B的 RTP Timestam 和 NPT之间 的对应关系发送至广播服务提供商;
步骤 1903、 广播服务提供商以 NPT做为中介点, 找到 PTS对应的 RTP
Timestamp; 如果为多个 RTP流的 RTP Timestam , 需要加标识进行区分是那 个音视频流的 RTP Timestamp和 PTS的对应;
步骤 1904、 并将广播节目的这种 PTS和 RTP Timestamp的对应关系放置 在 TS流中;
步骤 1905、 广播服务提供商将广播节目 A及上述的时间对应关系所在的 TS流发送至终端;
步骤 1906、 终端接收到广播节目 A流媒体时, 即可获得广播节目 A的 PES包的 PTS值及其 PTS值和 RTP Timestamp之间的对应关系;
步骤 1907、 终端根据已经获得广播节目 A的 PES包的 PTS, 即可插值 计算获得节目 A中各个存取单元 PTS值;
步骤 1908、根据对应关系,计算获得各个存取单元对应的 RTP Timestamp; 具体可根据如下公式计算获得:
RTP(i + k)-RTP(i-k)
:(PTS(i)-PTS(i-k))
RTP (i) =RTP (i-k) +PTS(i + k)-PTS(i-k)
或,
n
RTP ( i ) = f2 ;
u (. =RTP(0)-^-"PTS(0)
其中 /2 , fl为宽带节目 B的负荷类型对应的采样频 率, f2为 STC的时钟频率的三百分之一。 (需要步骤 2还需传输宽带节目 B 的负荷类型)。
步驟 1909、 终端使用 RTSP协议请求观看或加入组播组接收宽带节目 B, 宽带节目 B发送至终端;
步骤 1910、 终端获知宽带节目 B的 RTP包的 RTP Timestamp;
步骤 1911、 终端在相应的应用场景下进行需要的相应处理, 如: 快进快 退、 同步、 节目切换等处理。
对于步骤 1911中的各种操作具体可以按如下方式进行实施:
007003176
1、 进行同步处理:
终端根据获得广播节目 A存取单元的 PTS对应的 RTP Timestamp值, 和 来自于宽带的宽带节 ¾ B存取单元的 RTP Timestamp值进行比较 ' 相同则同 步展现;
2、 快进快退处理:
在步骤 1908和步骤 1909之间添加: 快进快退操作的时间点, 终端记录 下该广播节目操作点的 PTS值及对应的 RTP Timestamp (如: RTP ( x ) ); 根据 RTSP协议发送的 RTP Timestamp和 NPT的对应关系, 可知操作点 为 PT ( X );
在步骤 1909中留一些时间余量, 终端使用 RTSP协议, 请求下发从该操 作点的 NPT ( X )开始快进快退播放节目宽带节目 B的请求;
在步驟 1911中, 在操作时间点处, 将原来的广播节目 A切换为宽带节目 B; 即不播放广播节目的 PT(x)对应的存取单元,播放宽带节目的 PT(x) 对应的存取单元, 播放速率由发送的 RTSP请求决定即可。
3、 切换处理:
在步驟 1908和步驟 1909之间加上: 终端已知该广播节目切换点的 PTS 值及对应的 RTP Timestamp (如: RTP (x));
在切换点之前的某一时刻终端开始加入组播組接收 R P流;
在步驟 1911中, 将接收到 NPT ( X ), 即后续 RTP流下发的存取单元, 替 代广播通道下发的该节目 PT (X)对应的后续的存取单元播放即可。
下面对在 TS流中携带时间对应关系的方式进行说明。
即: 对于上述实施例中的步骤 1402、 步骤 1604、 步驟 1904所提到的: 将广播节目的 PTS和 RTP Timestamp的对应关系放置在 TS流中,具体可以按 以下方式实施;
对于 TS流而言,携带时间对应关系的位置可以在 PES包头(与媒体紧耦 合)或者 SI信息中进行携带。
一、 PES包头携带的实施。
N2007/003176 图 20为 PES包结构示意图, 如图所示, 在不改变 PES分包协议及考虑 包中各字段作用的前提下, 可以将 PTS和 NTP Timestamp/NPT之间的对应关 系放置在 PES包头 "可选字段" 内部的 "PES扩展" 中的 "PES专用数据"、 "包头字段" 或 "PES扩展字段数据" 中, 则有:
PES— extension— flag=l&PESjprivate— data— flag=,r ,贝1 J 5个标志位后的可选 字段为 PTS和 NTP Timestamp/NPT之间的对应关系的数据;
或者,
PES— extension— flag=l & PES_extension— flag— 2=' Γ, 则 5个标志位后的可 选字段中的数据即为 PTS和 NTP Timestamp/NPT之间的对应关系的数据。
对于在放置的数据处理上,由于目前的 PES包头中 PTS—DTSJlag的值只 有两个 "10" 和 "11" (表示仅含有 PTS或含有 PTS和 DTS ), 均可表示含有 PTS (展现时间戳), 所以, 对应关系信息只需舍有该 PTS 对应的 NTP Timestamp 、 NPT或 RTP Timestamp即可实现, 如:
Reference—Time—Type— flag
If( Time— Reference— Type— flag==00){
NTP [63..0]
}
If(Time— Reference— flag==01){
PT[31...0]
}
If(Time—Reference— flag 10) {
RTP[31...0]
}
含有 PTS和该 Reference— Time— descriptor的 PES包,即可获得该包的 PTS 时间戳, 以及和该 PTS时间戳对应的 NTP Timestamp 和 /或 NPT和 /或 RTP Timestamp
二、 在 EIT表的 loop中进行携带。
在 EIT表的 loop中的 descriptor新建的 Time— Mapping_descriptor(); 放置
的具***置是: EIT表的 loop 循环中放置新建的、 描述时间对应关系的 descriptor。
放置的数据可以为:
Time_Mapping_descriptor() {
mapping—type;
If ( mapping— type 00 ) {
for(j=0;j<M;j++){
PTS[32...0];
NTP[63 · . ·()];
I
if(mapping_type==01 ) {
forG=0;j<M;j++){
PTS[32...0];
NPT[31...0];
}
}
if(mapping_type= 10){
forG=0;j<M;j++){
PTS[32...0];
RTP[31...0];
}
}
}
该 descriptor可以描述 PTS和 NTP之间的映射关系、 PTS和 NPT Timestamp 之间的映射关系, 或 PTS和 RTP Timestamp之间的映射关系。
考虑到以后也许会使用到 PTS和另外的时间戳之间的映射关系, 所以实 施例中可以在 descriptor中添加一个映射的时间戳的类型标识符用于区分映射 的类型。
三、 新增时间映射关系表 ETMT来进行携带。
为了脱离 EIT表对时间映射关系信息的束缚, 也可以创建新的时间对应 关系表来描述当前 TS流中携带的业务的节目时间戳的对应关系。
新增的表的格式可以按下表所示进行实施:
实施中, 该表可以通过一个指定的 PID获得, 或者通过 PMT表获得其 PID后获得。实施时如果只对正在运行的节目所在的媒体流中传输该表则会更 加的高效。该表的频率和 RTCP SR包的发送频率接近即可, 不需要频率太高。
第二实施例:
本实施例以 RTP流的 RTCP包携带对应关系为例进行说明。
图 21为第二实施例携带对应关系的***架构一示意图, 如图所示, 广播
N2007/003176 服务提供商将广播节目 A的 PTS和 NPT之间的时间对应关系发送至宽带服务 提供商, 宽带服务提供商将宽带节目 B的 RTP Timestamp, NPT之间的关系 进行比较, 可获知 PTS和 RTP Timestamp之间的对应关系, 并将这一对应关 系放置 RTP流/ RTCP包中, 下发至终端。 终端利用广播节目的 PTS、 宽带节 目的 RTP Timestamp ^ RTP/RTCP包的 PTS和 RTP Timestamp之间的对应关系, 即可进^"节目流之间的切换、 同步、 快进快退等处理。
具体携带对应关系可以按以下方式进行实施,图 22为 RTP流 /RTCP包携 带对应关系的实施流程一示意图, 如图所示, 携带对应关系可以包括如下步 骤:
步骤 2201、 广播良务提供商确定广播节目 A存取单元的 PTS和 NPT之 间的对应关系;
步骤 2202、 广播服务提供商将广播节目 A发送至终端;
步骤 2203、 终端接收到广播节目 A媒体流时, 即可获得广播节目 A的
PES包的 PTS值;
步骤 2204、终端 居已经获得广播节目 A的 PES包的 PTS, 即可插值计 算获得节目 A各个存取单元 PTS值;
步驟 2205、广播服务提供商将广播节目 PTS和 1S1PT的对应关系发送到宽 带服务提供商;
步骤 220'6、宽带 务提供商获知宽带节目 B的 RTP Timestamp和 NPT之 间的对应关系;
步驟 2207、 根据步骤 2205和步骤 2206, 以 NPT为中间桥梁建立 RTP Timestam 和 RTP Timestamp之间的对应关系;
如:对应同一 NPT值的 RTP Timestamp和 PTS值为对应的 RTP Timestamp 和 PTS值; 如: 根据 RTP Timestamp ( x )、 RTP和 PT之间的对应关系即可 获得 PT ( X ); 根据 NPT ( X )、 NPT和 PTS的对应关系, 即可获得 PTS ( x ); 步骤 2208、 宽带服务提供商将 PTS和 RTP Timestamp的这一对应关系放 置到 RTP流中;
步骤 2209、 宽带节目 B下发至终端;
步骤 2210、终端接收到 RTP流后即可获知节目各 RTP包的 RTP Timestamp 及对应的 PTS值;
步骤 2211、 插值计算各存取单元的 RTP Timestamp及对应的 PTS值; 步骤 2212、 终端在相应的应用场景下进行需要的相应处理, 如: 快进快 退、 同步、 节目切换等处理。
对于步骤 2212中的各种操作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得宽带节目存取单元的 RTP Timestam 对应的 PTS值, 和广 播节目各存取单元的 PTS值进行比较, 相同则同步展现;
2、 组合处理:
在步骤 2208和步珮 2209之间, 添加如下处理:
终端获知节目的切换时间点为 PTS ( X );
终端在 PTS ( X )之前某一时刻, 加入组播组接收宽带节目 B;
在步骤 2212中, 当终端接收到组播组内的存取单元对应的 PTS值为 PTS ( X )时, 替代广播节目的 PTS ( X )标识的存取单元展现。
上述步驟为 RTP包中携带 RTP Timestamp和 PTS值之间的对应关系的情 况, 对于 RTCP包中携带 RTP Timestamp及对应的 PTS值时, 将步骤 2208变 为: 将对应关系放置到 RTCP包中, 在步骤 2209后添加: RTCP包携带 RTP Timestamp和 PTS之间的对应关系下发至终端即可。
图 23为 RTP流 /RTCP包携带对应关系的实施流程二示意图, 当用 RTCP 携带 PTS和 NPT之间的对应关系; RTSP携带 RTP Timestam 和 NPT之间的 对应关系; RTSP进行 RTP流的控制时, 如图所示, 携带对应关系可以包括如 下步骤:
步驟 2301、 广播服务提供商确定广播节目 A存取单元的 PTS和 PT之 间的对应关系;
步骤 2302、 广播服务提供商将广播节目 A发送至终端;
步骤 2303、 终端接收到广播节目 A媒体流时, 即可获得广播节目 A的 PES包的 PTS值;
步骤 2304、终端才艮据已经获得广播节目 A的 PES包的 PTS, 即可插值计 算获得节目 A各个存取单元 PTS值;
步骤 2305、广播服务提供商将广播节目 PTS和 NPT的对应关系发送到宽 带服务提供商;
步驟 2306、 宽带服务提供商将 PTS和 NPT的时间对应关系放置到 RTCP 包中;
步驟 2307、 宽带节目 B下发至终端;
步骤 2308、 RTSP控制 RTP流, 并携带 RTP Timestamp和 NPT之间的对 应关系及负荷类型;
步骤 2309、 RTCP中含有广播节目 PTS和 NPT之间的对应关系; 步驟 2310、 终端接收到 RTP流后, 根据步骤 2307、 步骤 2308获得的节 目存取单元的 RTP Timestamp、 f、 RTP Timestam 和 NPT之间的时间对应关 系, 可获知节目各 RTP包的 RTP Timestamp及对应的 PT值;
具体可按如下公式计算获得:
NPT (0 = PT (i-k) + (RTP (i) -RTP (i-k)) If,
步骤 2311、 终端根据步骤 2304、 步骤 2309获得的广播节目存取单元的 PTS、 PTS和 PT之间的对应关系, 可获知节目各存取单元对应的 NPT; 具体可按以下公式计算获得:
( )—
NPT (j) =NPT (j-k) + PTS(j + k)-PTS{j-k); 步骤 2312、 终端在相应的应用场景下进行需要的相应处理, 如: 快进快 退、 同步、 节目切换等处理。
对于步骤 2312中的各种操作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得宽带节目 B存取单元的 RTP Timestamp对应的 NPT值, 和
„
PC—T/CN2007觸 176 广播节目 A各存取单元的 PTS对应的 NPT值进行比较, 相同则同步展现。
2、 切换处理:
步骤 2306和步骤 2307之间, 添加如下处理:
终端获知节目的切换时间点为 PTS ( X );
终端在 PTS ( X )之前某一时刻, 加入组播组接收宽带节目 B;
在步骤 2312中, 才艮据步驟 2311可知 PTS ( x )对应 NPT ( x ); 当终端接 收到组播组内的存取单元对应的 PT值为 PT ( X )时,替代广播节目的 PTS ( X )标识的存取单元展现即可。
图 24为 RTP流 RTCP包携带对应关系的实施流程三示意图, 当用 RTCP 携带 PTS和 NTP之间的时间对应关系; RTCP SR携带 RTP Timestam 和 NIP 之间的时间对应关系时, 如图所示, 携带对应关系可以包括如下步骤:
步驟 2401、 广播服务提供商确定广播节目 A存取单元的 PTS和 PT之 间的对应关系;
步骤 2402、 广播月艮务提供商将广播节目 A发送至终端;
步骤 2403、 终端接收到广播节目 A 某体流时, 即可获得广播节目 A的 PES包的 PTS值;
步骤 2404、终端根据已经获得广播节目 A的 PES包的 PTS, 即可插值计 算获得节目 A各个存取单元 PTS值;
步骤 2405、广播服务提供商将广播节目 PTS和 NTP的对应关系发送到宽 带服务提供商;
步骤 2406、 确定宽带节目 RTP Timestam 和 NPT之间的对应关系, 以及 RTP Timestamp和 NTP之间的对应关系; 前者可以通过文件起始点所在 RTP 包的 RTP Timestamp 获知 RTP ( 0 ), 以及 RTP 包第一个存取单元的 RTP Timestamp及根据服务器端存储文件即可获知该存取单元相对于节目起始点 的位置, 即可获得其 PT值, 后者可以根据 RTP Timestam 时钟和 NTP Timestam 时钟的采样,即可获知 RTP Timestamp和 TP Timestamp之间的对 应关系。 由此即可获知节目的 NTP和 NPT之间的对应关系: NTP ( t ) = NPT
N2007/003176
( t ) +NTP ( 0 );
步驟 2407、根据步骤 2405、 步驟 2406获知广播节目的 PTS和 PT之间 的对应关系、 NTP和 NPT之间的对应关系, 即可获知节目的 PTS (0)对应 的 NTP ( 0 ), 以及 PTS和 NTP之间的对应关系。
步骤 2408、 将 PTS和 NTP之间的对应关系放置 RTCP包中;
步驟 2409、 宽带节目下发至终端;
步骤 2410、 RTCP控制 RTP流, 并携带 RTP Timestamp和 NTP之间的对 应关系及广播节目 PTS和 NTP之间的对应关系;
步驟 2411、 终端接收到 RTP流后, 根据步骤 2409、 步骤 2410获得的节 目存取单元的 RTP Timestamp、 f、 RTP Timestamp和 NTP之间的时间对应关 系, 可获知节目各 RTP包的 RTP Timestamp及对应的 NTP值;
具体可按以下公式计算:
NTP (i) =NTP (i-k) + (RTP (i) -RTP (i-k)) /f;
步骤 2412、 终端根据步骤 2404、 步骤 2410获得的广播节目存取单元的 PTS、 PTS和 NTP之间的对应关系, 可获知节目各存取单元对应的 NPT; 具体可按以下公式计算: '
„ -WN j + — NTP"
NTP (j) =NTP (j-k) + PTSU + k)-PTS(j-k) . 步驟 2413、 终端在相应的应用场景下进行相应的处理, 如: 快进快退、 同步、 节目切换。
对于步骤 2413中的各种操作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得宽带节目存取单元的 RTP Timestamp对应的 NTP值, 和广 播节目各存取单元的 PTS对应的 NTP值进行比较, 相同则同步展现。
2、 切换处理:
在步骤 2406和步驟 2407之间, 添加以下处理:
终端获知节目的切换时间点为 PTS (X);
003176 终端在 PTS (x)之前某一时刻, 加入组播组接 宽带节目 B;
在步骤 2413中, 才艮据步骤 2412可知 PTS ( x )对应 NTP ( x ); 当终端接 收到组播组内的存取单元对应的 NTP值为 NTP ( X )时, 替代广播节目的 PTS (X)标识的存取单元展现。
图 25为第二实施例携带对应关系的***架构四示意图, 如图所示, 在广 播服务提供商的服务器上需要有 STC时钟和 NTP Timestamp时钟, 并对这两 时钟同时采样可获得 PTS和 NTP之间的对应关系, 广播服务提供商已知节目 的 PTS和 NPT之间的对应关系, 当 NPT = 0处, 即可获知对应的 PTS ( 0 ) 及对应的 NTP ( 0 )。 将 NTP ( 0 )及 PTS和 NTP之间的对应关系发送至宽带 服务提供商, 宽带服务提供商将这一对应关系放置到 RTCP包中传输到终端。 终端根据 TS 中的 PTS、 RTP 中的 RTP Timestamp 以及 RTCP SR中 RTP Timestamp和 NTP Timestamp之间的对应关系,以及 RTCP包中的 PTS和 NTP Timestamp之间的对应关系, 即可将 PTS 转换为 NTP Timestamp, RTP Timestam 值转换为 NTP Timestamp后进行处理。
具体携带对应关系可以按以下方式进行实施,图 26为 RTP流 /RTCP包携 带对应关系的实施流程四示意图, 如图所示, 携带对应关系可以包括如下步 骤:
步骤 2601、 广播服务提供商确定广播节目 A的起始 PTS, 以及 PTS和 NPT之间的时间对应关系;
步驟 2602、 广播服务提供商对 STC和 NTP时钟釆样, 获得 PTS和 NTP 的对应关系;
步骤 2603、 根据步驟 2602查找到 PTS ( 0 )对应的 NTP ( 0 );
由于 (PTS (t) -PTS (0)) /f=NTP (t) -NTP (0), 所以根据任意一 对的 PTS (t)和 NTP (t)即可获得 PTS (0)对应的 NTP (0);
或者,
根据 PTS (t) -PTS (0) = (NTP (t) -NTP (0)) * (PTS (t) -PTS (t-x)) / (NTP (t) -NTP (t-x)), 及两对 PTS (t)及对应的 PTS (t)和 PTS
( t-x )及对应的 NTP ( t-x ) 即可计算处 PTS ( 0 )对应的 NTP ( 0 );
步骤 2604、 广播服务提供商将广播节目 A发送至终端;
步骤 2605、终端接收到广播节目 A媒体流时,即可获得广播节目 A的 PES 包的 PTS值;
步骤 2606、 终端根据已经获得广播节目 A的 PES包的 PTS, 即可通过 插值计算获得节目 A各个存取单元 FTS值;
步骤 2607、发送广播节目 A的起始 TP ( 0 )及 PTS和 NTP之间的对应 关系至宽带服务提供商;
步骤 2608、 宽带服务提供商确定宽带节目 B的起始播放时间需要为 NTP (0);
步骤 2609、宽带服务提供商将 PTS和 NTP之间的时间对应关系放置 RTCP 包中;
步骤 2610、 将宽带节目 B发送到组播组;
步骤 2611、 RTCP控制 RTP流, 并携带 RTP Timestamp和 NTP之间的对 应关系及广播节目 PTS和 NTP之间的对应关系;
步骤 2612、 终端加入组播组接收 RTP流及 RTCP包;
步骤 2613、 终端接收到 RTP流及对应的 RTCP包后, 根据步骤 2610、 步 骤 2611获得的节目存取单元的 RTP Timestamp, f、 RTP Timestamp和 NTP之 间的时间对应关系,可获知节目各 RTP包的 RTP Timestam 及对应的 NTP值; 具体计算公式可以为:
NTP (i) =NTP (i-k) + (RTP (i) -RTP (i-k)) /f;
步骤 2614、 终端根据步骤 2606、 步骤 2612获得的广播节目存取单元的 PTS、 PTS和 NTP之间的对应关系, 可获知节目各存取单元对应的 NTP; 具体计算公式可以为:
NTP (j) =NTP (j-k) + PTS(j + k)-PTSO-k) .
或者,
03176
NTP ( j ) = NTP ( j-k ) + ( PTSU) - PTS(j - k) ) /f, 其中的 f为 STC时钟 的频率的 300分之一。
步骤 2615、 终端在相应的应用场景下进行所需的相应处理, 如: 同步、 节目切换处理。
对于步驟 2615中的各种操作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得宽带节目存取单元的 RTP Timestamp对应的 NTP值, 和广 播节目各存取单元的 PTS对应的 NTP值进行比较, 相同则同步展现。
2、 切换处理:
在步骤 2609和步骤 2610之间, 添加如下处理:
终端获知节目的切换时间点为 PTS ( X );
终端在 PTS ( X )之前某一时刻, 加入組播组接收宽带节目 B;
在步骤 2615中, 根据步骤 2614可知 PTS ( x )对应 NTP ( x ); 当终端接 收到组播组内的存取单元对应的 NTP值为 NTP ( X )时,替代广播节目的 PTS ( X )标识的存取单元展现。
下面对在 RTP流 /RTCP包中携带时间对应关系的方式进行说明。
即: 对于上述实施例中的步驟 2208、 步骤 2306、 步骤 2609所提到的: 将 PTS和 NTP之间的时间对应关系放置 RTCP包中, 具体可以按以下方式实 施;
一、 在 RTP流携带时间对应关系 /节目起始时间点。
图 27为 RTP包头结构示意图, 如图所示, 对应关系 /节目起始时间点可 以在 RTP包头的扩展包头内放置。 当 RTP包头中的 X位置为 1时, RTP包头 后面 CSRC列表后即为 Head Extension字段, 其中, "defined by profile" 为特 定的 16位置,表明后续的 header extension字段携带 PTS值或节目的初始 PTS 信息。
图 28为 RTP包结构示意图, 放置的信息如图所示, original network id、
transport id service id, event id为唯一的标识事件的标识符, 表明该广播事件 的 PTS值对应该 RTP包的 RTP Timestamp, 或 PTS ( 0 );
S比特位置标识携带的为节 S的起始 PTS时间,还是该 RTP包携带的 RTP Timestamp时间戳,不妨设 S = 1则为 PTS( 0 ), S = 1则 PTS为 RTP Timestamp 对应的 PTS值;
最后的 33位的 PTS时间戳位 PTS ( 0 )或者和该 RTP Timestamp对应的 PTS值。
二、 在 RTCP SR包中放置时间对应关系。
图 29 为 RTCP SR 包结构示意图, 如图所示, 在 RTCP SR 包中的 profile-specific extensions部分扩展来描述广播节目的初始 PTS ( 0 )或和该 SR 包 NTP Timestam 对应的广播节目的 PTS时间戳。 其中, 16比特的 type用于 描述后续的字段用来描迷时间对应关系;
original network id、 transport id、 service id、 event id为唯一的标识事件的 标识符, 表明该广播事件的 PTS值对应该 RTP包的 RTP Timestamp, 或该广 播节目的 PTS ( 0 );
S比特位置标识携带的为节目的起始 PTS时间,还是该 RTCP SR包携带的 RTP Timestam 及 NTP Timestam 时间戳对应的 PTS值;
最后的 33位的 PTS时间戳为 PTS ( 0 )或者和该 RTP Timestamp及 NTP Timestamp时间戳对应的 PTS值。
三、 在 RTCP SDES中放置时间对应关系:
图 30为 RTCP SDES包结构示意图, 如图所示, 时间对应关系信息可以放 置在 SDES的 PRIV SDES items的 value string中,此时的 SDES items中的 type 为 8, prefix string为 time mapping info。其中 , original network id、 transport id、 service id, event id为唯一的标识事件的标识符, 表明该广播事件 PTS ( 0 )或 该广播节目相关的 PTS和 RTP Timestamp的对应关系; 该项可选。
S比特位置标识携带的为节目的起始 PTS时间、 还是时间对应关系; 设 S = 1时, 表示后面为 PTS ( 0 ), S = 0时, 表示后面为 PTS和 NTP/RTP的时间
T N2007/003176 对应关系;
T比特位在 S比特位标识位时间对应关系时有效, 即 s = o时。 该位标识
PTS对应的时间位 RTP Timestamp还是 NTP Timestamp; 设 S = 1时, 为 RTP Timestamp; S = 0时, 为 NTP Timestamp;
最后的 33位的 PTS时间戳为 PTS ( 0 )或者最后所有的数据描述一一对应 的 PTS ( 33位)和 RTP Timestamp ( 32位) /NTP Timestamp ( 64位)。
四、 在 APP: Application-Defined RTCP Packet中放置时间对应关系。
图 31为 APP: Application-Defined RTCP Packet包头结构示意图,如图所示, 对应关系放置在 application-dependent data部分, 且 name ( ASCII ) 为标准组 织承认的 Time Mappint Info。
图 32为 APP: Application-Defined RTCP Packet包结构示意图,放置的信息 ^口图所示, original network id, transport id、 service id、 event id为唯一的标只 事件的标识符, 表明该广播事件 PTS ( 0 )或该广播节目相关的 PTS和 RTP Timestamp的对应关系, 该项可选。
S比特位置标识携带的为节目的起始 PTS时间, 还是时间对应关系; 设 S = 1时, 表示后面为 PTS ( 0 ), S = 0时, 表示后面为 PTS和 NTP RTP的时间 对应关系;
T比特位在 S比特位标识位时间对应关系时有效, 即 s = o时。 该位标识
PTS对应的时间位 RTP Timestamp还是 NTP Timestamp; 设 S = 1时, 为 RTP Timestamp; S = 0时, 为 NTP Timestamp;
最后的 33位的 PTS时间戳为 PTS ( 0 )或者最后所有的数据描述一一对应 的 PTS ( 33位) 和 RTP Timestamp ( 32位) /NTP Timestamp ( 64位)。
第三实施例
本实施例以时间映射服务器承载对应关系为例来说明。 本实施例的目的在 于说明对应关系的产生以及发送并不仅限于由现有的实体来完成, 它也可以 由专有的、 新增的实体来进行。
图 33 为第三实施例利用映射服务器承载对应关系的***架构示意图, 如
图所示, 架构中包括广播服务提供商、 宽带服务提供商、 时间映射服务器、 终端, 下面对各实体介绍如下:
( 1 ) 广播服务提供商: 用于将广播节目的时间对应关系告知时间映射服 务器; 用 TS协议封装广播节目, 并通过 DVB S/T/C发至终端;
根据需要也可以和宽带服务提供商协商广播节目的绝对起始时间点;
( 2 ) 宽带服务提供商: 用于利用 RTP协议封装 A/V, 发送宽带节目至终 端;
使用 RTSP或 RTCP控制 RTP流的传输,并携带 RTP Timestamp和 NTP/NPT 之间的对应关系至终端;
根据需要也可以将宽带节目的时间对应关系告知时间映射服务器, 和宽带 服务提供商协商广播节目的绝对起始时间点;
( 3 ) 时间映射服务器: 用于接收广播服务提供商广播节目的时间对应关 系;
向终端提供广播节目的时间对应关系和 /或宽带节目的时间对应关系; 根据需要也可以接收宽带节目服务提供商宽带节目的时间对应关系;
( 4 ) 终端: 用于接收广播节目与接收宽带节目;
向时间映射服务器请求下发时间映射关系;
根据节目的时间戳、 时间映射关系, 进行相应的处理。
图 34为利用映射服务器承载对应关系的实施流程一示意图, 如图所示, 当时间对应关系为 PTS和 NTP时间对应关系时, 广播服务提供商和宽带服务 提供商之间从节目起始时间点开始协商, 并且 RTP流使用 RTCP进行控制。 则可以按如下步骤实施:
步骤 3401、 广播服务提供商确定节目的起始时间点 PTS ( 0 );
步骤 3402、 广播服务提供商对 STC和 NTP时钟进行釆样, 获得 PTS和 NTP的时间对应关系;
步骤 3403、 根据步骤 3401和步骤 3402获得的时间点以及对应关系计算 获得节目的起始 NTP ( 0 );
T N2007/003176 由于(PTS (t) -PTS (0)) /f=NTP (t) -NTP (0), 则根据任意一对 的 PTS (t)和 NTP (t) 即可获得 PTS (0)对应的 NTP (0);
或者根据 PTS (t) -PTS (0) = ( TP ( t ) - NTP ( 0 ) ) * ( PTS ( t ) -PTS (t-x)) I (NTP (t) -NTP (t-x)), 及两对 PTS (t)及对应的 PTS (t) 和 PTS (t-x)及对应的 NTP (t-x) 即可计算处 PTS (0)对应的 NTP (0);
步骤 3404、 广播服务提供商告知宽带服务提供商广播节目 A的起始时间 点为 NTP (0);
步驟 3405、宽带服务提供商将宽带节目 B的起始帧的 NTP定为 NTP( 0 ); 步骤 3406、 广播服务提供商将广播节目的时间对应关系 (PTS和 NTP) 发送至时间映射服务器;
步骤 3407、 时间映射服务器保存广播节目的时间映射关系;
步骤 3408、广播服务提供商 TS协议封装广播节目 A后,使用 DVB S/C/T 协议发送到终端; '
步驟 3409、 终端获知广播节目的 PES包的 PTS值;
步驟 3410、 终端插值计算获得各个存取单元的 FTS;
步骤 3411、 终端向时间服务器请求下发广播节目 A的时间对应关系 (同 步应用场景), 或某一点的时间对应关系 (节目切换应用场景);
步驟 3412、 时间映射服务器相应请求, 下发广播节目 A的时间对应关系 (同步应用场景), 或某一点对应的时间 (节目切换应用场景);
步骤 3413、 计算广播节目 A各个存取单元 PTS对应的 NTP时间戳; 步骤 3414、宽带服务提供商在服务器端,使用 RTP协议封装宽带节目 B, 使用 RTP over UDP/TCP over IP发送到组播组;
步骤 3415、 宽带节目 B相关的 RTCP包下发至组播組;
步骤.3416、 终端加入组播组接收宽带节目 B及 RTCP控制包;
步驟 3417、 终端根据步骤 3415中各存取单元的 RTPTimestamp、 及步骤 3416所知的 RTPTimestamp和 NTP之间的对应关系,计算处各个存取单元的 NTP值;
„ ―
PCT/CN2007觸 176 步赛 3418、 终端在相应的应用场景下进行相应的处理, 如: 快进快退、 同步、 节目切换。
对于步骤 3418中的各种操作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得宽带节目存取单元的 RTP Timestam 对应的 PTS值, 和广 播节目各存取单元的 PTS值进行比较, 相同则同步展现;
2、 切换处理:
在步骤 3410、 步骤 3411之间加入如下处理: 终端手动或自动进行节目的 切换, 并获知节目的切换点为 PTS ( X );
根据步骤 3411、 步骤 3412获取的对应关系, 查询 PTS ( x )对应的 NTP ( x );
具体实施中, 可以考虑到网络延时, 则在切换点之前的某一时刻进行时 间点对应 NTP时间的查询;
在步驟 3418中,当终端接收到組播组内的存取单元对应的 NTP值为 NTP ( X )时, 替代广播节目的 PTS ( X )标识的存取单元展现。 终端展现广播节 目; 播放宽带节目。
实施例三的第一流程, 也可以变为广播服务提供商向时间映射服务器发 送 PTS和 NPT之间的对应关系, 宽带节目使用 RTSP进行控制, 则终端根据 广播节目的 PTS、从时间映射服务器上请求获得的广播节目 PTS和 PT之间 的映射关系 /某一点的对应时间、 宽带节目的 RTP Timestamp, RTSP的 RTP Timestamp和 NPT之间的对应关系进行计算后, 进行同步、 切换或组合展现 等处理。
图 35为利用映射服务器承载对应关系的实施流程二示意图, 流程二中宽 带服务提供商告知时间映射服务器其时间对应关系。 RT 流使用 RTCP协议 控制。
流程二和流程一的不同之处在于服务器间的交互不同, 流程二中: 广播服务提供商提供给时间映射服务器的为广播节目的 PTS和 NPT之间
的映射关系;
宽带服务提供商提供给时间映射服务器的为宽带节目的 RTP Timestamp 和 NPT时间之间的映射关系及 NTP ( 0 );
没有广播服务提供商和宽带服务提供商之间的交互;
时间映射服务器根据广播节目 A的 PTS和 NPT之间的映射关系,以及宽 带节目 B的 NTP ( 0 ), 荻知 PTS和 NTP之间的时间映射关系。
如: 原有的 PTS (t) =PTS (0) +NPT (t) *f; 变为 PTS (t) = (PTS (0) -NTP (0) *f) +NTP (t) *f;
原有的 PTS ( t )对应 PT ( t ), 现在变为 PTS ( t )对应 NTP ( t ) (其中 的 NTP (t) =NPT (t) +NTP (0));
则如图所示, 可以按如下步骤实施:
步骤 3501、 广播月良务提供商确定节目的起始时间点 PTS ( 0 )及 PTS和 PT之间的时间对应关系;
步驟 3502、广播服务提供商将广播节目的 PTS和 NPT对应关系发送至时 间映射服务器;
步骤 3503、 时间映射服务器保存广播节目的时间映射关系;
步骤 3504、广播服务提供商用 TS协议封装广播节目 A后,使用 DVB S/C/T 协议发送到终端;
步骤 3505、 终端获知广播节目的 PES包的 PTS值;
步骤 3506、 终端插值计算获得各个存取单元的 PTS;
步骤 3507、 终端向时间映射服务器请求下发广播节目 A的时间对应关系 (同步应用场景), 或某一点的时间对应关系 (节目切换应用场景);
步骤 3508、时间映射服务器响应请求,下发广播节目的时间对应关系 (同 步应用场景), 或某一点对应的时间 (节目切换应用场景);
步驟 3509、 计算广播节目 A各个存取单元 PTS对应的 NPT时间戳(同 步应用场景);
步骤 3510、 终端请求下发宽带节目 B, 起始时间点为请求时刻 PTS或某
一特殊 PTS值对应的 NPT;
步骤 3511、 宽带节目 B下发至终端;
. 步骤 3512、 RTSP控制宽带节目 B , 并携带 RTP Timestamp和 NPT之间 的对应关系至终端;
步骤 3513、 终端根据步骤 3515中各存取单元的 RTPTimestamp、 及步骤 3515所知的 RTP Timestamp和 PT之间的对应关系, 计算处各个存取单元的 PT值;
具体计算公式可以为: NPT (i) =NPT (i-k) + (RTP (i) -RTP (i-k)) /f; f为负荷类型对应的采样频率;
步骤 3514、 终端在相应的应用场景下进行相应的处理, 如: 快进快退、 同步、 节目切换。
对于步骤 3514中的各种操作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得宽带节目存取单元的 RTP Timestamp对应的 NPT值, 和广 播节目各存取单元 PTS对应的 NPT值进行比较, 相同则同步展现;
.2、 快进快退处理:
在步骤 3507为请求暂停、快进快退点处存取单元的 PTS ( X )对应的 NPT 值;
在步骤 3508为响应下发 PTS (X)对应的 PT (x)值;
可以省略步錄 3509;
在步骤 3514中在 PTS (X)点停止广播节目的播放, 进行宽带节目的播 放;
实际过程中, 可以留有时间余量进行请求响应。
3、 切换处理:
在步骤 3506和步練 3507之间加上如下处理:
终端已知切换时间点为 PTS (x);
在步骤 3507中请求 PTS ( X )对应的 NPT ( x );
在步驟 3508中响应 PTS (x)对应的 NTP (x)值;
在步骤 3510中终端请求从 PT (X) 点开始播放宽带节目 B;
在步骤 3514 中, 在 PTS (X) 点停止广播节目的播放, 进行宽带节目的 播放;
实际实现的过程中, 考虑到网络延时, 可以在切换点之前的某一时刻进 行时间点对应 NTP时间的查询, 和请求下发宽带节目;
图 36为利用映射月 I务器承载对应关系的实施流程三示意图, 如图所示, 当时间对应关系为 PTS和 RTP Timestamp时间对应关系时, 宽带服务提供商 告知时间映射服务器宽带节目的时间映射关系, 并对 RTP 流使用 RTCP 或 RTSP进行控制。 则可以按如下步驟实施:
步驟 3601、广播服务提供商确定节目的 PTS和 NPT之间的时间对应关系; 步驟 3602、广播服务提供商将广播节目 A的时间对应关系( PTS和 PT ) 发送至时间映射服务器;
步骤 3603、 时间映射服务器保存广播节目 A的时间映射关系;
步骤 3604、 宽带服务提供商将宽带节目 B 的时间对应关系 (RTP Timestamp和 NPT )发送至时间映射服务器;
步據 3605、 时间映射服务器保存宽带节目 B的时间映射关系;
步骤 3606、以 NPT为中间桥梁计算出 PTS和 RTP Timestamp的对应关系; 例如: 原有的 RTP Timestam 和 NPT之间的对应关系为: ( RTP ( t ) - RTP (0)) /fl =NPT (t), 原有的 PTS和 PT之间的对应关系为 (PTS (t) — PTS (0)) /f2 = NPT (t); 变为 (RTP (t) —RTP (0)) /f 1 = (PTS (t) - PTS (0)) /f2, 其中 fl 为宽带节目 B 的负荷采样频率, RTP (0) 可以根据 NPT =0获知, 为 STC采样频率的 300分之一, PTS ( 0 ) 可以根据 PT = 0获知
步骤 3607、广播良务提供商以 TS协议封装广播节目 A后,使用 DVB S/C/T 协议发送到终端;
步骤 3608、 终端获知广播节目 A的 PES包的 PTS值;
03176 步骤 3609、 终端插值计算获得各个存取单元的 PTS;
步骤 3610、 终端向时间服务器请求下发广播节目 A的时间对应关系 (同 步应用场景), 或某一点的时间对应关系 (节目切换应用场景);
步骤 3611、 时间映射服务器响应请求, 下发广播节目 A的时间对应关系 (同步应用场景), 或某一点对应的时间 (节目切换应用场景);
步骤 3612、 宽带节目 B下发至终端;
步骤 3613、 RTSP控制宽带节目 B, 并携带 RTP Timestamp和 PT之间 的对应关系至终端;或 RTCP控制宽带节目 B,并携带 RTP Timestamp和 NTP 之间的对应关系至终端;
步骤 3614、 终端根据步骤 3615中各存取单元的 RTPTimestamp、 及步骤 3611所获知的 RTP Timestamp和 PTS之间的对应关系, 计算处各个存取单元 的 PTS值;
具体的计算公式可以为: PTS(i) = PTS( i-k )+(RTP( i ) - RTP( i-k ))*( PTS (i+k) -PTS (i-k) )/(RTP (i+k) -RTP (i-k) );
或者,
PTS (i) =PTS (i-k) + (RTP (i) -RTP (i-k) )*腦;
步骤 3615、 终端在相应的应用场景下进行相应的处理, 如: 快进快退、 同步、 节目切换。
对于步骤 3615中的各种搡作具体可以按如下方式进行实施:
1、 同步处理:
终端根据获得宽带节目存取单元的 RTP Timestamp对应的 PTS值, 和广 播节目各存取单元 PTS进行比较, 相同则同步展现。
1、 切换处理:
在步骤 3609和步骤 3610之间加上: 终端已知切换时间点为 PTS (x); 在步骤 3609中 , 请求 PTS ( X )对应的 RTP ( x );
在步骤 3610中, 响应 PTS ( X )对应的 RTP ( X )值;
在步骤 3615中, 根据步骤 3614的结果获得宽带节目的 RTP Timestamp
对应的 PTS值为 PTS ( x ) 时, 在该 PTS ( x ) 点停止广播节目的播放, 进行 宽带节目的播放。
本发明实施例还提供了一种媒体流发送***, 下面结合附图对本***的 具体实施方式进行说明。
在媒体流发送***中, 包括向终端发送笫一媒体流的第一媒体流服务器、 向终端发送第二媒体流的第二媒体流服务器, 还包括对应关系放置模块, 用 于在第一媒体流服务器向终端发送的第一媒体流、 和 /或第二媒体流服务器向 终端发送的第二媒体流中放置对应关系信息, 所述对应关系包括: 第一媒体 流数据包笫一时间信息与第一显示时间的第一对应关系、 第二媒体流数据包 第二时间信息与第二显示时间的第二对应关系。
***实施中, 可以从时间对应关系源来获取 PTS和 NPT之间的对应关系 或 PTS ( 0 )。
下面对***的具体实施进行说明。
图 37为发送***一结构示意图, 如图所示, ***中的对应关系放置模块 包括第一放置单元、 第二放置单元, 图中广播服务提供商作为第一媒体流服 务器, 宽带服务提供商作为第二媒体流服务器, 则易知, 第一放置单元位于 广播服务提供商侧, 第二放置单元位于宽带服务提供商侧, 其中:
第一放置单元, 用于在第一媒体流中放置第一媒体流数据包第一时间信 息与第一显示时间的第一对应关系信息;
第二放置单元, 用于在笫二媒体流中放置第二媒体流数据包第二时间信 息与第二显示时间的第二对应关系信息。
所述第一放置单元还可以包括第一子单元、 第二子单元、 第三子单元之 一或者其组合, 其功能分别为:
第一子单元, 用于将第一对应关系信息放置在笫一媒体流的分組基本流 包头中; '
第二子单元, 用于将所述第一对应关系信息放置在第一媒体流的传输流 事件信息表中;
07 003176 笫三子单元, 用于将所述第一对应关系信息放置在第一媒体流新建的时 间映射关系表中。
图 38为发送***二结构示意图, 如图所示, ***中的对应关系放置模块 包括传输单元、 第三放置单元, 图中广播服务提供商作为第一媒体流服务器, 宽带服务提供商作为第二媒体流服务器, 其中:
传输单元与广播服务提供商、 宽带服务提供商相连, 用于从作为第一媒 体流服务器的广播服务提供商获取第一媒体流数据包第一时间信息与第一显 示时间的第一对应关系信息, 并传输至位于宽带服务提供商侧的笫三放置单 元; 第三放置单元将第一媒体流的第一时间对应关系信息、 第二媒体流数据 包第二时间信息与第二显示时间的第二对应关系信息放置到第二媒体流中。
图 39为发送***三结构示意图, 如图所示, ***中的对应关系放置模块 包括发送单元、 第二放置单元、 映射服务器, 图中广播服务提供商作为第一 媒体流服务器, 宽带服务提供商作为第二媒体流服务器, 发送单元与映射服 务器、 广播服务提供商相连, 第二放置单元在作为第二媒体流服务器的宽带 服务提供商侧, 映射服务器与终端相连, 其中:
发送单元, 用于将笫一媒体流数据包第一时间信息与第一显示时间的第 一对应关系信息发送至映射服务器;
第二放置单元, 用于在第二媒体流中放置第二媒体流数据包第二时间信 息与第二显示时间的第二对应关系信息;
映射服务器, 用于将第一对应关系信息发送至终端。
在上述发送***中, 还可以在终端中进一步包括对应关系处理模块, 用 于根据接收到的对应关系, 在时间信息对应的第一显示时间与第二显示时间 差小于阈值时,,对第一媒体流数据包与第二媒体流数据包进行处理。
具体的, 对应关系处理模块可以包括同步处理单元、 第一切换单元、 第 二切换单元之一, 其中:
同步处理单元, 用于在第一显示时间和笫二显示时间相同或相差小于阈 值时, 同时展现第一显示时间标识的第一媒体流的数据包和第二显示时间标
识的第二媒体流的数据包;
第一切换单元, 用于在第一显示时间和第二显示时间相同或相差小于阈 值时, 切换第一显示时间标识的第一媒体流的数据包成第二显示时间标识的 第二媒体流的数据包;
第二切换单元, 用于在第一显示时间和第二显示时间相同或相差小于阈 值时, 切换第二显示时间标识的第二媒体流的数据包成第一显示时间标识的 第一媒体流的数据包。
现代以及未来社会中, 技术的进步和用户的需求促进了流媒体应用的迅 速发展。 在远程教育、 数字图书馆、 电子商务、 视频点播、 交互电视、 远程 医疗、 网络音 /视频、 实时多媒体会议等方面, 流媒体技术都起到很重要的作 用。 随着流媒体应用的不断普及, 流媒体技术及其应用必然会发挥更重要的 作用, 并将深刻的改变人们的生活方式。 因此, 通过本发明实施例解决的不 同媒体流之间的同步问题具有重要的运用价值与意义。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。
Claims (30)
- 权 利 要 求1、 一种不同媒体流间的同步方法, 其特征在于, 包括如下步驟: 建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系; 建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系; 根据所述第一对应关系和第二对应关系, 在第一显示时间与笫二显示时 间差小于阈值时, 将第一媒体流数据包与第二媒体流数据包同时显示。
- 2、 如权利要求 1所述的方法, 其特征在于, 当所述第一媒体流是传输流 时, 所述第一时间信息^ L现时间戳, 所述第一显示时间是正常播放时间; 当所述第二媒体流是实时传输协议流时, 所述第二时间信息是实时传输 协议时间戳, 所述第二显示时间是正常播放时间。
- 3、 如权利要求 2所述的方法, 其特征在于, 在任一时间 t时, 所述第一 对应关系是:根据 t时刻的展现时间戳、在 EIT表中添加节目的起始存储单元的展现时 间戳、 传输流***时钟频率, 建立展现时间戳与正常播放时间的对应关系; 或,根据 t时刻的展现时间戳、节目起始存储单元的展现时间戳、传输流*** 时钟频率, 建立展现时间戳与正常播放时间的对应关系;或,根据唯一标识节目表的展现时间戳和节目播放相对时间的正常播放时间 对应表、 以及 t时刻的展现时间戳、 上述表中离 t时刻最近的时刻的展现时间 戳、上述表中离 t时刻最近的时刻展现时间戳的正常播放时间、传输流***时 钟频率, 建立展现时间戳与正常播放时间的对应关系;或通过在扩展分组基本流包头加入正常播放时间戳, 建立展现时间戳与正 常播放时间的对应关系。
- 4、 如权利要求 3所述的方法, 其特征在于, 在任一时间 t时, 所述第一 对应关系是:PT ( t ) = ( PTS(t)-StartAU_PTS ) *n/fl ,其中: NPT ( t )是 t时刻的正常播放时间, PTS(t)是 t时刻的展现时间戳,' StartAU一 PTS是通过在 EIT表中添加节目的起始存储单元的展现时间戳, fl 是传输流***时钟频率;或,NPT ( t ) = ( PTS(t)-PTS ( 0 ) ) *n/fl ,其中: NPT ( t )是 t时'刻的正常播放时间, PTS(t)是 t时刻的展现时间戳, PTS ( 0 )是节目起始存储单元的展现时间戳, fl是传输流***时钟频率; 或,根据唯一标识节目表的展现时间戳和节目播放相对时间的正常播放时间 对应表,按公式: PT(PTS(t) =(PTS(t) - PTS(i))*n/fl + NPT (PTS(i))得出的 PTS 对应的 NPT时间, "其中: NPT(PTS(t))是 t时刻展现时间戳的正常播放时间, PTS(t)是 t时刻 的展现时间戳, PTS(i))是离 t时刻最近的 i时刻的展现时间戳, NPT(PTS(i)) 是离 t时刻最近的 i时刻展现时间戳的正常播放时间, fl是传输流***时钟频 率。
- 5、 如权利要求 2所述的方法, 其特征在于, 在任一时间 j时, 所述第二 对应关系是根据 j时刻的实时传输协议包时间戳、实时传输协议流中媒体的采 样频率、 同一次请求响应后位于 k时刻的实时传输协议包时间戳、 同一次请 求响应后位于 k时刻的实时传输协议包的正常播放时间, 建立实时传输协议 时间戳与正常 4番放时间的对应关系, 其中, k时刻为位于 j时刻之前的时刻。
- 6、 如权利要求 5所述的方法, 其特征在于, 在任一时间 j时, 所述第二 对应关系是: NPT ( RTP(j) ) : (RTP timestampG) - RTP timestamp(k)) I f2 + NPT ( RTP(k) );其中: NPT ( RTPG) )是实时传输协议包 j 时刻的正常播放时间, RTP timestamp(i)是 j时刻的实时传输协议包时间戳, RTP timestamp(k)是同一次请 求响应后位于 k时刻的实时传输协议包时间戳, f2是实时传输协议流中媒体 的采样频率; NPT ( TP(k) )同一次请求响应后位于 k时刻的实时传输协议包 的正常播放时间。
- 7、 如权利要求 5所述的方法, 其特征在于, 所述实时传输协议包时间戳 是根据 RTSP实时流协议 PLAY response中的 Range header和 RTP-Info header 获取的。
- 8、 如权利要求 2所述的方法, 其特征在于, 在任一时间 j时, 所述第二 对应关系是在根据 j时刻的实时传输协议包时间戳、 离 j时刻最近的 k时刻的 实时传输协议包时间戳、 离 j时刻最近的 k时刻网络时间协议的时间、 实时传 输协议流中媒体的采样频率得出 j时刻网络时间协议的时间后,根据起始时刻 网络时间协议的时间、 j时刻网络时间协议的时间得出实时传输协议流包的正 常播放时间。
- 9、 如权利要求 8所述的方法, 其特征在于, 在任一时间 j时, 所述第二 对应关系是在按公式: NTP(j)-(RTP(j)-RTP(k))*n/f2 + NTP(k)得出 NTP①后, 根据 PT(RTP(j)) = NTP(j)-NTP(0)得出实时传输协议流包的 NPT时间;其中: NTP(j)是 j时刻网络时间协议的时间, RTP(j)是 j时刻的实时传输 协议包时间戳, RTP(k)是 k时刻的实时传输协议包时间戳, NTP(k)是 k时刻 网络时间协议的时间, NTP(O) 是起始时刻网络时间协议的时间, NPT(RTP①) 是实时传输协议包 j时刻的正常播放时间, £2是实时传输协议流中媒体的采样 频率。
- 10、 如权利要求 8所述的方法, 其特征在于, 所述实时传输协议包时间 戳与所述网络时间协议的时间是通过实时传输控制协议发送方报告包头获取 的。 -
- 11、 一种不同媒体流间的同步***, 其特征在于, 包括:第一对应模块, 用于建立第一媒体流数据包第一时间信息与第一显示时 间的第一对应关系;第二对应模块, 用于建立第二媒体流数据包第二时间信息与第二显示时 间的第二对应关系;显示模块, 用于才 居所述对应关系, 在时间信息对应的第一显示时间与 第二显示时间差小于阔值时, 将笫一媒体流数据包与第二媒体流数据包同时 显示。
- 12、 如权利要求 11所述的同步***, 其特征在于, 当所述第一媒体流是 传输流时, 所述第一时间信息是展现时间戳, 所述第一显示时间是正常播放 时间; 当所述第二媒体流是实时传输协议流时, 所述第二时间信息是实时传 输协议时间戳, 所述第二显示时间是正常播放时间; 在任一时间 t时, 所述第 —对应模块:按 NPT ( t ) = ( PTS(t)-StartAU_PTS ) *n/fl建立所述第一对应关系, 其中: NPT ( t )是 t时刻的正常播放时间, PTS(t)是 t时刻的展现时间戳,StartAU— PTS是通过在 EIT表中添加节目的起始存储单元的展现时间戳, fl 是传输流***时钟频率;或,按 NPT ( t ) = ( PTS(t)-PTS ( 0 ) ) *n/fl建立所述第一对应关系, 其中: NPT ( t )是 t时刻的正常播放时间, PTS(t)是 t时刻的展现时间戳, PTS ( 0 )是节目起始存储单元的展现时间戳, fl是传输流***时钟频率; 或,根据唯一标识节目表的展现时间戳和节目播放相对时间的正常播放时间 对应表,按公式: PT(PTS(t))=(PTS(t) - PTS(i))*n/fl + NPT (PTS(i))得出的 PTS 对应的 RPT时间, 建立所述第一对应关系,其中: NPT(PTS(t))是 t时刻展现时间戳的正常播放时间, PTS(t)是 t时刻 的展现时间戳, PTS(i))是离 t时刻最近的 i时刻的展现时间戳, NPT(PTS(i)) 是离 t时刻最近的 i时刻展现时间戳的正常播放时间, fl是传输流***时钟频 率;或,通过在扩展分组基本流包头加入正常播放时间戳, 建立的展现时间戳与 正常播放时间的对应关系, 建立所述第一对应关系。
- 13、 如权利要求 11所述的同步***, 其特征在于, 当所述第一媒体流是 传输流时, 所述第一时间信息是展现时间戳, 所述第一显示时间是正常播放 时间; 当所述第二媒体流是实时传输协议流时, 所述第二时间信息是实时传 输协议时间戳, 所述第二显示时间是正常播放时间; 在任一时间 j时, 所述第 二对应模块按 NPT( RTPQ) )=(RTP timestampO) - RTP timestamp(k)) I fl + PT ( RTP(k) )建立所述第二对应关系,其中: NPT ( RTP①) 是实时传输协议包 j 时刻的正常播放时间, RTP timestamp(j)是 j时刻的实时传输协议包时间戳, RTP timestamp(k)是同一次请 求响应后位于 k时刻的实时传输协议包时间戳, 是实时传输协议流中媒体 的釆样频率; NPT ( RTP(k) 是同一次请求响应后位于 k时刻的实时传输协议 包的正常播放时间。
- 14、 如权利要求 11所述的同步***, 其特征在于, 当所述第一媒体流是 传输流时, 所述第一时间信息是展现时间戳, 所述笫一显示时间是正常播放 时间; 当所述第二媒体流是实时传输协议流时, 所述第二时间信息是实时传 输协议时间戳, 所述第二显示时间是正常播放时间; 在任一时间 j时, 所述第 二对应模块按公式: NTP(j)=(RTP(j)-RTP(k))*n/f2 + NTP(k)得出 NTP(k)后, 根 据 NPT(RTP(i》 = NTP① -NTP(O)得出实时传输协议流包的 NPT时间, 建立所 述第二对应关系,其中: NTP(j)是 j时刻网络时间协议的时间, RTP(j)是 j时刻的实时传输 协议包时间戳, RTP(k)为 k时刻的实时传输协议包时间戳, NTP(k)是 k时刻 网络时间协议的时间, NTP(O)是起始时刻网络时间协议的时间, NPT(RTP(j)) 是实时传输协议包 j时刻的正常播放时间, β是实时传输协议流中媒体的采样 频率。
- 15、 一种媒体流发送方法, 其特征在于, 包括如下步骤:将第一媒体流、 第二媒体流发送至终端, 所述笫一媒体流和第二媒体流 中包括: 第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信 息、 第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息。
- 16、 如权利要求 15所述的方法, 其特征在于, 所述方法具体为: 在第一媒体流中放置第一媒体流数据包第一时间信息与第一显示时间的 第一对应关系信息;在第二媒体流中放置第二媒体流数据包第二时间信息与第二显示时间的 第二对应关系信息;将所述含有对应关系信息的第一媒体流、 第二媒体流发送至终端。
- 17、 如权利要求 16所述的方法, 其特征在于, 所述的第一媒体流为传输 流,所述第一对应关系为展现时间戳和相对时间戳之间的对应关系; 或,所述第一对应关系为展现时间戳和绝对时间戳之间的对应关系;,所述第一时间对应关系为展现时间戳和实时传输流时间戳之间的对应关 系。
- 18、 如权利要求 16所述的方法, 其特征在于, 所述的第一媒体流为传输 流, 所述第一对应关系信息以以下方式之一或者其组合的方式进行放置: 所述第一对应关系信息放置在第一媒体流的分组基本流包头中; 所述第一对应关系信息放置在第一媒体流的传输流事件信息表中; 所述第一对应关系信息放置在第一媒体流新建的时间映射关系表中。19、 如权利要求 15所述的方法, 其特征在于, 所述方法具体为: . 第一媒体流服务器传输第一媒体流数据包第一时间信息与第一显示时间 的第一对应关系信息到第二媒体流服务器;第二媒体流服务器将第一媒体流的第一时间对应关系信息放置到第二媒 体流中;第二媒体流服务器将第二媒体流数据包第二时间信息与第二显示时间的 第二对应关系信息放置在第二媒体流中; 将所述第一媒体流、 含有对应关系信息的第二媒体流发送至终端。20、 权利要求 19所迷的方法, 其特征在于, 所述第一媒体流为传输流, 第二媒体流为实时传输协议流 ,所述第一时间对应关系为展现时间戳和相对时间戳之间的对应关系; 或,所述第一时间对应关系为展现时间戳和绝对时间戳之间的对应关系; 所述第一时间对应关系为展现时间戳和实时传输流时间戳之间的对应关 系。
- 21、 如权利要求 19所述的方法, 其特征在于, 所述第二媒体流为实时传 输流, 所述第一对应关系信息、 第二对应关系信息放置在实时传输协议流包 头或实时流控制包中。
- 22、 如权利要求 15所述的方法, 其特征在于, 所述方法具体为: 将第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息 发送至映射服务器;放置第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信 息到第二媒体流中;所述映射服务器将第一对应关系信息发送至终端;将第一媒体流、 含有第二对应关系信息的第二媒体流发送至终端。
- 23、 如权利要求 22所述的方法, 其特征在于, 所述第一媒体流为传输流, 所述第一对应关系为展现时间戳和相对时间戳之间的对应关系; 或,所述第一对应关系为展现时间戳和绝对时间戳之间的对应关系; 或,所述第一对应关系为展现时间戳和实时传输流时间戳之间的对应关系。
- 24、 如权利要求 15至 23任一所述的方法, 其特征在于, 进一步包括如 下步驟: 终端根据接收到的所述对应关系信息, 在时间信息对应的第一显示时间 与第二显示时间差小于阈值时, 对第一媒体流数据包与第二媒体流数据包进 行处理。25、 如权利要求 24所述的方法, 其特征在于, 所述终端接收到所述对应 关系信息后, 才艮据第一对应关系, 将第一媒体流中的第一时间.信息映射成第 一显示时间; 根据第二对应关系, 将第二媒体流中的第二时间信息映射成第 二显示时间。
- 26、 如权利要求 24所述的方法, 其特征在于, 所述在时间信息对应的第 一显示时间与第二显示时间差小于阔值时, 对第一媒体流数据包与第二媒体 流数据包进行处理, 具体包括以下方式之一:第一显示时间和第二显示时间相同或相差小于阔值时, 同时展现第一显 示时间标识的第一媒体流的数据包和笫二显示时间标识的第二媒体流的数据 包;第一显示时间和第二显示时间相同或相差小于阈值时, 切换第一显示时 间标识的第一媒体流的数据包成第二显示时间标识的第二媒体流的数据包; 第一显示时间和第二显示时间相同或相差小于阈值时, 切换第二显示时 间标识的第二媒体流的数据包成第一显示时间标识的第一媒体流的数据包。
- 27、 一种媒体流发送***, 包括向终端发送笫一媒体流的第一媒体流服 务器、 向终端发送第二媒体流的第二媒体流服务器, 其特征在于, 还包括对 应关系放置模块, 用于在第一媒体流服务器向终端发送的笫一媒体流、 和 /或 第二媒体流服务器向终端发送的第二媒体流中放置对应关系信息, 所述对应 关系包括: 第一媒体流数据包第一时间信息与第一显示时间的第一对应关系、 第二媒体流数据包第二时间信息与第二显示时间的第二对应关系。
- 28、 如权利要求 27所述的***, 其特征在于, 所述对应关系放置模块包 括第一放置单元、 第二放置单元, 其中:第一放置单元, 用于在第一媒体流中放置第一媒体流数据包第一时间信 息与第一显示时间的第一对应关系信息; 第二放置单元, 用于在第二媒体流中放置第二媒体流数据包第二时间信 息与第二显示时间的第二对应关系信息。
- 29、 如权利要求 28所述的***, 其特征在于, 所述第一放置单元包括第 一子单元、 第二子单元、 第三子单元之一或者其组合, 其中:第一子单元, 用于将所述第一对应关系信息放置在第一媒体流的分組基 本流 PES包头中;第二子单元, 用于将所述第一对应关系信息放置在第一媒体流的传输流 事件信息表中; '第三子单元, 用于将所述第一对应关系信息放置在第一媒体流新建的时 间映射关系表中。
- 30、 如权利要求 27所述的***, 其特征在于, 所述对应关系放置模块包 括传输单元、 第三放置单元, 其中:传输单元, 用于从第一媒体流服务器获取第一媒体流数据包笫一时间信 息与第一显示时间的笫一对应关系信息, 并传输至第三放置单元;第三放置单元, 用于将第一媒体流的第一时间对应关系信息、 第二媒体 流数据包第二时间信息与第二显示时间的第二对应关系信息放置到第二媒体 流中。
- 31、 如权利要求 27所述的***, 其特征在于, 所述对应关系放置模块包 括发送单元、 第二放置单元、 映射服务器, 其中:发送单元, 用于将第一媒体流数据包第一时间信息与第一显示时间的第 一对应关系信息发送至映射服务器; '第二放置单元, 用于在第二媒体流中放置第二媒体流数据包第二时间信 息与第二显示时间的第二对应关系信息;映射服务器, 用于将第一对应关系信息发送至终端。
- 32、 如权利要求 27至 31任一所述的***, 其特征在于, 所述终端进一 步包括对应关系处理模块, 用于根据接收到的所述对应关系, 在时间信息对 应的第一显示时间与第二显示时间差小于阔值时, 对第一媒体流数据包与第 二媒体流数据包进行处理。
- 33、 如权利要求 32所述的***, 其特征在于, 所述对应关系处理模块包 括同步处理单元、 第一切换单元、 第二切换单元之一, 其中:同步处理单元, 用于在第一显示时间和第二显示时间相同或相差小于闹 值时, 同时展现第一显示时间标识的第一媒体流的数据包和第二显示时间标 识的第二媒体流的数据包;第一切换单元, 用于在第一显示时间和第二显示时间相同或相差小于阈 值时, 切换第一显示时间标识的第一媒体流的数据包成第二显示时间标识的 第二媒体流的数据包;第二切换单元, 用于在第一显示时间和第二显示时间相同或相差小于阈 值时, 切换第二显示时间标识的第二媒体流的数据包成第一显示时间标识的 第一媒体流的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007800024610A CN101371488B (zh) | 2006-11-09 | 2007-11-09 | 一种不同媒体流间的同步方法及*** |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101385882A CN101179484A (zh) | 2006-11-09 | 2006-11-09 | 一种不同媒体流间的同步方法及*** |
CN200610138588.2 | 2006-11-09 | ||
CN2007800024610A CN101371488B (zh) | 2006-11-09 | 2007-11-09 | 一种不同媒体流间的同步方法及*** |
PCT/CN2007/003176 WO2008055420A1 (fr) | 2006-11-09 | 2007-11-09 | Procédé de synchronisation entre différents flux de média et un système |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101371488A true CN101371488A (zh) | 2009-02-18 |
CN101371488B CN101371488B (zh) | 2013-01-30 |
Family
ID=39364180
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101385882A Pending CN101179484A (zh) | 2006-11-09 | 2006-11-09 | 一种不同媒体流间的同步方法及*** |
CN2007800024610A Expired - Fee Related CN101371488B (zh) | 2006-11-09 | 2007-11-09 | 一种不同媒体流间的同步方法及*** |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101385882A Pending CN101179484A (zh) | 2006-11-09 | 2006-11-09 | 一种不同媒体流间的同步方法及*** |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN101179484A (zh) |
WO (1) | WO2008055420A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185081B (zh) * | 2013-05-22 | 2019-04-19 | 韩华泰科株式会社 | 在使用实时传输协议包播放的图像中显示时间的方法 |
CN112130485A (zh) * | 2020-08-31 | 2020-12-25 | 南京理工大学 | 一种高速多通道同步采集装置及方法 |
CN114173149A (zh) * | 2021-12-21 | 2022-03-11 | 杭州当虹科技股份有限公司 | 一种防插播的方法 |
CN114556963A (zh) * | 2019-12-27 | 2022-05-27 | 多玩国株式会社 | 内容生成装置、内容分发服务器、内容生成方法以及内容生成程序 |
CN115174979A (zh) * | 2022-06-20 | 2022-10-11 | 阿里巴巴(中国)有限公司 | 流媒体传输网络及传输控制方法、装置、设备及存储介质 |
WO2024032107A1 (en) * | 2022-08-08 | 2024-02-15 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for visual data processing |
WO2024046071A1 (zh) * | 2022-08-29 | 2024-03-07 | 华为技术有限公司 | 一种数据传输方法及装置 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102057687B (zh) * | 2008-06-11 | 2013-06-12 | 皇家飞利浦电子股份有限公司 | 媒体流成分的同步 |
CN101465996B (zh) * | 2008-12-31 | 2013-04-24 | 华为技术有限公司 | 一种网络电视显示时间的方法及设备和*** |
WO2010106075A1 (en) * | 2009-03-16 | 2010-09-23 | Koninklijke Kpn N.V. | Modified stream synchronization |
EP3627798A1 (en) * | 2010-01-27 | 2020-03-25 | Koninklijke KPN N.V. | Method, system and device for synchronization of media streams |
CN102196479B (zh) | 2010-03-10 | 2014-01-08 | 华为技术有限公司 | 定时提前值的共享检测方法、用户设备、基站及*** |
US9729762B2 (en) | 2010-10-15 | 2017-08-08 | Thomson Licensing | Method for synchronizing multimedia flows and corresponding device |
WO2012094974A1 (zh) * | 2011-01-11 | 2012-07-19 | 中兴通讯股份有限公司 | 一种多个媒体流同步的方法、装置及*** |
CN102821338B (zh) * | 2011-06-10 | 2015-02-25 | 冠捷投资有限公司 | 可消除异音的电路及其方法 |
CN102387401B (zh) * | 2011-10-17 | 2014-08-27 | 上海聚力传媒技术有限公司 | 一种调整音视频信息的播放时间点的方法、装置及设备 |
CN103684738B (zh) * | 2013-12-31 | 2017-06-13 | 曙光信息产业股份有限公司 | 一种防原消息干扰的方法及装置 |
US9560421B2 (en) * | 2014-03-27 | 2017-01-31 | Samsung Electronics Co., Ltd. | Broadcast and broadband hybrid service with MMT and DASH |
CN105812961B (zh) * | 2014-12-31 | 2019-09-10 | 中兴通讯股份有限公司 | 自适应流媒体处理方法及装置 |
CN107517401B (zh) * | 2016-06-15 | 2019-11-19 | 成都鼎桥通信技术有限公司 | 多媒体数据播放方法及装置 |
US11146611B2 (en) | 2017-03-23 | 2021-10-12 | Huawei Technologies Co., Ltd. | Lip synchronization of audio and video signals for broadcast transmission |
CN109756744B (zh) * | 2017-11-02 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、电子设备及计算机存储介质 |
CN108462694A (zh) * | 2018-02-02 | 2018-08-28 | 深圳广信网络传媒有限公司 | 基于ts流封装的动态媒体标示方法、装置、编码结构及*** |
JP6743931B2 (ja) * | 2019-03-26 | 2020-08-19 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
CN111988641B (zh) * | 2020-07-28 | 2022-07-15 | 上海工程技术大学 | 传输流复用音视频时间同步方法 |
EP4195673A1 (en) * | 2021-12-07 | 2023-06-14 | MediaTek Singapore Pte Ltd | Synchronization of media streams |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2313979C (en) * | 1999-07-21 | 2012-06-12 | Thomson Licensing Sa | Synchronizing apparatus for a compressed audio/video signal receiver |
DE602005027837D1 (de) * | 2004-05-13 | 2011-06-16 | Qualcomm Inc | Zustellung von informationen über einen kommunikationskanal |
CN100352270C (zh) * | 2005-10-21 | 2007-11-28 | 西安交通大学 | 一种支持多源流媒体的同步播放控制方法 |
-
2006
- 2006-11-09 CN CNA2006101385882A patent/CN101179484A/zh active Pending
-
2007
- 2007-11-09 CN CN2007800024610A patent/CN101371488B/zh not_active Expired - Fee Related
- 2007-11-09 WO PCT/CN2007/003176 patent/WO2008055420A1/zh active Application Filing
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185081B (zh) * | 2013-05-22 | 2019-04-19 | 韩华泰科株式会社 | 在使用实时传输协议包播放的图像中显示时间的方法 |
CN114556963A (zh) * | 2019-12-27 | 2022-05-27 | 多玩国株式会社 | 内容生成装置、内容分发服务器、内容生成方法以及内容生成程序 |
CN112130485A (zh) * | 2020-08-31 | 2020-12-25 | 南京理工大学 | 一种高速多通道同步采集装置及方法 |
CN114173149A (zh) * | 2021-12-21 | 2022-03-11 | 杭州当虹科技股份有限公司 | 一种防插播的方法 |
CN115174979A (zh) * | 2022-06-20 | 2022-10-11 | 阿里巴巴(中国)有限公司 | 流媒体传输网络及传输控制方法、装置、设备及存储介质 |
CN115174979B (zh) * | 2022-06-20 | 2023-12-29 | 阿里巴巴(中国)有限公司 | 流媒体传输网络及传输控制方法、装置、设备及存储介质 |
WO2024032107A1 (en) * | 2022-08-08 | 2024-02-15 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for visual data processing |
WO2024046071A1 (zh) * | 2022-08-29 | 2024-03-07 | 华为技术有限公司 | 一种数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101371488B (zh) | 2013-01-30 |
WO2008055420A1 (fr) | 2008-05-15 |
CN101179484A (zh) | 2008-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101371488A (zh) | 一种不同媒体流间的同步方法及*** | |
US11665384B2 (en) | Method and apparatus for transmitting media data in multimedia transport system | |
EP2628297B1 (en) | Method for synchronizing multimedia flows and corresponding device | |
JP4649091B2 (ja) | 通信端末、サーバ装置、中継装置、放送通信システム、放送通信方法及びプログラム | |
US7035295B2 (en) | Direct RTP delivery method and system over MPEG network | |
JP4668515B2 (ja) | マルチメディアコンテンツに同期化されたメタデータ伝送装置及び方法 | |
JP6317872B2 (ja) | 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法 | |
KR101689616B1 (ko) | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 | |
CN100568971C (zh) | 一种mpeg-4的传输码流到互联网流媒体联盟流的实时转换方法 | |
US20090293093A1 (en) | Content server, information processing apparatus, network device, content distribution method, information processing method, and content distribution system | |
CN103947215B (zh) | 传送媒体数据的方法和设备、接收媒体数据的设备和方法 | |
US10305617B2 (en) | Transmission apparatus, transmission method, reception apparatus, and reception method | |
WO2005043783A1 (ja) | 携帯端末向け伝送方法及び装置 | |
CN105308974A (zh) | 传输装置、传输方法、再现装置、再现方法以及接收装置 | |
Park et al. | Delivery of ATSC 3.0 services with MPEG media transport standard considering redistribution in MPEG-2 TS format | |
WO2008022501A1 (fr) | Procédé de diffusion en multimédia mobile de flots multividéo | |
CN112272316B (zh) | 一种基于视频显示时间戳的多传输码流同步udp分发方法和*** | |
CN1327443C (zh) | 一种流媒体点播的音视频切换方法 | |
CN103281585B (zh) | Iptv的stb装置 | |
CN101540897B (zh) | 一种用于有线电视网络的交互电视节目流时间戳下发方法 | |
KR100649399B1 (ko) | 아이피를 통해 디지털 방송 서비스를 제공하는 방법 | |
Hai et al. | Research and application on dynamical media encapsulation technology based on extended mpeg-ts | |
JP2008227795A (ja) | ストリーム受信装置 | |
JP2008187368A (ja) | コンテンツ送出装置 | |
CN110719244B (zh) | 异构网络下媒体的传输方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130130 |
|
CF01 | Termination of patent right due to non-payment of annual fee |