CN104536910B - 一种mpeg ts流pid重映射实现系统及方法 - Google Patents

一种mpeg ts流pid重映射实现系统及方法 Download PDF

Info

Publication number
CN104536910B
CN104536910B CN201410760411.0A CN201410760411A CN104536910B CN 104536910 B CN104536910 B CN 104536910B CN 201410760411 A CN201410760411 A CN 201410760411A CN 104536910 B CN104536910 B CN 104536910B
Authority
CN
China
Prior art keywords
pid
old
value
address
mapping
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.)
Active
Application number
CN201410760411.0A
Other languages
English (en)
Other versions
CN104536910A (zh
Inventor
李俊
牛伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Core Digital Polytron Technologies Inc
Original Assignee
Chengdu Core Digital Polytron Technologies Inc
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 Chengdu Core Digital Polytron Technologies Inc filed Critical Chengdu Core Digital Polytron Technologies Inc
Priority to CN201410760411.0A priority Critical patent/CN104536910B/zh
Publication of CN104536910A publication Critical patent/CN104536910A/zh
Application granted granted Critical
Publication of CN104536910B publication Critical patent/CN104536910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种MPEG TS流PID重映射实现系统及方法。解析TS流并提取TS流中PID为old PID;将提取出的old PID和在映射过程中会被替换成的new PID组成PID映射表;将PID映射表根据old PID的值按照从小到大的顺序进行排序并存储;当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对,相等则退出查询,用new PID替换提取出的PID,否则根据比对大小和映射表地址大小来决定向上或向下查询,并继续查询和比对。对比传统的查询方式,去除了资源浪费,节省了大量的存储器资源开销和减小了系统的延时。

Description

一种MPEG TS流PID重映射实现系统及方法
技术领域
本发明涉及一种MPEG TS流PID重映射实现系统及方法,特别是涉及一种适用于DVB系统中MPEG TS流PID的重映射实现系统及方法。
背景技术
目前通用PID重映射方法,把PID输入输出的映射关系存于FPGA内部一块RAM中。当一个TS流包输入FPGA后,FPGA开始提取包中的PID,在存有PID映射关系的RAM中去查询此输入PID对应的输出PID。由于MPEG2中,每个TS流的包长为188,所以当要处理的PID超过188个时,就需要对每个TS包进行寄存,以增加查询所需时间。
以处理2048个PID为例,就要格外开辟存储空间来寄存每个TS包,这样才能将RAM中2048个PID查询完,以Altera的FPGA Cyclone IV EP4CE40为例,需要多消耗2个M9K的存储器资源,并加大系统的延时,这就给设计带来了时序和资源的浪费。
发明内容
本发明要解决的技术问题是提供一种查询时间短,节省时序和资源的MPEG TS流PID重映射实现系统及方法。
本发明采用的技术方案如下:一种MPEG TS流PID重映射实现系统,其特征在于,包括
PID提取模块,解析TS流并提取TS流中PID为old PID;
映射表生成模块,将提取出的old PID和在映射过程中会被替换成的new PID组成PID映射表;
PID映射表排序模块,将PID映射表根据old PID的值按照从小到大的顺序进行排序;
PID映射表存储模块,存储排序好的PID映射表;
PID查询模块,当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;
PID比较模块,将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对。
一种MPEG TS流PID重映射实现方法,具体方法步骤为,
步骤一、解析TS流并提取TS流中PID为old PID;
步骤二、将提取出的old PID和在映射过程中会被替换成的new PID组成PID映射表;
步骤三、将PID映射表根据old PID的值按照从小到大的顺序进行排序并存储;
步骤四、当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对,判断是否相等,相等,则退出查询,用new PID替换提取出的PID,否则进入下一步;
步骤五、根据比对大小和映射表地址大小来决定向上或向下查询,并继续查询和比对。
作为优选,所述步骤四中,将TS流中提取的PID的值与查询的PID映射表中间地址中的old PID的值进行比对。
作为优选,所述步骤五中,根据比对大小和映射表地址大小来决定向上或向下查询,查询地址为对上一次进行查询的地址排除后,所剩下的需要进行查询的地址范围的中间地址,并以此类推继续查询和比对。
与现有技术相比,本发明的有益效果是:对比传统的查询方式,去除了资源浪费,节省了大量的存储器资源开销和减小了系统的延时。
附图说明
图1为本发明其中一实施例的PID映射表存储结构示意图。
图2为图1所示实施例中的PID查询示意图。
图3为图1所示实施例的实现方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
一种MPEG TS流PID重映射实现系统,包括PID提取模块,解析TS流并提取TS流中PID为old PID;映射表生成模块,将提取出的old PID和在映射过程中会被替换成的newPID组成PID映射表;PID映射表排序模块,将PID映射表根据old PID的值按照从小到大的顺序进行排序;PID映射表存储模块,存储排序好的PID映射表;PID查询模块,当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;PID比较模块,将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对。
如图1所示,图中代表一个存储器资源,在本具体实施例中,PID映射表根据oldPID按照从小到大的顺序存在存储器中,排序的过程是CPU进行的排序,排好序后将PID映射表传到FPGA的RAM中。
一种MPEG TS流PID重映射实现方法,具体方法步骤为,
步骤一、解析TS流并提取TS流中PID为old PID;
步骤二、将提取出的old PID和在映射过程中会被替换成的new PID组成PID映射表;
步骤三、将PID映射表根据old PID的值按照从小到大的顺序进行排序并存储;
步骤四、当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对,判断是否相等,相等,则退出查询,用new PID替换提取出的PID,否则进入下一步;
步骤五、根据比对大小和映射表地址大小来决定向上或向下查询,并继续查询和比对。
节省了用于寄存TS包的存储器资源,同时也节省了相应的时序资源。
在本具体实施例中,所述步骤四中,将TS流中提取的PID的值与查询的PID映射表中间地址中的old PID的值进行比对。
在本具体实施例中,所述步骤五中,根据比对大小和映射表地址大小来决定向上或向下查询,查询地址为对上一次进行查询的地址排除后,所剩下的需要进行查询的地址范围的中间地址,并以此类推继续查询和比对。
以查询2048个PID为例,当开始查询时,如图2所示,第一次取出地址为1024中的数据进行对比,如果不对,继续下一次查询,直到查询到对应的PID后退出,或者没查询到,但遍历完毕退出,具体流程如图3所示,当有TS流输入进来时,我们会提取出TS流包中的PID,这里称它为TS_PID。提取完成后,进入PID查询过程,查询的初始地址为地址长度的中间值,即初始地址为addr=1024。这里还有一个偏移地址,这里称之为flag,flag的初始值为地址长度的1/4,即初始偏移地址flag=512,同时flag也是查询完成的标志。
将TS_PID与addr=1024中的old_PID进行对比,是否相等,如果相等,完成查询,退出此次查询,如果不相等,比对大小,如果TS_PID>old_PID,则addr加上flag,形成下一个查询的地址,flag与addr完成相加后flag的值要进行右移一位;如果TS_PID<old_PID,则addr减去flag,形成下一个查询的地址,flag与addr完成相减后flag的值也要进行右移一位。这样重复上面的过程,直至查询到相应的PID,退出查询,或者flag标志等于0,退出查询。每次addr与flag进行运算后flag的值都要进行右移一位,直到flag的值等于0,此时标志着查询过程结束,此时没有查询到相应的PID,退出。如果在查询过程中查询到TS_PID等于old_PID,立刻退出查询,用new_PID替换TS_PID。
如果比所查询的old PID大,则把查询范围缩小到地址范围1025~2047,如果比所查询的old PID小,则把查询范围缩小到地址范围0~1023,第二次查询依然从中间地址开始查询,比如如果在地址范围1025~2047,则查询地址为1536中的PID;如果在地址范围0~1023,则查询地址为512中的PID。依此类推,这样不断分割,查询完2048个PID理论上只需要12个时钟周期。在实际应用中从TS包中提取PID,加上从RAM中读取PID并对比,还要花去一部分延时,总的算下来查询完2048个PID至少需要26个时钟周期。对比传统的查询方式,节省了大量的存储器资源开销和减小了系统的延时。

Claims (4)

1.一种MPEG TS流PID重映射实现系统,其特征在于,包括
PID提取模块,解析TS流并提取TS流中PID为old PID;
映射表生成模块,将提取出的old PID和在映射过程中会被替换成的new PID组成PID映射表;
PID映射表排序模块,将PID映射表根据old PID的值按照从小到大的顺序进行排序;
PID映射表存储模块,存储排序好的PID映射表;
PID查询模块,当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;
PID比较模块,将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对;
其中,所述PID比较模块进行比对的具体方法为:将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对,判断是否相等,相等,则退出查询,用new PID替换提取出的PID,否则,根据比对大小和映射表地址大小来决定向上或向下查询,并继续查询和比对。
2.一种MPEG TS流PID重映射实现方法,具体方法步骤为,
步骤一、解析TS流并提取TS流中PID为old PID;
步骤二、将提取出的old PID和在映射过程中会被替换成的new PID组成PID映射表;
步骤三、将PID映射表根据old PID的值按照从小到大的顺序进行排序并存储;
步骤四、当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对,判断是否相等,相等,则退出查询,用new PID替换提取出的PID,否则进入下一步;
步骤五、根据比对大小和映射表地址大小来决定向上或向下查询,并继续查询和比对。
3.根据权利要求2所述的MPEG TS流PID重映射实现方法,所述步骤四中,将TS流中提取的PID的值与查询的PID映射表中间地址中的old PID的值进行比对。
4.根据权利要求2或3所述的MPEG TS流PID重映射实现方法,所述步骤五中,根据比对大小和映射表地址大小来决定向上或向下查询,查询地址为对上一次进行查询的地址排除后,所剩下的需要进行查询的地址范围的中间地址,并以此类推继续查询和比对。
CN201410760411.0A 2014-12-12 2014-12-12 一种mpeg ts流pid重映射实现系统及方法 Active CN104536910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410760411.0A CN104536910B (zh) 2014-12-12 2014-12-12 一种mpeg ts流pid重映射实现系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410760411.0A CN104536910B (zh) 2014-12-12 2014-12-12 一种mpeg ts流pid重映射实现系统及方法

Publications (2)

Publication Number Publication Date
CN104536910A CN104536910A (zh) 2015-04-22
CN104536910B true CN104536910B (zh) 2017-12-12

Family

ID=52852440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410760411.0A Active CN104536910B (zh) 2014-12-12 2014-12-12 一种mpeg ts流pid重映射实现系统及方法

Country Status (1)

Country Link
CN (1) CN104536910B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243804B2 (en) * 2019-11-19 2022-02-08 Micron Technology, Inc. Time to live for memory access by processors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1623327A (zh) * 2002-01-02 2005-06-01 索尼电子有限公司 部分加密和pid映射
CN103297843A (zh) * 2012-03-02 2013-09-11 三星电子(中国)研发中心 一种用于mpeg ts文件回放的节目选择方法
CN104205856A (zh) * 2012-03-26 2014-12-10 索尼公司 用于同时处理多个电视节目的条件接入方法与设备
CN104205855A (zh) * 2012-03-26 2014-12-10 索尼公司 用于同时处理多个电视节目的条件接入方法与设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1615018A (zh) * 2003-11-06 2005-05-11 皇家飞利浦电子股份有限公司 一种从mpeg多节目传送流中提取/存储特定节目的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1623327A (zh) * 2002-01-02 2005-06-01 索尼电子有限公司 部分加密和pid映射
CN103297843A (zh) * 2012-03-02 2013-09-11 三星电子(中国)研发中心 一种用于mpeg ts文件回放的节目选择方法
CN104205856A (zh) * 2012-03-26 2014-12-10 索尼公司 用于同时处理多个电视节目的条件接入方法与设备
CN104205855A (zh) * 2012-03-26 2014-12-10 索尼公司 用于同时处理多个电视节目的条件接入方法与设备

Also Published As

Publication number Publication date
CN104536910A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN105159777B (zh) 进程的内存回收方法及装置
CN105095099B (zh) 一种基于内存页位图变更的大内存页整合方法
CN100445999C (zh) 一种数据存储及搜索方法
CN105022696B (zh) 一种基于内存访问热度的大内存页整合方法
WO2010046086A8 (en) Method for multimedia content search on the internet
CN104536910B (zh) 一种mpeg ts流pid重映射实现系统及方法
CN107506482A (zh) 一种基于流式处理框架的大规模数据处理装置及方法
CN105591914A (zh) 一种openflow流表的查表方法和装置
CN101741737B (zh) 路由表的维护方法与装置
CN102663061B (zh) 一种大容量查找表快速排序和查找装置及其实现方法
CN106789697A (zh) 一种提高大批量网络流表老化效率的方法及装置
CN105512234A (zh) 一种云数据库的数据存储方法
CN106126743A (zh) 配置页面的生成方法及系统
CN102819441B (zh) 一种基于MPC5200B的Vxworks系统快速启动方法
CN108063692B (zh) 流量识别方法及装置
CN106897450A (zh) 一种基于HDFS海量数据快速导入HBase的方法
CN103176953A (zh) 一种文本处理方法及系统
CN104504012A (zh) 一种基于逆拓扑的数据库数据迁移方法
CN104679837A (zh) 关键词调价请求的处理方法及装置
CN103067770B (zh) 一种电视机中网络参数设置及纠错方法
CN101369264B (zh) 一种自动排版方法
CN107608994A (zh) 一种批量处理sql语句插入数据库的方法及系统
CN105224620A (zh) 通过软件搬移降低hash冲突概率的方法及装置
CN103077284A (zh) 利用通用文本模板自动生成辅助代码文件的方法及系统
CN203581698U (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
CB02 Change of applicant information

Address after: 610046, No. 10, No. four, 12 Xing Wu Road, Chengdu, Sichuan, Wuhou District

Applicant after: Chengdu core digital Polytron Technologies Inc

Address before: 610046, No. 10, No. four, 12 Xing Wu Road, Chengdu, Sichuan, Wuhou District

Applicant before: Chengdu Dexin Digital Technology Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant