• 当前实现功能
  1. 滚动文字和图片
  2. 挂角BMP图片和GIF图片
  • 前端软件的基本处理

    1. 前端实现定时发送。
    2. PMT增加Private_AD_Descriptor。
  • 前端软件的内部处理(待讨论)
    1. 给出每条滚动字幕的消耗时间计算公式,包括字数,移动速度(字/秒),屏幕宽度(等效字数),播出次数等输入参数。按照时间=(字数+屏幕宽度)/移动速度×播出次数。
    2. 计算出每条字幕每次播出需要的时间,然后再取整计算出需要多少AD_SCROLL发送周期。然后在用户设置参数时,可以告诉用户,在指定的播出时间段内,播出次数能否满足要求。这个计算需要考虑多条字幕。还要显示出,消耗的AD_SCROLL周期数/播出时间段的总AD_SCROLL周期数= X%
    3. 根据多条字幕的设置,自动计算出哪个AD_SCROLL周期发送哪几条字幕。如果有多条字幕在同一个时间段播出,需要自动计算交叉播出的方式。
  • 机顶盒模块的处理
    1. 机顶盒需要不停的接收这个表,
    2. 收到表后,分析描述子,判断是否需要在当前节目中显示。
    3. 取出PMT中Private_AD_Descriptor中的节目序号,scroll_program_despritor中的program_data对应的位如果为1,表示在该节目中播放。
    4. 如果需要显示,按照指定的显示次数,显色图片或字体颜色,背景颜色显示内容
    5. 机顶盒显示100个字,大约需要55秒。最多只能显示120个汉字。
  • 表的定义如下:table id=0x94;PID在PMT中的Private_AD_Descriptor指定

语法

位数

缩写

AD_Section( ) {

table_id

section_syntax_indicator

‘0’

reserved

section_length

reserved

SaveControl

reserved

version_number

current_next_indicator

section_number

last_section_number

ad_scroll_table_version

reserved

ad_scroll_id

AD_Type

descriptors_loop_length //描述子长度

for(k=0;k<N;k++)

{

  scroll_program_descriptor( )

  [AD_Scroll_descriptor]

  [AD_Corner_descriptor]

}

reserved

data_length//数据总长度

for(i=0;i<N;i++){

data_byte

}

    CRC32

}

8

1

1

2

12

16

1

1

5

1

8

8

8

32

16

8

16

16

32

8

32

uimsbf

bslbf

bslbf

bslbf

uimsbf

uimsbf

bslbf

uimsbf

bslbf

uimsbf

bslbf

uimsbf

uimsbf

uimsbf

uimsbf

uimsbf

uimsbf

uimsbf

uimsbf

  • 表内容的解释

    1. adl_id  一条广告的ID值
    2. AD_Type:1-开机画面、2-频道切换、3-频道列表、4-主菜单、5-EPG、6-音频广播背景、7-飞字、8-挂角广告
    3. 有效数据分段长度固定为4000,最后段长度为数据总长- last_section_number*4000.
  • 表中的滚动节目描述子,表示该字幕在哪些节目中显示

语法

位数

缩写

scroll_program_descriptor( )

{

scroll_program_tag = 0xD1

scroll_program_length = 0x20

program_data1

program_data2

program_data3

program_data4

program_data5

program_data6

program_data7

program_data8

}

8

8

32

32

32

32

32

32

32

32

uimsbf

uimsbf

uimsbf

  • 飞字描述子

AD_Scroll_descriptor( )

{

Descriptor_Tag = 0xD3

Descriptor _length

scroll_times //滚动次数

startxPos//开始的x坐标

startyPos//开始的y坐标

move_ direction//滚动方向

Scroll_Velocity//速度(字/秒或 像素/秒)

Start_Time//开始时间

TextOrBMP

if( textOrBmp==’0’)

{

font_colour  //字体颜色

background_colour //背景颜色

}

}

8

8

8

16

16

8

8

40

8

8

8

uimsbf

uimsbf

uimsbf

    1. textOrBmp:0-文本滚动字幕1-bmp图片滚动字幕,其它有待扩展。
    2. startxPos,startyPos:滚动字幕开始的坐标
    3. move_ direction:1-从左向右0-从右向左2-从下向上3-从上向下
    4. scroll_times 一条字幕的重复显示次数
    5. font_colour 字体颜色,约定256色调色板的颜色索引值,定义0表示,1表示。。。。。。
    6. background_colour 背景颜色,约定256色调色板的颜色索引值,定义0表示,1表示。。。。。。
  • 挂角描述子

AD_Corner_descriptor( )

{

Descriptor_Tag = 0xD4

Descriptor _length

StartXPos

StartYPos

Width

Height

PicFormat(1-bmp 2-gif)

StartTime(开始时间UTC)

Duration

}

8

8

16

16

16

16

1

40

24

uimsbf

uimsbf

  • BMP图片数据结构

typedef struct  bmpInfo

{

U16 size;

U16 width;

U16 height;

U8 biCompression;0-无压缩1-RLE8压缩;

U16 ColorPaletteLen;//调色板数据长度

U8 ColorPalette [ColorPaletteLen];

U8 data[size-2-2-2-1-2- ColorPaletteLen]

}

  • Private_AD_Descriptor定义

语法

位数

缩写

Private_AD_Descripto( )

{

Private_AD_Tag  = 0xD2 //

length = 0x03

Program_ID;

AD_PID;

}

8

8

8

16

uimsbf

uimsbf

uimsbf

uimsbf

博远 广告协议设计V2.0相关推荐

  1. USB硬件 键盘鼠标控制器 V2.0 支持二次开发

    USB硬件 控制键盘鼠标 V2.0 支持二次开发提供开发包 usb键盘鼠标控制器由来: 听说过"按键精灵"这个软件,就不难理解了;就是这个思路,做一个真正的硬件键盘鼠标,然后我们控 ...

  2. [V2.0 alpha]又一款博客园Android客户端低调推出

    [V2.0]自v1版发布已经有一个月了,赶在周末之前发个v2.0的公测包,欢迎园友下载使用. V2功能说明: 1.用户登陆: 2.文章/新闻评论: 2.用户关注/粉丝查看: 3.个人博客查看: 本来计 ...

  3. Teddy's Knowledge Base--基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速开发框架设计NBear V2.0.0 [开源]...

    Teddy's Knowledge Base--基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速开发框架设计NBear V2.0.0 [开源] 基于.Net 2.0 (C# 2. ...

  4. CYQ.DBImport 数据库反向工程及批量导数据库工具 V2.0 发布[增加批量导出数据库脚本及数据库设计文档]...

    上次发布的:CYQ.DBImport V1.0的相关介绍:CYQ.DBImport 数据库反向工程及批量导数据库工具 V1.0 本次发布的V2.0 版本,准备突击海外,下面为相关的介绍. 一:新版本2 ...

  5. 《Windows Phone 7 用户界面设计和交互指南 v2.0》

    微软 Windows Phone 团队今天发布了<Windows Phone 7 用户界面设计和交互指南 v2.0>(UI Design and Interaction Guide for ...

  6. 路过秋天版博客 V2.0 正式版发布 增加后台管理系统[支持多语言、多用户、多数据库、目录级URL]...

    路过秋天版博客发布历史回顾: 1:2010年11月08日---支持多语言.多用户.多数据库.目录级URL之路过秋天版博客发布[绝对有杀伤力的博客] 2:2010年11月10日---基础却容易被忽略的那 ...

  7. 名片设计宝 v2.0.1

    类型:网络通讯 版本:v2.0.1 大小:18.3M 更新:2019/2/27 语言:简体 等级: 平台:安卓, 4.0以上 下载地址: 名片设计宝 v2.0.1(1) 名片设计宝 v2.0.1(2) ...

  8. 明远智睿MY-IMX6-EK200 Linux-4.1.15测试手册v2.0(3)

    [接上一章节明远智睿MY-IMX6-EK200 Linux-4.1.15测试手册v2.0(2)] 2.16  SPI测试(ECSPI1) [测试说明]:采用自发自收的方式测试. [接口标识]:SPI1 ...

  9. Android版酷狗音乐 v9.0.1 去广告SVIP珍藏V2版

    by YYY~清羽 ◎兼容最新版MIUI系统 ◎去除启动页,首页,专辑页,听歌识曲页广告 ◎去除多余权限,服务,广播接收器,内容提供商 ◎去除安卓8以上系统的"正在运行通知" ◎去 ...

最新文章

  1. linux常用指令_Linux系统常用指令总结
  2. [链接]博客园中应用LaTex进行公式编写
  3. 多线路虚拟主机解决方案
  4. 【原创】Windows® Embedded CE 6.0 Fundamentals 读书笔记_Chapter 9
  5. javafx 值对_我今天对JavaFX的了解
  6. python源码笔记_python源码学习笔记(二)
  7. 【转】VPP基本安装
  8. 算法导论 思考题2-4
  9. Spring 源码分析(四) ——MVC(六)M 与 C 的实现
  10. python有哪些用途-python是什么?python的用途
  11. android搜索框布局文件,android搜索框列表布局,流程及主要步骤思维导图
  12. Setup Factory制作程序exe安装包-软件打包360浏览器及串口驱动
  13. 接触Firefox的xpi
  14. DNS 解析出错导致 MySQL 无法连接
  15. 10大开源的快速开发平台—架构师必看
  16. dreamware html中加入flv,Dreamweaver插入FLV文件技巧
  17. Opencv下双线性插值法进行图像放缩
  18. 金仓数据库KingbaseES高可用最佳应用实践(Clusterware)
  19. 引流的最快方法是什么?我是如何实现长期被动引流的
  20. CC2530的中断操作----按键控制led灯亮灭

热门文章

  1. 软件工程毕业设计课题(90)微信小程序毕业设计PHP电影院购票售票小程序系统设计与实现
  2. LM2903VQPWRQ1比较器 LM73C0QDDCRQ1传感器的中文资料
  3. Windows下使用HAXM加速Android模拟器(以x86方式运行)
  4. Kubernetes-3 二进制安装k8s
  5. 计算机中被选中会是什么颜色,计算机基础考试-简答题
  6. 微信小程序商城运营指南分享
  7. Asymptote 自己搭建简易IDE
  8. “预知能力的超人” 细数威胁情报那些事儿
  9. 用php打出2020年是庚子鼠年,2020庚子鼠年的运势在这里
  10. 用黄金比例评价“完美脸型”是否靠谱?