CN105472445A - Ts流解复用方法 - Google Patents
Ts流解复用方法 Download PDFInfo
- Publication number
- CN105472445A CN105472445A CN201510802567.5A CN201510802567A CN105472445A CN 105472445 A CN105472445 A CN 105472445A CN 201510802567 A CN201510802567 A CN 201510802567A CN 105472445 A CN105472445 A CN 105472445A
- Authority
- CN
- China
- Prior art keywords
- filter
- node
- pid
- entrance
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000001914 filtration Methods 0.000 claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 230000000875 corresponding effect Effects 0.000 description 17
- 230000003139 buffering effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及解复用方法。本发明针对现有技术中解复用模块提供的接口存在调用限制的问题,提供一种TS流解复用方法,首先,系统接收过滤请求信息,根据过滤请求信息生成过滤器;其次,系统建立过滤器的索引表入口,索引表入口中的每个入口都分别对应一个结点;然后,系统创建每个结点与过滤器地址的映射关系;最后,系统根据过滤请求信息及映射关系调用过滤器完成信息过滤。从而达到自由过滤各种不同PID包和相同PID包中不同的数据;尤其在不同软件模块同时过滤相同PID包数据的,而不用担心冲突。并且效率高、速度快。适用于TS流解复用方法。
Description
技术领域
本发明涉及数字电视接收机,特别涉及数字电视接收机中的TS解复用方法。
背景技术
在数字电视接收机中,从接收机接收各种数据包括频道音视频,字幕,节目信息,节目预告等数据都是复用在TS(TransportStream传输流)流当中,数据都分割成固定长度的数据包并加上包头放置到传输流中,每个分块叫TS包,DVB(DigitalVideoBroadcasting数字视频广播)规范中TS包大小为188字节,固定的包头中有个PID(packetidentifier)标识,该标识用来区分不同类别的数据。一般不同类别的数据PID不同,相同类别数据PID相同,比如一个频道节目的音频和视频各使用一个PID传输。在使用的时候需要根据需要把不同类别的数据过滤出来使用,这种从复用多种数据流的TS中过滤出指定条件的数据,就叫解复用。
传统TS解复用模块的实现方法有两种:
第一种方式,建立一定数量的过滤通道(通常的通道个数是32,48,64,96)。每个通道就是一个过滤器,这些过滤器是以数组形式管理,见附图1。当应用请求过滤某个PID的TS数据时,就占用一个过滤通道,即占用一个过滤器数组元素。每个PID会分配一个数据缓冲区,这种方式的问题是缓冲区不依据过滤通道建立,而依据PID建立,当有两个数据处理模块同时请求一个PID的过滤,则会产生冲突,因为一个PID只有一个缓冲区,当两个相同PID的过滤器同时从缓冲读取数据时就有问题,缓冲区中数据被一个过滤器读走后会清空,另外一个过滤就读不到原始数据了。
第二种方式,数据缓冲区建立在过滤通道上,而不是依存于PID。这种方式下,两个相同PID占用两个通道,有两个缓冲,不存在PID冲突的问题。但是当收到TS数据包后,根据过滤器条件,需要轮询所有过滤器,才能把数据包放置到需要的过滤器通道缓冲区中。这种方式过滤效率比较低。见附图2。
发明内容
本发明所要解决的技术问题,就是提供一种TS流解复用方法以解决传统数字电视接收机上,数字电视接收机软件实现中,解复用模块提供的接口存在调用限制的问题。
本发明解决所述技术问题,采用的技术方案是,TS流解复用方法,包括以下步骤:
步骤1、系统接收过滤请求信息,根据过滤请求信息生成过滤器;
步骤2、系统建立过滤器的索引表入口,索引表入口中的每个入口都分别对应一个结点;
步骤3、系统创建每个结点与过滤器地址的映射关系;
步骤4、系统根据过滤请求信息及映射关系调用过滤器完成信息过滤。
具体的,所述步骤1中,过滤器至少包括要过滤数据的PID、过滤缓冲区及过滤缓冲区的大小。
具体的,所述步骤2中,索引表中包括8192个过滤入口,每个过滤入口对应一个PID值。
具体的,所述步骤2中,索引表入口中的每个入口都分别对应一个结点可以通过一个索引表入口对应一个结点链表的形式完成。
进一步的,所述结点链表由多个不同节点组成。
进一步的,所述结点链表由多个相同节点组成。
具体的,所述步骤3中,不同结点可以对应同一个过滤器地址。
本发明的有益效果是:本发明通过在一个索引表入口放入一个结点链表,达到多个相同PID的过滤器共用一个入口的目的;同时可以多个不同PID的结点指向一个过滤器,来满足一个过滤请求中可以同时过滤多个PID数据的目的;这样,不同PID的数据可以根据不同的入口结点找到相同的过滤器,从而达到自由过滤各种不同PID包和相同PID包中不同的数据;尤其在不同软件模块同时过滤相同PID包数据的,而不用担心冲突。并且效率高、速度快。
附图说明
图1为本发明TS流解复用方法背景技术中方式一的工作示意图;
图2为本发明TS流解复用方法背景技术中方式二的工作示意图;
图3为本发明TS流解复用方法实施例中方法示意图。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
具体实施方式
下面结合附图及实施例详细描述本发明的技术方案:
本发明针对现有技术中解复用模块提供的接口存在调用限制的问题,提供一种TS流解复用方法,首先,系统接收过滤请求信息,根据过滤请求信息生成过滤器;其次,系统建立过滤器的索引表入口,索引表入口中的每个入口都分别对应一个结点;然后,系统创建每个结点与过滤器地址的映射关系;最后,系统根据过滤请求信息及映射关系调用过滤器完成信息过滤。本发明通过在一个索引表入口放入一个结点链表,达到多个相同PID的过滤器共用一个入口的目的;同时可以多个不同PID的结点指向一个过滤器,来满足一个过滤请求中可以同时过滤多个PID数据的目的;这样,不同PID的数据可以根据不同的入口结点找到相同的过滤器,从而达到自由过滤各种不同PID包和相同PID包中不同的数据;尤其在不同软件模块同时过滤相同PID包数据的,而不用担心冲突。并且效率高、速度快。
实施例
现有技术中的一种过滤方式如图1所示,图示中请求的过滤器存储在64个数组元素中,这种方式的过滤器,是以PID为过滤通道建立的,每个PID只能占用一个通道,当某个PID已经请求时,再来一个同样PID的请求就会失败.途中PID为0的过滤器已经在请求1中占用了,当请求2再次请求过滤PID为0的数据时,则失败。这种方式中,当TS包来时,需要顺序遍历数组,找到TS包对应的过滤器,找到后就停止。图示中PID为0的TS包到来,比较数组下标为0的过滤器不需要,在比较下标为1的过滤器匹配成功,之后不在比较。
另一种过滤方式如图2所示,图示中请求的过滤器存储在64个数组元素中,这种方式的过滤器,这种方式过滤通道不是基于PID的,是基于过滤器的;所以相同PID的过滤请求,不会冲突,但会占用多个过滤通道.图示中两个PID为0的请求都是成功的。但这种方式中,任何一个TS包到达时,都会数组从头找到尾,看是否有过滤器需要这个数据包,由于相同PID过滤器可能有多个,所以即使已经找到某个过滤器需要该数据包,还是会一致查询完所有过滤看是否还有其他过滤器需要该数据,所以这种方式效率比较低。图示中PID为0的TS包到来,比较数组下标为0的过滤器不需要,在比较下标为1和下标为2的过滤器匹配成功,之后继续比较完其他过滤器。
为例解决上述问题,本例中提供一种TS流解复用方法,具体包括以下步骤:
首先,系统根据应用的过滤请求信息,生成数据包过滤器,过滤器包括要过滤数据的PID,过滤的缓冲去,以及缓冲区大小等过滤条件相关的信息,每个过滤器的结构都相同。
其次,系统为所有过滤器建立一个索引表入口。该索引表元素分别一一对应通常TS流的PID值范围中PID数据包。通常TS流的PID值范围是0到8191,所以本例建立一个8192个元素的数组,数组下标为M的元素就是PID为M的过滤入口,每个入口都可以指向一个结点,这个步骤在解复用模块初始化时就建立好,初始时每个入口都没有指向有效结点。其中,结点中的信息包括下一个结点的地址,便于组成链表,结点中包括过滤器地址,便于通过结点找到过滤器。也就是说当应用在通过模块接口请求过滤数据包时,根据请求信息等条件创建过滤器,这个过滤可以在一个请求中指定多个PID。过滤器创建好后,需要创建结点连接PID索引表和过滤器,结点可以组成链表,创建结点的目的在于,一个索引表入口中可以放入一个结点组成的链表,来达到多个相同PID的过滤器共用一个入口的目的。其中,结点链表可以由多个不同节点组成,也可以由多个相同节点组成。其中,可以多个不同PID的结点指向一个过滤器,来满足一个过滤请求中可以同时过滤多个PID数据的目的。这样,不同PID的数据可以根据不同的入口结点找到相同的过滤器。尤其在不同软件模块同时过滤相同PID包数据的,而不用担心冲突,保证效率高、速度快。
如图3所示,该图是本发明方式的过滤图示,图中索引表数组长8192,用PID值做下标。接收到TS包时,根据TS包PID找到索引表入口,从入口中找到结点,从结点中找到过滤器并根据过滤器中的条件进行过滤。
系统接收到TS包后,数据过滤是通过索引入口找到结点再找到过滤器,接收到任意一个TS包,根据TS包的PID作为下标找到索引表入口,从入口中找到一个结点或者结点组成的链表,再从结点中找到过滤器,并在过滤器中根据条件匹配。如果入口中是一个链表,需要把TS数据传递到对链表中每个结点对应地址指向的过滤器。每个结点对应一个过滤器,每个过滤器可能对应多个结点,如果一个过滤器请求多个PID就会对应多个结点,这些结点指向同一个过滤,每个结点都对应请求中的一个PID值,并根据PID值放在对应的索引表入口中,见附图3中所示的过滤器3同时对应了结点3和结点4。
同时,每个索引表入口里面可能没有结点,表示没有过滤器需要该PID的TS包,有可能有一个结点,表示有一个过滤器需要该TS包,也可能有多个结点,表示有多个过滤器需要该TS包。具体,见附图3中PID值为0的索引表入口中指向2个过滤器结点,两个过滤器结点分别指向过滤器1和过滤器2。这表示过滤器1和过滤器2都需要PID为0的数据。
其中,结点是在创建过滤器时创建,请求中需要过滤几个PID的TS包,就创建几个结点。如果一个过滤器要过滤N个PID值不同的数据包,则按需要先后顺序,创建N个结点。这N个结点,指向相同的过滤器地址,但放在不同PID的索引表入口中。具体,见附图3中所示的PID值为2和PID值为8190的入口分别指向结点3和4,这两个结点都指向过滤器3。这表示过滤3同时需要过滤PID值为2和PID值为8190的数据。
最后,当系统接收到TS包时,从TS包头部提取出PID值,用该值做下标在对应找到索引表中找到该PID值的结点链表,循环链表中各个结点,从每个结点的过滤器地址找到过滤器,用过滤器的过滤条件匹配TS包,如果满足过滤条件,处理数据并放置到过滤器的缓冲区中。也可以根据需求,不把数据存储到缓冲区,而是实时回调并把数据传给调用者。由于相同PID值同时多处请求的情况一般不多,所以索引表入口中的链表一般很短,其实通常只有一个结点,所以处理很快。当上层请求通过过滤器读取数据时,从过滤器的缓冲区中读走数据就行。
最后,当删除过滤器的接口被调用时,从过滤器中找到有关联哪几个PID,从PID对应的索引入口链表中删除相应结点,再删除过滤器。
综上所述,本发明通过在一个索引表入口放入一个结点链表,达到多个相同PID的过滤器共用一个入口的目的;同时可以多个不同PID的结点指向一个过滤器,来满足一个过滤请求中可以同时过滤多个PID数据的目的;这样,不同PID的数据可以根据不同的入口结点找到相同的过滤器,从而达到自由过滤各种不同PID包和相同PID包中不同的数据;尤其在不同软件模块同时过滤相同PID包数据的,而不用担心冲突。并且效率高、速度快。
Claims (7)
1.TS流解复用方法,其特征在于,包括以下步骤:
步骤1、系统接收过滤请求信息,根据过滤请求信息生成过滤器;
步骤2、系统建立过滤器的索引表入口,索引表入口中的每个入口都分别对应一个结点;
步骤3、系统创建每个结点与过滤器地址的映射关系;
步骤4、系统根据过滤请求信息及映射关系调用过滤器完成信息过滤。
2.根据权利要求1所述的TS流解复用方法,其特征在于,所述步骤1中,过滤器至少包括要过滤数据的PID、过滤缓冲区及过滤缓冲区的大小。
3.根据权利要求1所述的TS流解复用方法,其特征在于,所述步骤2中,索引表中包括8192个过滤入口,每个过滤入口对应一个PID值。
4.根据权利要求1所述的TS流解复用方法,其特征在于,所述步骤2中,索引表入口中的每个入口都分别对应一个结点可以通过一个索引表入口对应一个结点链表的形式完成。
5.根据权利要求4所述的TS流解复用方法,其特征在于,所述结点链表由多个不同节点组成。
6.根据权利要求4所述的TS流解复用方法,其特征在于,所述结点链表由多个相同节点组成。
7.根据权利要求1所述的TS流解复用方法,其特征在于,所述步骤3中,不同结点可以对应同一个过滤器地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510802567.5A CN105472445B (zh) | 2015-11-19 | 2015-11-19 | Ts流解复用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510802567.5A CN105472445B (zh) | 2015-11-19 | 2015-11-19 | Ts流解复用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105472445A true CN105472445A (zh) | 2016-04-06 |
CN105472445B CN105472445B (zh) | 2018-09-11 |
Family
ID=55609657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510802567.5A Active CN105472445B (zh) | 2015-11-19 | 2015-11-19 | Ts流解复用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105472445B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343494A (zh) * | 2018-12-19 | 2020-06-26 | 深圳市茁壮网络股份有限公司 | 数据过滤方法、解复用器及数字信号的处理设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1190917C (zh) * | 2000-07-14 | 2005-02-23 | 三星电子株式会社 | 传送流的多路分路装置 |
WO2008082720A2 (en) * | 2006-12-27 | 2008-07-10 | Newport Media, Inc. | Unified interfacing for dvb-t/h mobile tv applications |
CN101656842A (zh) * | 2008-08-22 | 2010-02-24 | 深圳Tcl新技术有限公司 | 数字电视单个频点快速搜台的方法 |
CN101873319A (zh) * | 2010-06-09 | 2010-10-27 | 航天恒星科技有限公司 | 支持多pid的传输码流到ip包的实时转换装置及方法 |
CN102523411A (zh) * | 2011-12-31 | 2012-06-27 | 青岛海信宽带多媒体技术有限公司 | 一种码流录制方法 |
CN103002339A (zh) * | 2012-12-06 | 2013-03-27 | 青岛海信宽带多媒体技术有限公司 | 获取解复用数据的方法和装置 |
CN103841457A (zh) * | 2013-12-18 | 2014-06-04 | 珠海迈科电子科技有限公司 | 机顶盒同时录制多个节目的方法 |
-
2015
- 2015-11-19 CN CN201510802567.5A patent/CN105472445B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1190917C (zh) * | 2000-07-14 | 2005-02-23 | 三星电子株式会社 | 传送流的多路分路装置 |
WO2008082720A2 (en) * | 2006-12-27 | 2008-07-10 | Newport Media, Inc. | Unified interfacing for dvb-t/h mobile tv applications |
CN101656842A (zh) * | 2008-08-22 | 2010-02-24 | 深圳Tcl新技术有限公司 | 数字电视单个频点快速搜台的方法 |
CN101873319A (zh) * | 2010-06-09 | 2010-10-27 | 航天恒星科技有限公司 | 支持多pid的传输码流到ip包的实时转换装置及方法 |
CN102523411A (zh) * | 2011-12-31 | 2012-06-27 | 青岛海信宽带多媒体技术有限公司 | 一种码流录制方法 |
CN103002339A (zh) * | 2012-12-06 | 2013-03-27 | 青岛海信宽带多媒体技术有限公司 | 获取解复用数据的方法和装置 |
CN103841457A (zh) * | 2013-12-18 | 2014-06-04 | 珠海迈科电子科技有限公司 | 机顶盒同时录制多个节目的方法 |
Non-Patent Citations (1)
Title |
---|
百度文库 CAIFEIWUDI: "PTI", 《HTTPS://WENKU.BAIDU.COM/VIEW/E6A52707DE80D4D8D15A4FFF?PU=》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343494A (zh) * | 2018-12-19 | 2020-06-26 | 深圳市茁壮网络股份有限公司 | 数据过滤方法、解复用器及数字信号的处理设备 |
CN111343494B (zh) * | 2018-12-19 | 2023-08-15 | 深圳市茁壮网络股份有限公司 | 数据过滤方法、解复用器及数字信号的处理设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105472445B (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2237488A1 (en) | Access network architecture having dissimilar access sub-networks | |
JP2006174448A (ja) | 受動光ネットワークポート識別子の導出 | |
CN103533311B (zh) | 一种高清网络摄像机装置 | |
CN108965226B (zh) | 一种基于视联网的数据获取方法及装置 | |
CN109522032B (zh) | 固件升级方法和装置 | |
CN107959658B (zh) | 一种网络会议数据同步方法及其系统 | |
KR100526548B1 (ko) | Mpeg2 spts 분리형 가입자 분배 장치 및 방법 | |
US8081634B2 (en) | Method and apparatus for processing downstream packets of cable modem in hybrid fiber coaxial networks | |
US8788647B1 (en) | Load balancing for network devices | |
US20080130641A1 (en) | METHOD FOR CLASSIFYING DOWNSTREAM PACKET IN CABLE MODEM TERMINATION SYSTEM AT HEAD-END SUPPORTING CHANNEL BONDING MODE, AND cable modem termination system | |
CN105472445A (zh) | Ts流解复用方法 | |
CN101568047A (zh) | 以太网无源光网络对多业务的支持方法、装置和系统 | |
US20160301573A1 (en) | Function Virtualization For Multimedia Network Topology Adaptation | |
CN109963107B (zh) | 一种音视频数据的显示方法和系统 | |
US11683544B1 (en) | Dynamic transport stream monitoring device | |
CN104254000A (zh) | 一种视频数据处理方法及装置 | |
CN110072154A (zh) | 一种基于视联网的建群方法和中转服务器 | |
CN110022500A (zh) | 一种丢包处理方法和装置 | |
CN105656804B (zh) | 一种报文处理方法及装置 | |
CN108235108A (zh) | 一种pvr录制方法、系统及电视机 | |
CN108966040B (zh) | 一种视联网业务的处理方法和视联网终端 | |
CN103002339B (zh) | 获取解复用数据的方法和装置 | |
CN110633592B (zh) | 一种图像处理方法和装置 | |
CN106412659B (zh) | 电视机控制方法、装置及电视机 | |
US7971215B1 (en) | System, method and computer readable medium for managing media streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20160406 Assignee: Sichuan Changhong Xinwang Technology Co.,Ltd. Assignor: SICHUAN CHANGHONG ELECTRIC Co.,Ltd. Contract record no.: X2023980043949 Denomination of invention: TS stream demultiplexing method Granted publication date: 20180911 License type: Common License Record date: 20231030 |
|
EE01 | Entry into force of recordation of patent licensing contract |