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

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

Info

Publication number
CN104536910A
CN104536910A CN201410760411.0A CN201410760411A CN104536910A CN 104536910 A CN104536910 A CN 104536910A CN 201410760411 A CN201410760411 A CN 201410760411A CN 104536910 A CN104536910 A CN 104536910A
Authority
CN
China
Prior art keywords
pid
mapping table
stream
old
address
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
Application number
CN201410760411.0A
Other languages
English (en)
Other versions
CN104536910B (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 DEXIN DIGITAL TECHNOLOGY Co Ltd
Original Assignee
CHENGDU DEXIN DIGITAL TECHNOLOGY Co Ltd
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 DEXIN DIGITAL TECHNOLOGY Co Ltd filed Critical CHENGDU DEXIN DIGITAL TECHNOLOGY Co Ltd
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和在映射过程中会被替换成的new PID组成PID映射表;PID映射表排序模块,将PID映射表根据old PID的值按照从小到大的顺序进行排序;PID映射表存储模块,存储排序好的PID映射表;PID查询模块,当有TS流包输入时,提取所述TS流包中的PID并查询存储模块中的PID映射表;PID比较模块,将TS流中提取的PID的值与查询的PID映射表某一地址中的old PID的值进行比对。
如图1所示,图中代表一个存储器资源,在本具体实施例中,PID映射表根据old PID按照从小到大的顺序存在存储器中,排序的过程是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的值进行比对。
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 true CN104536910A (zh) 2015-04-22
CN104536910B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114631083A (zh) * 2019-11-19 2022-06-14 美光科技公司 供处理器进行存储器存取的生存时间

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1623327A (zh) * 2002-01-02 2005-06-01 索尼电子有限公司 部分加密和pid映射
US20070133693A1 (en) * 2003-11-06 2007-06-14 Koninklijke Phillips Electronics N.V. Method and system for extracting/storing specific program from mpeg multpile program tranport stream
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 索尼公司 用于同时处理多个电视节目的条件接入方法与设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1623327A (zh) * 2002-01-02 2005-06-01 索尼电子有限公司 部分加密和pid映射
US20070133693A1 (en) * 2003-11-06 2007-06-14 Koninklijke Phillips Electronics N.V. Method and system for extracting/storing specific program from mpeg multpile program tranport stream
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 索尼公司 用于同时处理多个电视节目的条件接入方法与设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114631083A (zh) * 2019-11-19 2022-06-14 美光科技公司 供处理器进行存储器存取的生存时间
CN114631083B (zh) * 2019-11-19 2024-05-17 美光科技公司 供处理器进行存储器存取的生存时间

Also Published As

Publication number Publication date
CN104536910B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
PH12019501499A1 (en) Blockchain consensus method and device
CN103123618B (zh) 文本相似度获取方法和装置
CN105159777A (zh) 进程的内存回收方法及装置
CN103095840B (zh) 一种用于移动终端的广告加载方法
CN103136227A (zh) 一种生成榜单的方法及装置
CN103488732A (zh) 一种静态页面生成方法及装置
CN105426467A (zh) 一种用于Presto的SQL查询方法及系统
CN103309801A (zh) 一种确定回归测试范围的方法和装置
CN105591914A (zh) 一种openflow流表的查表方法和装置
CN104468361A (zh) 带有优先级的tcam储存和查找方法及装置
CN104461901A (zh) 一种自动生成测试用例的方法及系统
CN110677468A (zh) 消息处理方法、装置以及设备
CN104376061A (zh) 一种提取网页正文的方法
CN104536910A (zh) 一种mpeg ts流pid重映射实现系统及方法
CN106789697A (zh) 一种提高大批量网络流表老化效率的方法及装置
CN106776072A (zh) 消息推送方法及系统
CN105681252A (zh) 一种基于客户端侧数据的处理方法及装置
CN104462605B (zh) 一种数据库持久层框架配置、修改方法及系统
CN109800074A (zh) 任务数据并发执行方法、装置以及电子设备
CN106126743A (zh) 配置页面的生成方法及系统
CN103176953B (zh) 一种文本处理方法及系统
CN103207907B (zh) 一种索引文件合并方法及装置
CN104598546A (zh) 同义词搜索系统
CN104516956B (zh) 一种网站信息增量爬取方法
CN103399937B (zh) 一种基于coreseek查询分页的方法及装置

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