第一天上班的收获

  自学 subtitle 的原理和实现 PPT 所得及所问

subtitle 以流的形式进行输入和输出 让我想起了j2se里的inputStream和outputStream 就像两根水管 输出端连接到输入端

这个管道里面,又包含了很多束subtitle的服务(宏观地说包含各种文本/图像)  


一个subtitle 流必须被PID相同的数据包传送,同一个subtitle服务必须被同一个subtitle流所携带,不同的subtitle可以为同一个节目提供不同语言的subtitle,也能为不同的节目提供服务

一个subtitle服务最多包含两种页ID的段。一种是包含该subtitle服务特有数据的段,这种段的使用是强制性的。一种是包含有多个subtitle服务所共享的数据的段,这种段的使用是可选的。

每束服务又有许多的页面——> 页面又是由区域构成的,区域具有一系列参数特征(ID,水平尺寸等),而区域又含有大量对象,对象们的特征就是文字图像等具体的内容;

其中PCS(修饰页构成的段码——显示使用的域):域的外部修饰与域本身的属性无关,如列表,空间位置,页的状态等。除此之外,PCS还携带着若干张由域构成的表,PCS同时也含有域在屏幕位置上的列表 一个域垄断了它所占的扫描行的任意部分,没有任何两个域可以在屏幕上水平相邻。

具体的,PCS包含了页的生存时间,页版本号,页状态,处理长度,域ID,域的水平垂直位置

RCS(修饰域构成——object的使用和位置的段码):域的本身属性颜色大小像素深度,以及域的对象及其位置列表等。

当PCS中的页状态时mode change 或acquisition point 时,整个RCS的集合将会出现在display set中。当进行页更新时,display set只需要包含那些需要改变的数据。域ID,域版本号,域填充标志,域的宽度,域高度,域兼容等级等。

一旦被引入内存,域的一些特征在余下的epoch内将不会改变 ,这些特征包括:宽度,高度,深度,域适应程度和CLUT ID。其它在RCS中所描述的特征还包括域填充标志,以及REGION_N-BIT_PIXEL_CODE。

CLUT定义段:包含CLUT ID所标识的一个CLUT的信息。

另外:PES包中PTS控制显示的时间(待详细了解)


二、解码过程(粗):

数据包和PES被剔除头部(?)

将PTS(时间控制)进入解码数据缓冲区,控制何时何地进行解码。

(对subtitle服务来说,每个PES数据包中最多也只能有一个display set。但是PES数据包可以包含若干个不同的subtitle服务的display set)(display set是什么)

共享一个PTS的段分别被不同的PES包传播也是有可能的。

将滤出的subtitle段进入24K编码数据缓冲区,在进入像素缓冲区之前,PCS,RCS,CLUT进入构成缓冲区,对整个subtitle的框架进行准备。

PCS的页状态:mode change acquisition point 和normal case 这些状态都会导致一个page instance 待续




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值