NVOD是NearVideoOnDemand的缩写,称之为VOD的业务,使得用户对自己喜爱的节目有了一定的交互。
这种准视频点播的方式是:多个视频流依照固定间隔启动发送同样的内容。比如,六个视频流每隔十五分钟启动一个发送同样的九十分钟的电视节目。如果用户想看这个电视节目可能需要等待,但最长不会超过90/6=15分钟,他们会选择距他们最近的某个时间起点进行收看。在这种方式下,一个视频流可能为许多用户共享。
?
????????????????????????图1NVOD的码流播出
?
我们结合实际的NVOD的码流理解下NVOD的实现原理。
????????????????图2包含5个service的NVOD码流
图2是一个包含5个NVODservice码流的TS的分析图。
从图2的PMT的分析可以看出,在这个TS流中,共包含了5个基本的service。节目号从3101到3105。根据DVB标准,每一个service都会对应一个SDT表中的业务描述。但是很明显,我们的SDT表中包含六个业务描述。这多出来的第六个业务描述,我们称之为NVOD参考业务,而其子业务,称之为NVOD时移业务。
DVBSI?的标准中引入了NVODreferenceservice(参考业务)?的概念,它将各个不同节目组合成单一的一套节目。NVODreferenceservice?本身只是一个虚拟的service,它在PMT?表中没有相应的描述,但是它也是一种service,具有从播控系统分配得到的service_id,并且其servicetype的值为0x04,而且也有其相应的EIT表。
展开业务描述6,如图3所示。
?????????????????????图3NVODreferenceservice(SDT表中的参考业务)
业务描述6的描述子包含NVOD_reference_descriptor描述子和service_descriptor。
在“中文SI版本1.0”中,NVOD_reference_descriptor是这样定义的。
NVOD参考描述符(NVOD_reference_descriptor见表62)给出了一个组成NVOD业务的业务列表。放在NVOD参考业务的SDT表中。
每个子业务也可以在适当的业务描述表SDT子表中通过一个时移业务描述符(time_shift_service_descriptor参见6.2.35)进行描述,表明自己的隶属身份。时移业务描述符通过一个参考业务标识符reference_service_id与一个时移业务相关联。在给出的所有的NVOD描述中,reference_service_id是一个标识,但是refernce_service_id本身并不对应program_map_section中的任何program_number。
时移事件描述符用于每个时移业务的事件信息描述。时移事件描述符指向一个参考业务中的参考事件标识符reference_event_id,而不是复制每个事件的全部信息。全部的事件信息由参考业务的事件信息提供。
组成NVOD业务的这些业务并不需要都在同一个TS中传送。然而一个参考业务应该在每个带有NVOD业务的TS的SI中加以描述。
根据上述定义,NVOD_reference_descriptor描述了NVOD包含的所有的service流。
展开图3中的NVOD_reference_descriptor,如图4所示。
?????????????图4NVOD_reference_descriptor包含了PMT中的五个service。
图4中的Nvod_reference_descriptor包含了PMT中的5个service,这5个service对应的SDT表则使用时移业务描述符表明自己的NVOD身份。
?
?????????????图5SDT中的time_shifted_service_descriptor
??????????????(注意和time_shifted_event_descriptor的区别)
在“中文SI版本1.0”中,time_shifted_service_descriptor定义如下:
?
时移节目业务描述符的语义:?????参考业务标识符??reference_service_id?????16位字段,标识一个NVOD业务集的参考业务。在这种TS中经常出现参考业务。这里的service_id在program_map_section中并没有program_number。
?在图5中,业务描述1中,service3102的参考service的id为3106。
?到目前为止,NVOD中的所有service已经全部可以表示出来,下面再看下NVOD中的EPG的表示方法。
????????图6NVOD的EIT中的time_shifted_event_descriptor
time_shifted_event_descriptor的定义如下:
?
?
?时移事件描述符的语义:??????参考业务标识符??reference_service_id:??????16位字段,标识一个NVOD业务集的参考业务。在这种TS中经常出现参考业务。这里的service_id在program_map_section中并没有program_number。??????参考事件标识符??reference_event_id:??????16位字段,标识一个事件的参考事件,这一由时移事件标识符描述的事件是一个时移拷贝。
??????在图6中,service3101的eventid为0xde的事件实际指向了service3106的eventid为0x1的事件。
|
|