CN101834978A - 一种数字机顶盒epg***的优化方法 - Google Patents

一种数字机顶盒epg***的优化方法 Download PDF

Info

Publication number
CN101834978A
CN101834978A CN200910113022A CN200910113022A CN101834978A CN 101834978 A CN101834978 A CN 101834978A CN 200910113022 A CN200910113022 A CN 200910113022A CN 200910113022 A CN200910113022 A CN 200910113022A CN 101834978 A CN101834978 A CN 101834978A
Authority
CN
China
Prior art keywords
data
annular
buffer zone
data buffer
pointer
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
CN200910113022A
Other languages
English (en)
Other versions
CN101834978B (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.)
Fujian Newland Communication Science Technology Co Ltd
Original Assignee
Fujian Newland Communication Science 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 Fujian Newland Communication Science Technology Co Ltd filed Critical Fujian Newland Communication Science Technology Co Ltd
Priority to CN2009101130228A priority Critical patent/CN101834978B/zh
Publication of CN101834978A publication Critical patent/CN101834978A/zh
Application granted granted Critical
Publication of CN101834978B publication Critical patent/CN101834978B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种数字机顶盒EPG***的优化方法,在滤波进程中从DVB标准业务信息码流中滤取EPG***数据信息,第一时间将数据转移到优化后的环形数据缓冲区中,数据分析进程可以在任何时间从优化后的环形数据缓冲区中取得数据进行分析;本发明通过环形数据缓冲区的两个指针互相牵制、环形移动,且优化后的环形数据缓冲区能有效对数据进行缓存,这就协调了两个进程在运行速度上的不一致,加快了数据处理的速度,大大加快了EPG***数据的捕获和分析的速度,且基于环形数据缓存区,两个进程间可以进行异步的数据处理及缓冲,同时,数据缓冲从现有技术的固定长度的组数结构变成环形数据缓存区,有效减少了内存的浪费,节省嵌入式***宝贵的内存资源。

Description

