CN102695085B - 数字节目自动排序方法 - Google Patents
数字节目自动排序方法 Download PDFInfo
- Publication number
- CN102695085B CN102695085B CN201110075813.3A CN201110075813A CN102695085B CN 102695085 B CN102695085 B CN 102695085B CN 201110075813 A CN201110075813 A CN 201110075813A CN 102695085 B CN102695085 B CN 102695085B
- Authority
- CN
- China
- Prior art keywords
- data
- descriptor
- lcn
- service
- private
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 239000000203 mixture Substances 0.000 claims description 4
- 239000000463 material Substances 0.000 abstract description 3
- 230000009191 jumping Effects 0.000 description 7
- 238000005034 decoration Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数字节目自动排序方法,包括以下步骤:1.请求各频点的NIT表、BAT表和SDT表;2.提取各表中的所有私有描述子;3.解析私有描述子中的LCN;4.将Service id和解析出的LCN通过Service id与节目信息关联起来;5.按照LCN的大小对节目进行排序。本发明可以动态识别不同有线网络运营商定义的LCN,无论运营商选择在哪个表中发放LCN,或者通过何种形式进行发放,都可以统一读取,然后进行排序处理,具有很强的适应性和通用性。采用该节目排序方法设计的数字电视一体机,无论销往何地都能按照当地有线网络运行商定义的排序规则对所有节目进行正确排序,节约了人力物力。
Description
技术领域
本发明属于数字电视技术领域,具体地说,是涉及一种对数字节目的自动排序方法。
背景技术
数字电视正在全国各地迅速推广并将最终取代模拟电视。目前,全国各地的网络运营商在播放数字节目时,往往使用不同方案的EPG(电子节目指南)系统对节目信息进行定义处理,然后经过复用后,通过电视信号中的PSI/SI(Program Specific Information/Specific Information,节目定义信息/定义信息)信息播出。在PSI/SI信息中定义有每套数字节目的唯一服务编号Service id。若当地有线网络运营商需要对各套数字节目的排列顺序进行特别定义,则还需要在PSI/SI信息中写入每套数字节目所对应的逻辑频道号LCN(Logic Channel Number),从而为接收终端提供一种有序的节目排列方式。但是,这种针对LCN的节目排序方式目前仅适合机顶盒产业一批订单就针对一个运营商的研、产、销模式,对于数字电视一体机而言,由于产品需要面向全国市场,因此在产品销往不同城市、地区时,并不能事先预知所有地区的有线网络运营商的节目排序规则,而且有的运营商习惯将LCN定义在网络信息表NIT(Network Information Table)中,有的定义在业务群关联表BAT(BandwidthAllocation Threshold)中,还有的定义在服务描述表SDT(ServiceDescription Table)中。有的在一个频点发放所有节目的LCN,有的只在本频点发送本频点节目的LCN,而且各地描述子的数据结构也不一样,由此导致现有的数字电视一体机不能按照当地有线网络运营商的要求对所有节目进行自动排序,往往都是根据各地情况定向开发,不仅增加了很多人力物力,而且系统程序难以维护。
发明内容
本发明的目的在于提供一种数字节目的自动排序方法,以实现按照当地有线网络运营商的要求对数字节目进行自动排序。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种数字节目自动排序方法,包括以下步骤:
(1)请求各频点的NIT表、BAT表和SDT表;
(2)提取各表中的所有私有描述子;
(3)提取描述子标签值相同的私有描述子,若该标签值的所有私有描述子存在与之一一对应的Service id,则解析该标签值的所有私有描述子中的描述子数据是否具有连续性,若有,则认为是LCN;
若该标签值的所有私有描述子不存在与之一一对应的Service id,则将该标签值的所有私有描述子中的描述子数据与所有节目的Service id进行对比,若找到全部对应的Service id,则依次从各Service id以外的描述子数据中提取数据进行解析,若存在具有连续性的数据,则认为是LCN;
若没有找到LCN,则依次提取下一组描述子标签值相同的私有描述子进行解析;
(4)将Service id和解析出的LCN通过Service id与节目信息关联起来;
(5)按照LCN的大小对节目进行排序。
进一步的,在所述步骤(3)中,首先判断相同标签值的所有私有描述子是否是SDT表中的私有描述子;若是,则在SDT表中每个节目的业务描述符中查找与所述私有描述子一一对应的Service id。
又进一步的,在所述步骤(3)中,将相同频点的所有私有描述子中,描述子标签值相同的私有描述子连同当前频点值保存起来;并且,若某一相同标签值的所有私有描述子存在与之一一对应的Service id,则将Service id同与之对应的私有描述子关联保存,形成与Service id个数对应的多个数据块;否则,将该标签值的所有私有描述子中的描述子长度累加,描述子数据合并作为一个描述子保存,形成一个数据块。
由此形成的数据块,若存在下述三种情况,则认为在私有描述子中有可能存在有线网络运营商定义的LCN:
第一种情况,在所形成的所述数据块中,若描述子标签值相同的数据块个数等于节目个数,则分析该标签值的每个数据块中的描述子数据,寻找具有连续性的数据,作为LCN。
进一步的,所述寻找具有连续性的数据的过程为:分析每个描述子数据,每相邻的两个字节循环组合成一个数字,对比所形成的所有数字是否具有连续性,如果连续,则认为是LCN。
第二种情况,在所形成的所述数据块中,若描述子标签值相同的数据块只有一个,且数据块中私有描述子的描述子长度值Descriptor_length是节目个数N的整数倍,则分析该数据块中的描述子数据,查找与全部Service id一一对应的数据,如果找到所有的Service id,则提取每个Service id之后的数据并分析其中是否具有连续性的数据,若有,则认为是LCN,否则,认为不存在LCN;若在该数据块中的描述子数据中没有查找到与全部Service id一一对应的数据,则认为不存在LCN。
进一步的,所述分析该数据块中的描述子数据的过程为:从描述子数据的第一个字节开始,将每相邻的两个字节循环组合成一个数字,然后与所有节目的Service id进行对比,若存在相同的数字,则认为是Service id,然后依次后移(Descriptor_length/N)个字节,并依次提取两个字节组合成数字,与所有节目的Service id进行对比,以找到所有的Service id;在查找到的每一个Service id之后依次提取两个字节组成数字,并验证数字的连续性,若连续则认为是LCN,否则,在查找到的每一个Service id之后顺序后移一个字节后,再依次提取两个字节组成数字,并验证数字的连续性,若连续则认为是LCN,以此循环直到数据验证完毕。
第三种情况,若所形成的所述数据块的个数大于1,且描述子标签值相同的数据块个数与频点个数相同,或者虽然描述子标签值相同的数据块个数与频点个数不同,但是该标签值的所有数据块中的描述子长度值之和是节目个数的整数倍,则分析该标签值的所有数据块中的描述子数据,查找与全部Service id一一对应的数据,如果找到所有的Service id,则在剩余的数据中分析是否具有连续性的数据,若有,则认为是LCN,否则,不存在LCN;如果找不到所有的Service id,则认为不存在LCN。
优选的,在所述步骤(5)中,针对所述LCN利用插入排序、冒泡排序、选择排序、快速排序、推排序或者归并排序等算法对节目进行排序。
再进一步的,若找不到所述的LCN,则系统按照Service id的大小对所有节目进行排序。
与现有技术相比,本发明的优点和积极效果是:本发明的数字节目自动排序方法可以动态识别不同有线网络运营商定义的逻辑频道号LCN,无论运营商选择在哪个表中发放LCN,或者通过何种形式进行发放,都可以统一读取,然后进行排序处理,具有很强的适应性和通用性。采用该节目排序方法设计的数字电视一体机,无论销往何地,都能按照当地有线网络运行商定义的排序规则对所有节目进行正确排序,从而节约了人力物力,方便了电视机程序的维护管理工作。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1是本发明所提出的数字节目自动排序方法中建立数据链表的一种实施例的程序流程图;
图2是数据链表的结构图;
图3是从数据链表中寻找LCN并对数字节目进行排序的程序流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细地描述。
首先,对本发明所提出的数字节目自动排序方法的基本设计思路进行简要介绍。目前的数字电视信号都遵循DVBC规范和PSI/SI规范,在DVBC规范和PSI/SI规范中没有定义节目排序的描述符,有线网络运营商若要自己定义节目排列顺序,则必须通过PSI/SI信息中的私有描述子进行定义。在PSI/SI规范中,只有描述子标签值descriptor_tag在0x80至0xFE的描述子为用户自定义描述子,即私有描述子;且运营商自定义的逻辑频道号LCN只能在NIT、SDT或者BAT表中定义,并赋予相同的描述子标签值descriptor_tag值,随PSI/SI信息发放。本发明即是通过分析EPG系统中定义的描述子标签descriptor_tag的值,来查找运营商定义的私有描述子;然后通过分析私有描述子中的数据,来提取保存在其中的LCN,进而根据LCN数据和节目信息对节目进行排序,以达到各地方网络运营商的节目排序要求。因为PSI/SI规范对每个业务描述以及每个描述子都有规范定义,而用户自定义的描述子不会与规范中的描述子冲突,因此,可以判断出哪些是用户自定义的私有描述子。
考虑到LCN必须通过每套数字节目的唯一服务编号Service id与节目进行关联,因此LCN必与Service id是成对的;前端运营商通过复用器发送排序描述数据只有两种情况:一种情况是一个Service id对应一个存储有LCN的私有描述子,这种情况通常出现在SDT表中,即运营商将LCN定义在SDT表中时,遵循这种定义模式,此时只需要解析出所有私有描述子中具有连续性的数据,则该连续性数据即为LCN;第二种情况就是Service id与LCN都定义在私有描述子中,比如运营商在NIT或者BAT表中定义LCN时即遵循该定义模式;在这种情况下可以通过分析私有描述子中的数据,与所有节目的Service id进行对比,找到对应的Service id;然后依次从Service id以外的数据中寻找具有连续性的数据,即认为找到了LCN数据。最后将Service id和LCN通过Serviceid与节目信息关联起来,依据LCN的大小对节目进行排序即可。
下面通过一个具体的实施例来详细阐述所述数字节目自动排序方法的具体设计流程。
实施例一,本实施例针对前端运营商发送排序描述数据的两种情况设计不同的LCN提取方法,由于事先不能预知运营商将LCN定义在哪个表里,因此需要首先提取各频点的NIT表、BAT表和SDT表,分别进行分析;针对各表中的所有私有描述子(即描述子标签值在0x80至0xFE的描述子),由于事先不能预知运营商将包含有LCN的私有描述子的描述子标签定义为何值,因此需要按照描述子标签值进行分组。即,将具有相同描述子标签值的所有私有描述子分为一组,所述私有描述子的数据结构定义如下:
提取第一组描述子标签值相同的私有描述子,执行以下的LCN寻找过程:
针对第一种情况,若该标签值的所有私有描述子存在与之一一对应的Service id,则解析该标签值的所有私有描述子中的描述子数据是否具有连续性,若有连续性,则认为该数据即为LCN,退出LCN的寻找过程;否则,认为LCN可能与Service id一同定义在私有描述子中,即第二种情况,或者保存在其它描述子标签值的私有描述子中。
针对第二种情况,若该标签值的所有私有描述子不存在与之一一对应的Service id,则将该标签值的所有私有描述子中的描述子数据与所有节目的Service id进行对比,若找到全部对应的Service id,则依次从各Service id以外的所述描述子数据中提取数据进行解析,若存在具有连续性的数据,则认为该连续性的数据即为LCN,退出LCN的寻找过程;否则,认为该组私有描述子中不包含运营商定义的LCN。
若在当前一组私有描述子中没有找到LCN,则依次提取下一组描述子标签值相同的私有描述子进行解析,即重复执行上述的LCN寻找过程。
若找到了LCN,则将Service id和解析出的LCN通过Service id与节目信息关联起来,然后按照LCN的大小对节目进行自动排序;若最终找不到LCN,则本系统优选按照Service id的大小对所有节目进行排序。
作为数字节目自动排序方法的一种具体实现步骤,本实施例通过建立数据链表的方式来对提取出的私有描述子进行存储,具体实现步骤如下:
S101、当搜索数字节目时,提取频点列表;
S102、调谐到某一频点进行搜台;
S103、创建数据链表;
在本实施例中,所述数据链表为一个二维链表,其链表结构如图2所示,包括链表头Head和数据块Save_Descriptor,所述数据块Save_Descriptor的数据结构如下:
S104、请求该频点的NIT表、BAT表和SDT表;
S105、判断各表中是否存在合法的私有描述子,若存在,则执行后续步骤;否则,跳转至步骤S107;
在本实施例中,分析各表中的所有描述子,由私有描述子的数据结构可知:私有描述子的自身长度为2个字节,如果具有数据,那么长度必然大于等于3个字节;判断每个描述子的描述子标签descriptor_tag的值是否在0x80至0xFE之间,若是,则为私有描述子(即网络运营商自定义的描述子);进一步读取所述私有描述子的描述子长度descriptor_length,如果描述子长度descriptor_length小于3,则为非法的描述子;如果大于2,则认为在描述子数据Descriptor_Data(descriptor_length后的数据段)中存在数据,为合法的私有描述子。
S106、提取该频点上的NIT、BAT和SDT表中的所有合法的私有描述子,形成数据块Save_Descriptor,存入数据链表;
在本实施例中,首先将所有描述子标签Descriptor_tag的值相同(以下简称为Descriptor_tag相同)的私有描述子连同当前频点按照上述数据块Save_Descriptor的数据结构保存,并加入到图2所示的数据链表中,且Descriptor_tag相同的各个数据块Save_Descriptor保存在数据链表的同一行。如果某一相同标签值的所有私有描述子是该频点中SDT表的私有描述子,且每个节目的业务描述符中存在与之一一对应的Service id,则将Service id同与其对应的私有描述子关联保存,形成不同的数据块Save_Descriptor,即每一个私有描述子连同当前频点以及与其对应的Service id形成一个数据块Save_Descriptor,保存到图2所示数据链表的同一行中。如果私有描述子是从当前频点的BAT表或者NIT表中获取的,且存在多个Descriptor_tag相同的私有描述子,则将Descriptor_tag相同的所有私有描述子的描述子长度descriptor_length累加,descriptor_data中的数据合并后作为一个数据descriptor保存成一个描述子,进而连同当前频点保存成一个数据块Save_Descriptor,存入图2所示的数据链表。
S107、判断是否到达最后一个频点,若是,则执行步骤S109;否则,执行后续步骤;
S108、调谐到下一个频点,返回步骤S104;
S109、将创建好的数据链表保存到系统内存中;
S110、数据链表创建结束。
当数据链表中没有数据时,链表的表头Head为空;而当向数据链表中存入数据块Save_Descriptor时,则表头Head不为空,可以将存入的第一个数据块Save_Descriptor中的描述子数据的第一个字节同时存入到表头Head中,以表示该数据链表不为空。
在创建好数据链表后,则可以通过分析该数据链表中的数据来解析其中是否定义有LCN。分析数据是不是LCN的依据是:(1)是否存在具有连续性的数据;(2)数据中是否存在与Service id相同的数据,与节目能够关联。
下面结合图3对LCN的寻找过程进行详细阐述,包括以下步骤:
S301、读取数据链表的表头Head;
S302、判断表头Head是否为空,若为空,则表示数据链表中没有数据块,即不存在LCN,跳转至步骤S319;若不为空,则表示可能存在LCN,执行后续步骤;
S303、读取一组Descriptor_tag相同的数据块Save_Descriptor;
在这里,即读取数据链表中位于同一行的所有数据块Save_Descriptor,本实施例优选从第一行顺序读取;
S304、判断是否只有一个数据块Save_Descriptor,若是,则表示有线网络在一个频点发送了全部节目的描述子,可以通过解析该描述子来查找是否存在运营商定义的LCN,执行后续步骤;否则,跳转至S310;
S305、判断当前数据块Save_Descriptor中描述子长度descriptor_length的值是否是节目个数N的整数倍,如果是,则说明LCN可能存在于该数据块的描述子数据descriptor_data中,执行后续的LCN提取步骤;否则,说明该数据块的描述子数据descriptor_data中不可能存在LCN,跳转至步骤S317;
S306、分析当前数据块Save_Descriptor中描述子数据descriptor_data,查找其中的Service id;
根据PSI/SI规范,Service id和LCN的大小均为两个字节;为了分析描述子数据descriptor_data中是否存在Service id和LCN,本实施例对描述子数据descriptor_data中每相邻的两个字节数据进行循环组合,即提取前一个字节数据HIGH8=data[n],后一个字节数据LOW8=data[n+1],n=0,1,2,...,将提取的两个字节组合成一个数字CuerData=(((HIGH8)<<8)|(LOW8));其中,公式(((HIGH8)<<8)|(LOW8))即表示将前一个字节左移8位,作为数字CuerData的高8位,然后与后一个字节位或,组成一个大小为两个字节的数字。将数字CuerData与所有节目的Service id进行比对(所有节目的Serviceid可以事先从PSI/SI信息的PAT表或者PMT表中读取),看是否存在相同,如果相同,则可能是Service id,依次后移(Descriptor_length/N)个字节,同样提取两个字节组合成数字,比对看是否是Service id,直到分析完descriptor_data中的所有数据。
S307、判断是否找到所有的Service id,若是,则说明在每个Service id后面可能存在LCN,执行后续步骤;否则,说明描述子数据descriptor_data中不存在LCN,跳转至步骤S317;
S308、在每个Service id后面依次提取两个字节数据进行组合,组合方式同步骤S306中的相关描述;验证提取出的所有数据的连续性,如果有连续性,则认为是LCN;如果不连续,则在每个Service id之后首先后移一个字节,然后再提取两个字节数据进行组合,并验证提取出的所有数据的连续性,以此循环直到数据验证完毕;
S309、判断是否找到LCN,若是,则执行步骤S320;否则,执行步骤S317;
S310、判断该描述子标签值Descriptor_tag的数据块Save_Descriptor的个数是否与节目个数N相同,若相同,则说明LCN可能存在于该标签值的描述子数据中,即网络运营商在SDT表中定义LCN,执行后续步骤;否则,表明在该标签值的数据块中不存在LCN,跳转至步骤S312;
S311、分析每个数据块中的描述子数据descriptor_data,即顺序提取两个字节HIGH8=data[n],LOW8=data[n+1],n=0,1,2,...,循环组合成一个数字CuerData=(((HIGH8)<<8)|(LOW8)),对比组合成的所有数字,看是否具有连续性,如果连续则是LCN,并且在数据块Save_Descriptor中保存有与每个LCN对应的Service id,提取所述的Service id,跳转至步骤S320;否则,跳转至步骤S317;
S312、判断该描述子标签值Descriptor_tag的数据块Save_Descriptor的个数是否与频点个数相同,若相同,则表明有线网络在一个频点发送了本频点的所有节目信息,比如在一个频点发送了青岛台的全部节目信息,而在另一频点发送中央台的各套节目信息等;此时LCN很有可能存在于该标签值的描述子数据中,跳转至步骤S314对描述子数据进行解析;否则,表明在该标签值的数据块中不存在LCN,执行步骤S313;
S313、判断该描述子标签值Descriptor_tag中所有数据块的描述子长度Descriptor_length之和是否是节目个数N的整数倍,若是,则说明LCN可能存在于该标签值的描述子数据中,执行后续步骤;否则,表明在该标签值的数据块中不存在LCN,执行步骤S317;
S314、分析每个数据块中的描述子数据descriptor_data,即顺序提取每个描述子数据中的每两个字节HIGH8=data[n],LOW8=data[n+1],n=0,1,2,...,循环组合成一个数字CuerData=(((HIGH8)<<8)|(LOW8));将组合成的所有数字与所有节目的Service id进行对比,如果找到全部的Service id,则执行后续步骤;否则,执行步骤S317;
S315、在找到的每一个Service id后面依次提取两个字节数据进行组合,验证提取出的所有数据的连续性,如果有连续性,则认为是LCN;如果不连续,则在每个Service id之后首先后移一个字节,然后再提取两个字节数据进行组合,并验证提取出的所有数据的连续性,以此循环直到数据验证完毕;
S316、判断是否找到LCN,若是,则执行步骤S320;否则,执行后续步骤;
S317、判断是否到达数据链表的结尾,若是,则执行步骤S319;否则,执行后续步骤;
S318、读取下一组Descriptor_tag相同的数据块Save_Descriptor,返回步骤S304;
S319、按照Service id对节目进行排序,跳转至步骤S323;
执行到此步骤,表明有线网络运营商没有在PSI/SI信息中定义LCN,即没有规定节目排列顺序,此时系统优选按照Service id的大小顺序对各套节目进行排序。
S320、组合Service id和LCN;
在本实施例中,将Service id、LCN以及频点信息存入与lcn_info_t类似的数据链表或者数组中,所述lcn_info_t的数据结构为:
S321、将LCN通过Service id与节目信息关联;
S322、将各套节目按照LCN的大小顺序进行排序;
在本实施例中,排序算法可以采用插入排序、冒泡排序、选择排序、快速排序、堆排序或者归并排序等现有方法具体完成,本实施例并不仅限于以上举例;
S323、保存排序结果,结束节目排序过程。
本实施例所提出的四个判断步骤S304、S310、S312、S313是按照LCN可能出现的三种情况定义的,在不满足此三种情况时,可以直接认为PSI/SI信息中没有定义LCN。
当然,以上所述仅是本发明的一种优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种数字节目自动排序方法,包括以下步骤:
(1)请求各频点的NIT表、BAT表和SDT表;
(2)提取各表中的所有私有描述子;
(3)提取描述子标签值相同的私有描述子,若该标签值的所有私有描述子存在与之一一对应的Service id,则解析该标签值的所有私有描述子中的描述子数据是否具有连续性,若有,则认为是LCN;
若该标签值的所有私有描述子不存在与之一一对应的Service id,则将该标签值的所有私有描述子中的描述子数据与所有节目的Service id进行对比,若找到全部对应的Service id,则依次从各Service id以外的描述子数据中提取数据进行解析,若存在具有连续性的数据,则认为是LCN;
若没有找到LCN,则依次提取下一组描述子标签值相同的私有描述子进行解析;
(4)将Service id和解析出的LCN通过Service id与节目信息关联起来;
(5)按照LCN的大小对节目进行排序;
其中,
在所述步骤(3)中,将相同频点的所有私有描述子中,描述子标签值相同的私有描述子连同当前频点值保存起来;并且,若某一相同标签值的所有私有描述子存在与之一一对应的Service id,则将Service id同与之对应的私有描述子关联保存,形成与Service id个数对应的多个数据块;否则,将该标签值的所有私有描述子中的描述子长度累加,描述子数据合并作为一个描述子保存,形成一个数据块;在所形成的所述数据块中,若描述子标签值相同的数据块个数等于节目个数,则分析该标签值的每个数据块中的描述子数据,寻找具有连续性的数据,作为LCN。
2.根据权利要求1所述的数字节目自动排序方法,其特征在于:在所述步骤(3)中,首先判断相同标签值的所有私有描述子是否是SDT表中的私有描述子;若是,则在SDT表中每个节目的业务描述符中查找与所述私有描述子一一对应的Service id。
3.根据权利要求1所述的数字节目自动排序方法,其特征在于:在所述寻找具有连续性的数据的过程中,分析每个描述子数据,每相邻的两个字节循环组合成一个数字,对比所形成的所有数字是否具有连续性,如果连续,则是LCN。
4.根据权利要求1所述的数字节目自动排序方法,其特征在于:在所形成的所述数据块中,若描述子标签值相同的数据块只有一个,且数据块中私有描述子的描述子长度值descriptor_length是节目个数N的整数倍,则分析该数据块中的描述子数据,查找与全部Service id一一对应的数据,如果找到所有的Service id,则提取每个Service id之后的数据并分析其中是否具有连续性的数据,若有,则认为是LCN,否则,认为不存在LCN;若在该数据块中的描述子数据中没有查找到与全部Service id一一对应的数据,则认为不存在LCN。
5.根据权利要求4所述的数字节目自动排序方法,其特征在于:在所述分析该数据块中的描述子数据的过程中,从描述子数据的第一个字节开始,将每相邻的两个字节循环组合成一个数字,然后与所有节目的Service id进行对比,若存在相同的数字,则认为是Service id,然后依次后移(Descriptor_length/N)个字节,并依次提取两个字节组合成数字,与所有节目的Service id进行对比,以找到所有的Service id;在查找到的每一个Service id之后依次提取两个字节组成数字,并验证数字的连续性,若连续则认为是LCN,否则,在查找到的每一个Service id之后顺序后移一个字节后,再依次提取两个字节组成数字,并验证数字的连续性,若连续则认为是LCN,以此循环直到数据验证完毕。
6.根据权利要求1所述的数字节目自动排序方法,其特征在于:若所形成的所述数据块的个数大于1,且描述子标签值相同的数据块个数与频点个数相同,或者虽然描述子标签值相同的数据块个数与频点个数不同,但是该标签值的所有数据块中的描述子长度值之和是节目个数的整数倍,则分析该标签值的所有数据块中的描述子数据,查找与全部Service id一一对应的数据,如果找到所有的Service id,则在剩余的数据中分析是否具有连续性的数据,若有,则认为是LCN,否则,不存在LCN;如果找不到所有的Service id,则认为不存在LCN。
7.根据权利要求1至6中任一项所述的数字节目自动排序方法,其特征在于:在所述步骤(5)中,针对所述LCN利用插入排序、冒泡排序、选择排序、快速排序、推排序或者归并排序算法对节目进行排序。
8.根据权利要求1至6中任一项所述的数字节目自动排序方法,其特征在于:若找不到所述的LCN,则系统按照Service id的大小对所有节目进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110075813.3A CN102695085B (zh) | 2011-03-21 | 2011-03-21 | 数字节目自动排序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110075813.3A CN102695085B (zh) | 2011-03-21 | 2011-03-21 | 数字节目自动排序方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102695085A CN102695085A (zh) | 2012-09-26 |
CN102695085B true CN102695085B (zh) | 2014-06-25 |
Family
ID=46860342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110075813.3A Active CN102695085B (zh) | 2011-03-21 | 2011-03-21 | 数字节目自动排序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102695085B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105142016A (zh) * | 2015-08-12 | 2015-12-09 | 湖南兆华世纪新媒体技术有限公司 | 一种在地面数字电视多频网中终端设定中心频率的方法 |
CN105744353B (zh) | 2016-04-14 | 2019-11-19 | 深圳Tcl数字技术有限公司 | 逻辑频道号解析方法及装置 |
CN107318040A (zh) * | 2017-08-14 | 2017-11-03 | 青岛海信电器股份有限公司 | 电视节目排序的方法及装置 |
CN113630626B (zh) * | 2021-08-04 | 2024-05-10 | 深圳市杰科数码有限公司 | 一种机顶盒及其自动节目管理方法、计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819619A (zh) * | 2006-01-20 | 2006-08-16 | 北京广博数字电视科技有限公司 | 数字电视实现频道排序的方法 |
CN101646026A (zh) * | 2008-08-08 | 2010-02-10 | 深圳Tcl新技术有限公司 | 节目排序方法 |
CN101888500A (zh) * | 2009-05-15 | 2010-11-17 | 深圳Tcl新技术有限公司 | 数字电视一体机及其实现节目列表的方法 |
-
2011
- 2011-03-21 CN CN201110075813.3A patent/CN102695085B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819619A (zh) * | 2006-01-20 | 2006-08-16 | 北京广博数字电视科技有限公司 | 数字电视实现频道排序的方法 |
CN101646026A (zh) * | 2008-08-08 | 2010-02-10 | 深圳Tcl新技术有限公司 | 节目排序方法 |
CN101888500A (zh) * | 2009-05-15 | 2010-11-17 | 深圳Tcl新技术有限公司 | 数字电视一体机及其实现节目列表的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102695085A (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102222103B (zh) | 视频内容的匹配关系的处理方法及装置 | |
US10284922B2 (en) | Advertisement detection system and method based on fingerprints | |
US7212667B1 (en) | Color image processing method for indexing an image using a lattice structure | |
CN102695085B (zh) | 数字节目自动排序方法 | |
CN102156751B (zh) | 一种提取视频指纹的方法及装置 | |
CN101459901B (zh) | 基于多级切片方式的矢量地图数据传输方法 | |
CN101800892B (zh) | 多媒体码流识别的方法和装置 | |
CN108881947A (zh) | 一种直播流的侵权检测方法及装置 | |
US7088732B2 (en) | Apparatus and methods for storing and comparing PIDs | |
CN102143399B (zh) | 一种机顶盒存台极限的测试方法、服务器及系统 | |
CN102611929A (zh) | 一种数字电视机顶盒的区域控制方法 | |
CN107301203B (zh) | 一种海量数据的比对方法及系统 | |
US8214854B2 (en) | Method and system for facilitating analysis of audience ratings data for content | |
WO2000070881A1 (en) | Color image processing method | |
CN103220480A (zh) | 显示装置和数字卫星频道排序方法 | |
CN101923519B (zh) | 机顶盒epg数据快速存储和读取的方法 | |
CN101646026A (zh) | 节目排序方法 | |
CN106454489A (zh) | 电视节目的自动切换方法及系统 | |
CN105025369A (zh) | 一种确定组合频道中推荐资源的方法及装置 | |
CN100472563C (zh) | 视频数据搜索方法 | |
CN102752541A (zh) | 一种比赛现场字幕的生成方法 | |
CN108513164B (zh) | 一种节目搜索方法和装置 | |
CN104796760A (zh) | 节目组关联表中实现分类节目排序的方法 | |
CN104348760A (zh) | 一种实现ip分片按序逐片发送的方法 | |
CN115379255A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160531 Address after: 529000 Jiangmen City, Guangdong province advanced manufacturing sand demonstration park, Hisense Avenue, No. B District, No. 8 Patentee after: GUANGDONG HISENSE ELECTRONIC CO., LTD. Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Patentee before: Qingdao Hisense Electric Co., Ltd. |