一种数字机顶盒EPG***的优化方法
技术领域
本发明涉及数字机顶盒领域,尤其涉及一种数字机顶盒EPG***的优化方法。
背景技术
随着数字电视、网络技术的发展,模拟电视信号逐步关闭,数字电视信号逐步普及。人们对数字电视及数字电视增值业务的需要日渐增强。随着数字电视节目数量的不断增加,人们在使用机顶盒收看数字电视时,迫切需要一种可以方便、快速浏览电视节目预告的方法。在这个背景下产生了EPG(电子节目指南)***。现有的EPG***采用单进程工作的机制,即CPU(中央处理器)在间隔的时间段内,分别处理从DVB标准业务信息码流中收取原始数据包,即电子节目指南数据的捕获进程;或者进行原始数据包的拆分和解析,即电子节目指南数据的分析进程;这样必然导致电子节目指南数据的接收和分析后显示的速度变慢。
同时,现有的EPG***采用固定长度的数组对数据进行缓存,由于EPG不同节目,不同时刻的数据量不一致,这样会导致内存空间的浪费,如图1所示,在图中Section的长度固定为4096个字节,而EPG数据库为不定长度,长度经常小于4096字节,因此会造成内存浪费。
发明内容
为了解决上述问题,本发明提供一种可以加快EPG数据的抓取与分析,减小内存空间浪费的数字机顶盒EPG***的优化方法,使机顶盒收到的数据以最快的速度转化为电子节目单,呈现在电视屏幕上供数字电视用户查阅。
本发明一种数字机顶盒EPG***的优化方法,具体包括以下步骤:
步骤1、由内存申请一段连续的空间作为数据缓冲区,同时申请三个变量用于表示目前数据缓冲区的状态,其中,读指针用于表示目前数据读到的位置,写指针用于表示目前数据写到的位置,bW_after_R用于指示读写指针的先后关系,两个指针互相牵制,环形移动,形成一个环形数据缓冲区;通过控制读、写指针使得环形数据缓冲区内的数据必须先写数据,然后才能读取,并且在数据没有读完时,写指针不能让新的数据覆盖未读走的数据;
步骤2、采用双进程进行数据处理,一个进程专门进行数据捕获,一个进程专门进行数据分析,两个进程间通过步骤1中的环形数据缓冲区进行数据缓冲,同时进行异步处理;
从DVB标准业务信息码流中滤取出EPG***数据信息后,第一时间将该数据转移到优化后的环形数据缓冲区中,数据分析进程可以在任何时间从优化后的环形数据缓冲区中取得数据进行分析。
所述的数据捕获进程指的是,在捕获到一个数据段时,先判断写指针和读指针的关系,如果写指针还没有赶上读指针,就将该数据段的长度写到该环形数据缓冲区的写指针位置,紧接着将该数据段的数据写入到该环形数据缓冲区中,并将写指针移动到数据的结尾。
所述的数据分析进程指的是,每隔一段时间对环形数据缓冲区内的写指针和读指针进行分析,如果读指针还没有赶上写指针,则从环形数据缓冲区的读指针位置读取数据段的长度,紧接着读取数据段,然后调用分析函数对数据段进行解析。
本发明通过对数据结构和算法的改进,一改现有的单进程工作机制,采用双进程协助异步处理的技术,大大提高了数据的缓存和分析速度,能在切台的第一时间显示该节目的电子节目指南信息,为用户的数字电视收视带来全新的良好体验。该发明同时改进了数据的存储结构,采用环形缓冲,大大节省了EPG数据缓存的开销,为嵌入式***的其它应用节省了宝贵的内存资源。
附图说明
图1为现有的EPG***数据缓冲区的数组结构示意图;
图2为本发明的数据捕获和分析进程的工作流程图;
图3为本发明写指针快于读指针时的数据缓冲区的示意图;
图4为本发明读指针快于写指针时的数据缓冲区的示意图。
以下结合附图和具体实施例对本发明作进一步的详述。
具体实施方式
本发明公开的一种数字机顶盒EPG***的优化方法具体包括以下步骤
步骤1、设置数据缓冲区
由内存申请一段连续的空间作为数据缓冲区,同时申请三个变量用于表示目前数据缓冲区的状态,其中,读指针(ReadPointer)用于表示目前数据读到的位置,写指针(WritePointer)用于表示目前数据写到的位置,控制变量(bW_after_R)用于指示读写指针的先后关系,两个指针互相牵制,环形移动,形成一个环形数据缓冲区;通过控制读、写指针使得环形数据缓冲区内的数据必须先写数据,然后才能读取,并且在数据没有读完时,写指针不能让新的数据覆盖未读走的数据。
如图4所示,当bW_after_R的值为TRUE时,说明写指针在读指针之后,当写指针遇到读指针时,不能进行写操作,必须等读指针往前走,把数据读走之后,才能写入数据,不然会覆盖掉没有读走的数据,造成数据丢失。当读指针到达缓冲区末端,读完所有数据时,将读指移动到缓冲区首部,并且将bW_after_R的值置为FALSE。
如图3所示,当bW_after_R的值为False时,说明写指针在读指针之前。当读指针遇到写指针时,不能进行读操作,必须等写指针往前走,写入新数据之后,才能读出数据。当写指针到达缓冲区末端,没有内存可以写数据的时候,将写指移动到缓冲区首部,并且将bW_after_R的值置为TRUE。
本发明的数据缓冲区采用异步的FIFO结构,先申请一段连续的空间,用于数据段(Section)共享使用。如图3、4所示,其中LenN用于表示第N段数据段的实际长度大小,Section N表示第N段数据段的具体存储空间。每个数据段只会占用本身大小的空间。
步骤2、采用双进程进行数据处理,一个进程专门进行数据捕获,一个进程专门进行数据分析,两个进程间通过一个环形数据缓冲区进行数据缓冲,同时进行异步处理;从DVB标准业务信息码流中滤取出EPG***数据信息后,第一时间将该数据转移到优化后的环形数据缓冲区中,数据分析进程可以在任何时间从优化后的环形数据缓冲区中取得数据进行分析。
所述的数据捕获进程指的是:在捕获到一个数据段(section)时,先判断写指针和读指针的关系,如果写指针还没有赶上读指针,说明还有空闲的空间可以存储数据,就将该数据段(section)的长度写到缓冲区的写指针位置,紧接着将该数据段(section)的数据写入到缓冲区,并将写指针移动到数据的结尾;
所述的数据分析进程指的是:每隔一段时间对缓冲区内的写指针和读指针进行分析,如果读指针还没有赶上写指针,说明还有未读取的数据,则从数据缓冲区的读指针位置读取数据段(section)的长度(len),然后紧接着读len这么长的数据,即数据段(section),然后调用分析函数对数据段(section)进行解析。
如图2所示,本发明在滤波进程中从DVB标准业务信息码流中滤取EPG***数据信息,第一时间将数据转移到优化后的环形数据缓冲区中,数据分析进程可以在任何时间从优化后的环形数据缓冲区中取得数据进行分析。虽然两个进程间的处理速度可能不一致,但通过环形数据缓冲区的两个指针互相牵制、环形移动,且优化后的环形数据缓冲区能有效对数据进行缓存,这就协调了两个进程在运行速度上的不一致,加快了数据处理的速度,大大加快了EPG***数据的捕获和分析的速度。
采用本发明的技术方案后,从现有技术的单进程工作机制变成双进程协作方式,双进程间采用了环形数据缓存区进行数据通信,基于环形数据缓存区,两个进程间可以进行异步的数据处理及缓冲。同时,数据缓冲从现有技术的固定长度的组数结构变成环形缓存区,有效减少了内存的浪费,节省嵌入式***保贵的内存资源。

Claims (3)

1.一种数字机顶盒EPG***的优化方法,其特征在于具体包括以下步骤:
步骤1、由内存申请一段连续的空间作为数据缓冲区,同时申请三个变量用于表示目前数据缓冲区的状态,其中,读指针用于表示目前数据读到的位置,写指针用于表示目前数据写到的位置,bW_after_R用于指示读写指针的先后关系,两个指针互相牵制,环形移动,形成一个环形数据缓冲区;通过控制读、写指针使得环形数据缓冲区内的数据必须先写数据,然后才能读取,并且在数据没有读完时,写指针不能让新的数据覆盖未读走的数据;
步骤2、采用双进程进行数据处理,一个进程专门进行数据捕获,一个进程专门进行数据分析,两个进程间通过步骤1中的环形数据缓冲区进行数据缓冲,同时进行异步处理;
从DVB标准业务信息码流中滤取出EPG***数据信息后,第一时间将该数据转移到优化后的环形数据缓冲区中,数据分析进程可以在任何时间从优化后的环形数据缓冲区中取得数据进行分析。
2.根据权利要求1所述的一种数字机顶盒EPG***的优化方法,其特征在于:所述的数据捕获进程指的是,在捕获到一个数据段时,先判断写指针和读指针的关系,如果写指针还没有赶上读指针,就将该数据段的长度写到该环形数据缓冲区的写指针位置紧接着将该数据段的数据写入到该环形数据缓冲区中,并将写指针移动到数据的结尾。
3.根据权利要求1所述的一种数字机顶盒EPG***的优化方法,其特征在于:所述的数据分析进程指的是,每隔一段时间对环形数据缓冲区内的写指针和读指针进行分析,如果读指针还没有赶上写指针,则从环形数据缓冲区的读指针位置读取数据段的长度,紧接着读取数据段,然后调用分析函数对数据段进行解析。
CN2009101130228A 2009-12-23 2009-12-23 一种数字机顶盒epg***的优化方法 Expired - Fee Related CN101834978B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101130228A CN101834978B (zh) 2009-12-23 2009-12-23 一种数字机顶盒epg***的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101130228A CN101834978B (zh) 2009-12-23 2009-12-23 一种数字机顶盒epg***的优化方法

Publications (2)

Publication Number Publication Date
CN101834978A true CN101834978A (zh) 2010-09-15
CN101834978B CN101834978B (zh) 2011-09-28

Family

ID=42718898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101130228A Expired - Fee Related CN101834978B (zh) 2009-12-23 2009-12-23 一种数字机顶盒epg***的优化方法

Country Status (1)

Country Link
CN (1) CN101834978B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131116A (zh) * 2011-01-25 2011-07-20 四川长虹电器股份有限公司 一种数字电视epg数据接收和解析方法
CN102130946A (zh) * 2011-01-19 2011-07-20 四川长虹电器股份有限公司 避免缓存跳帧的方法
CN102708207A (zh) * 2012-05-23 2012-10-03 深圳市龙视传媒有限公司 一种接收处理数据的方法、装置及视频服务器
CN103746940A (zh) * 2013-12-30 2014-04-23 华为技术有限公司 一种网络设备以及解包输出报文的方法
CN104375952A (zh) * 2013-08-14 2015-02-25 南宁市跃龙科技有限公司 一种从环形缓冲区读取数据的方法
CN106559704A (zh) * 2015-09-28 2017-04-05 青岛海信电器股份有限公司 一种音频数据的处理方法、装置和***
WO2019019295A1 (zh) * 2017-07-26 2019-01-31 广州路派电子科技有限公司 用于嵌入式***基于同步机制下的环形数据缓冲实现方法
CN111506512A (zh) * 2020-04-24 2020-08-07 上海燧原智能科技有限公司 调试信息的处理方法、装置、电子设备、存储介质及***
CN111866581A (zh) * 2020-07-23 2020-10-30 杭州国芯科技股份有限公司 一种数字电视节目快速切换方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130946A (zh) * 2011-01-19 2011-07-20 四川长虹电器股份有限公司 避免缓存跳帧的方法
CN102131116A (zh) * 2011-01-25 2011-07-20 四川长虹电器股份有限公司 一种数字电视epg数据接收和解析方法
CN102131116B (zh) * 2011-01-25 2013-04-03 四川长虹电器股份有限公司 一种数字电视epg数据接收和解析方法
CN102708207A (zh) * 2012-05-23 2012-10-03 深圳市龙视传媒有限公司 一种接收处理数据的方法、装置及视频服务器
CN102708207B (zh) * 2012-05-23 2015-06-03 深圳市同洲电子股份有限公司 一种接收处理数据的方法、装置及视频服务器
CN104375952A (zh) * 2013-08-14 2015-02-25 南宁市跃龙科技有限公司 一种从环形缓冲区读取数据的方法
CN103746940A (zh) * 2013-12-30 2014-04-23 华为技术有限公司 一种网络设备以及解包输出报文的方法
CN103746940B (zh) * 2013-12-30 2018-03-06 华为技术有限公司 一种网络设备以及解包输出报文的方法
WO2017054379A1 (zh) * 2015-09-28 2017-04-06 青岛海信电器股份有限公司 一种音频数据的处理方法、装置和***
CN106559704A (zh) * 2015-09-28 2017-04-05 青岛海信电器股份有限公司 一种音频数据的处理方法、装置和***
US10171868B2 (en) 2015-09-28 2019-01-01 Qingdao Hisense Electronics Co., Ltd. Method for processing audio data, terminal and television
CN106559704B (zh) * 2015-09-28 2019-07-12 青岛海信电器股份有限公司 一种音频数据的处理方法、装置和***
WO2019019295A1 (zh) * 2017-07-26 2019-01-31 广州路派电子科技有限公司 用于嵌入式***基于同步机制下的环形数据缓冲实现方法
CN111506512A (zh) * 2020-04-24 2020-08-07 上海燧原智能科技有限公司 调试信息的处理方法、装置、电子设备、存储介质及***
CN111506512B (zh) * 2020-04-24 2021-04-23 上海燧原智能科技有限公司 调试信息的处理方法、装置、电子设备、存储介质及***
CN111866581A (zh) * 2020-07-23 2020-10-30 杭州国芯科技股份有限公司 一种数字电视节目快速切换方法

Also Published As

Publication number Publication date
CN101834978B (zh) 2011-09-28

Similar Documents

Publication Publication Date Title
CN101834978B (zh) 一种数字机顶盒epg***的优化方法
CN108537139B (zh) 一种基于弹幕信息的在线视频精彩片段分析方法
US20160189752A1 (en) Constrained system real-time capture and editing of video
CN103024437B (zh) 视频数据完整性检测方法
EP3089470A1 (en) Video editing device
US11336972B1 (en) Automated video preview generation
CN1361628A (zh) 用于显示电子节目导引指导条的装置和方法
CN103281500A (zh) 处理视频的方法及装置
CN102054510A (zh) 一种视频预处理与播放的方法及***
CN105955876B (zh) 一种数据监控处理方法以及装置
CN103747259A (zh) 视频处理方法及装置
CN103034581B (zh) 一种嵌入式***跟踪调试方法及装置
CN103596016B (zh) 一种多媒体视频数据处理方法和装置
CN106911939A (zh) 一种视频转码方法、装置及***
CN106792047B (zh) 一种智能电视的语音控制方法及***
US9465866B2 (en) Task context recovery
CN112818201A (zh) 一种网络数据采集方法、装置、计算机设备及存储介质
US7958083B2 (en) Interacting methods of data summarization
CN102035931A (zh) 具有快速编辑信息功能的手机及方法
CN101984402A (zh) 一种图像采集和压缩方法及相关装置
CN115396729B (zh) 视频目标帧确定方法、装置、设备及存储介质
CN113728655A (zh) 用于监控在操作***内执行的至少一个应用的使用情况的方法、相应装置、计算机程序产品和计算机可读载体介质
CN105187688A (zh) 一种对手机采集的实时视频和音频进行同步的方法及***
CN102387177B (zh) 影音文件的下载方法及装置
CN101742302B (zh) 多模mpeg***层解复用方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110928

Termination date: 20151223

EXPY Termination of patent right or utility model