CN1193428A - 电子节目指导信息的压缩 - Google Patents

电子节目指导信息的压缩 Download PDF

Info

Publication number
CN1193428A
CN1193428A CN96194480A CN96194480A CN1193428A CN 1193428 A CN1193428 A CN 1193428A CN 96194480 A CN96194480 A CN 96194480A CN 96194480 A CN96194480 A CN 96194480A CN 1193428 A CN1193428 A CN 1193428A
Authority
CN
China
Prior art keywords
data
top box
character
huffman
string
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.)
Pending
Application number
CN96194480A
Other languages
English (en)
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.)
COLORADO TELECOMMUNICATION Co
TV Guide Magazine Group Inc
Original Assignee
COLORADO TELECOMMUNICATION Co
News America Publications 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 COLORADO TELECOMMUNICATION Co, News America Publications Inc filed Critical COLORADO TELECOMMUNICATION Co
Publication of CN1193428A publication Critical patent/CN1193428A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26283Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for associating distribution time parameters to content, e.g. to generate electronic program guide data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/025Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information

Abstract

本发明旨在把包含电子节目指导信息的电视节目信息按大于50%的比例压缩,并在仅具有简单处理能力和存储空间的环境中被解压缩。本发明的编码方案基于对包含电子节目指导信息的字符和出现在数据中具有高节省数值和替换字符串的Huffman编码。从Huffman代码构造查阅表和二叉树用于对电子节目指导信息进行压缩和解压缩,并提供了用于解压缩操作的机顶盒。

Description

电子节目指导信息的压缩
本发明涉及数字数据的压缩,特别涉及压缩方法和用于对包含电子节目指导信息的电视节目信息进行解压缩的装置。
直到近来,电视的观看基本上都是被动的。呈现给观众的是不同频道上的一些节目,并可能有一个频道提供电视节目信息。现在观众越来越要求能够提供实时节目信息的更为可靠的系统。这种信息例如要能够以电子节目指导信息(“EPG”)的形式提供,诸如以屏上电视指导信息的形式提供。
一般,诸如有线电视公司这样的中心供应商在向广大观众分配的信号上对节目广播数据和EPG数据进行编码。各个观众使用机顶盒接收该信号并解码。另外,观众也可以把数据发回服务的供应商或其它观众。
需要压缩EPG数据有几个原因。EPG设计的主要目的是为了能够存储尽可能多的节目播放信息,并通过压缩已有的数据,可在相等的数据空间中向观众提供更多的数据。这一因素在设计高效率的机顶盒时是特别重要的,因为这种设计成本的边界增加可能有很大的影响。而且压缩EPG数据改进了传输频道的带宽。增加的带宽对于向各个观众上行和下行传输数据是有关的,并且显著大的压缩比能够获得以往所不知道的应用。
具体的压缩技术的适用性与特定的用途所提出的约束有关。在包含EPG的压缩和解压缩数据的场合,涉及到四个约束。
第一,EPG数据包含通常长度为10到250个字符并很少超过1000个字符的短消息。大部分压缩技术都假定文本串是很长的,并目的是对较大的数据对象如整个计算机文件进行操作。包含EPG的数据集示例性地包含划分为1000个短信息的大约88千字符非压缩文本,其每一个必须能够独立地压缩和恢复。现有的压缩技术不能提供理想的解决方法。
第二,观众的机顶盒具有有限的存储量。压缩EPG数据的一个动机是为了节省存储空间,使得任何资源成本必须从资源的节省减去。大部分压缩技术认为,为了运行对数据进行解码并存储相关的数据结构的程序需要有相当大的存储空间。在EPG的场合,解压缩必须在非常有限的代码和数据空间中进行。
第三,为了避免需要更新在解压缩中使用的数据,解压缩操作应当不依赖于重复字或词组的使用。EPG数据包含很大比例的唯一的很少使用的专有名词。而且,常用字或词组是循环的(例如,“篮球”春季常用的而“足球”在秋季常用),并对时间改变(例如,名称,时事,流行的表演等等随时间而改变)。因为在EPG中字的选择是是广泛而变化无常的,故解释各个字或词组的词典是无效的并应当避免。
第四,观众的机顶盒具有有限的处理资源,因为机顶盒应当价格低廉而适用广泛配置。即使没有解压缩的特性,机顶盒的性能也是主要关注的。解压缩操作应当不需要繁琐的处理而进行,故使用大范围搜索的技术是不可取的。
虽然现在使用着一些用于数字数据的压缩技术,现有的压缩技术各自不能充分适应EPG场合所提出的四个要求。发挥了重复字符长字符串好处的长行程编码对于一般很少包含重复字符的EPG数据是没有用的。其中重复的字符串参照较早出现的字符串的LZ编码方法需要太大的处理能力和存储器,并对于EPG数据仅能够提供大约40%的压缩。Huffman编码虽然要求的处理能力和存储器较低,但是对于EPG数据仅能提供大约40%的压缩。其中频繁出现字符对由不使用的字符代码代替的字符替换编码方法在要求和结果上类似于Huffman编码。
本发明解决了压缩EPG数据的问题。使用本发明的方法和装置,EPG的各种文本可被压缩大于50%,并可在仅有适当的处理能力和存储空间的环境中被压缩。
本发明的编码方案是按以下方式准备的:集中一般的EPG数据;然后基于在EPG数据中每一字符出现的频率准备Huffman编码信息;对EPG数据进行扫描以便寻找出现次数大于某一阈值的备选字符串,并使节省数值与每一备选字符串相关;从备选字符串选择特定的字符串作为替字符串;最后,对替换字符串和各个字符构造Huffman代码。
从Huffman代码构造查阅表和二叉树用于对EPG数据进行压缩和解压缩。通过串行扫描EPG数据并从查阅表获得的Huffman代码建造文本而生成压缩的文本。如果找到替换字符串,则使用与替换字符串相关的Huffman代码;如果没有找到替换字符串,则使用与各个字符相关的Huffman代码。通过串行扫描压缩的文本并以二叉树分析该文本而生成解压缩的文本。当达到终结分支时,它所代表的字符或者字符串添加到解压缩文本中。
从参照附图对本发明的优选实施例的详细说明本发明的以上优点显而易见,这些附图是:
图1A表示本发明适用的第一系统的框图;
图1B表示本发明适用的第二系统的框图;
图2表示准备本发明的代码方案的流程图;
图3表示在字符串压缩之前对于示例的数据集获得Huffman代码的图示;
图4表示在字符串压缩之后对于示例的数据集获得Huffman代码的图示;
图5表示根据本发明对于示例的数据集准备的Huffman表;
图6表示根据本发明对于示例的数据集准备的Huffman树;
图7表示用于根据本发明压缩数据的流程图;
图8表示用于根据本发明解压缩数据的流程图。
图1A表示本发明适用的第一系统101的配置的框图。诸如有线电视供应商之类的服务供应商向每一具有机顶盒20的多个用户分配信号10。信号10可能通过各种方法,包括电、光、微波、或者其它传输方式分配和接收。信号10至少包含根据本发明压缩的EPG数据。信号10可能还包含广播节目信号,软件更新或者其它信息。
机顶盒20包含用于接收和处理信号10的组件。这些组件包括接收模块30、微控制器40、及存储模块50。接收模块30例如可能包含接收器32、解调器34、及用来接收信号10并向微控制器40提供压缩的EPG数据流60的缓存器36。压缩的EPG数据流60包含压缩的EPG数据的数字表示并可能以串行或并行的形式提供给微控制器40;它可能选择地被扰频或者包含奇偶性信息、报头信息、或其它信息。微控制器40接收并在存储模块50中存储压缩的EPG数据流60。当应用程序需要压缩的数据显示在监视器80上时,从存储模块50接收压缩数据并被解压缩。存储模块50可能包含RAM52、ROM 54、及EFPROM 56,分别用来存储解压缩的EPG数据,存储用于解压缩的Huffman树,及存储用于进行解压缩的应用程序软件。然而,存储模块50可能包含其它的组合或者使用易失的和非易失的存储装置,包括电池支持静态RAM、快闪存储器或者磁盘或光盘。
压缩的EPG数据流60可以以各种方式存储。在最佳实施例中,包含数据项的字符串(例如长的标题或者描述)存储在由字节边界标号的各个记录中。每一记录的长度在每一记录内在固定的存储单元存储,并表示保存压缩的串所需的字节数。在这一方案中,不需要串末端的字符。压缩的串末端由压缩的串长度确定。如果串不在字节边界上终止,则最后字节中其余的位以不能转换为合法字符的代码填充。这一实施例有两个优点。第一,可变长度记录的大小不需要解压缩就可以被确定。第二,数据项可被独立地压缩。
机顶盒20能够可选择地包含用于对电视广播信号或者其它信号解码的调谐器模块70,并向监视器80提供这些信号。调谐器模块70可能包含一模拟调谐器72,一数字多路分解器74,或者这两种装置(如果信号10包含模拟信号和数字信号这两种信号,或在模拟载波上调制的数字信号)。图1表示一示例性的实施例,其中使用了模拟调谐器72和数字多路分解器74;然而,信号10可能由能够直接提供给数字多路分解器74的数据、或者不需要数字多路分解器74的数据组成。
微控制器40也能够提供经调制的节目指导信息数据或者其它数据供显示在监视器80上。转换开关90能够用来在来源之间进行选择。如果电视信号提供给监视器80,用来调制用于微控制器40中的数字信号的调制器和数字多路分解器74可能包含在这些装置中,或者选择地集成到转换开关90中。
图1B表示本发明适用的第二系统102配置的框图。该第二系统102类似于第一系统101,所不同之处在于压缩的EPG数据是提供给微控制器40的。在第二系统102中,不是把压缩的EPG数据直接提供给微控制器40,压缩的EPG数据流62直接存储在存储模块50并然后由微控制器通过路径64访问,该路径最好为一并行数据总线。在所有方面,压缩的EPG数据流62可能包含与压缩的EPG数据流60相同的数据。一个示例性但非唯一实现这一方案的方式是其中RAM 52装设在总线上,这允许由缓存器36和微控制器40两者独立地访问。
在第一和第二示例性的实施例101和102的每一个中,机顶盒20和监视器80可集成为单一的系统,或者作为更大的系统诸如个人计算机中的组件。而且与信号10的形式有关,机顶盒20的组件在整体上或者部分地可集成为单一的集成电路芯片。
本发明适用的系统101和102的各种特点、性能和优点在序号为08/119,367的申请者的共同未决美国申请中进一步或者交替地进行说明,该申请书在此结合对比。而且,本发明可用于各种市售的机顶盒,包括General Instrument DCT 1000产品。
图2表示准备本发明的编码方案的一个流程图。本发明的编码方案可以按数种方式准备,诸如通过手工计算或使用计算机应用程序软件。
准备编码方案的第一步是在步骤200中汇编典型的EPG数据。这一数据应当类似于基于前向要提供给系统最终用户的典型的EPG数据。而且,EPG数据必须包含在EPG文本中将总会出现的每一唯一的字符。因为该编码方案可能基于概率,故对于编码可以选择地使用多个EPG数据集。
在步骤210,对EPG数据中每一字符汇编Huffman编码信息。一个字符是任何可能独立于其它字符、标号及符号独立存在的字符、标号、或者符号。例如,字符可能包含字母表中的字母(以大写或者小写的方式),阿拉伯数字,标点符号,嵌入的控制代码(例如对于回车或重体打印的标号),及其它标号或者符号(诸如用于加细标题或者立体声广播的标号,或者网络标号,如“MTV”或“HBO”)。字符可以大小不同,并且字符出现的频率是它在数据中出现的次数。
Huffman编码信息由表示Huffman代码中每一字符所需的位数组成。对于每一字符的Huffman代码可通过已知的数种技术获得。一种方式是生成最低概率对图。在这一图中,字符按概率的降序排列。两个最低概率分为一组而形成最低概率对;这一最低概率对与其余的概率按概率的降序转换为新的列;并重复该过程直到达到最终的概率,即1.0的概率。图3和4表示最低概率对图的例子。
这种图如下读取。每一最低概率对形成一个结点。对的一个元素标为“1”而另一个元素标为“0”。从左到右穿过图跟踪它而获得对于每个字符的编码,收集每一最低概率对结合点处的代码数字。使得代码数字的顺序反向就提供了每一字符的Huffman代码。对于任何概率的集合,任何一字符可能有多个Huffman代码。
表1是对于来自十个字符:A,B,C,D,E,F,G,H,T和空字符集合的20,000个字符组成的示例性EPG数据使用步骤210而生成的。虽然这一数据不同于实际应用程序(这示例性地由来自200个单一字符的集合至少88千字节数据组成)中使用的EPG数据。该表列出了字符,它们出现的频率,它们出现的概率,它们的Huffman代码,包含它们的Huffman代码的位数,以及表示每一字符的压缩文本位的全部大小。表1中所示的Huffman代码是从图3所示的图300推导出来的。
表1
  字符   频率   概率   HUFFMAN代码 HUFFMAN位    大小(位)
    A   3,000   0.150     110     3     9,000
    B   900   0.045     0101     4     3,600
    C   800   0.040     01111     5     4,000
    D   600   0.030     01110     5     3,000
    E   5,000   0.250     10     2     10,000
    F   500   0.025     01001     5     2,500
    G   400   0.020     01000     5     2,000
    H   1,200   0.060     0110     4     4,800
    T   4,000   0.200     00     2     8,000
    -   3,600   0.180     111     3     10,800
   全部   20,000   1.00     57,700
参看图2,在步骤220 EPG数据被扫描而找到备选的字符串。字符串为任何两个或者更多个字符相邻的分组,并且备选字符串为在EPG数据中多于某一阈值次数被找到的任何字符串。虽然理论上可以设置为任何低的一个值,但是这样作并不实际,例如20,000个字符数据集的第一个和最后19,999字符及两个端之间的分组将满足备选限制。
一般来说,对于备选字符串适当的阈值频率是所有字符由被备选字符串长度除的中间频率。该中间频率是使得所有字符大约一半较常出现,大约一半较少出现的那样一种频率。在表1所示的数据中,中间频率在900和1200之间,而五个字符具有900或更小的频率,五个字符具有1200或更大的频率。取这一范围的低端900以便最大化备选字符串的数目,则两个字符的字符串的阈值为450;三个字符的字符串的阈值为300;四个字符的字符串的阈值为225;等等。
而且,通过检验长度二的备选字符串并然后进到普通较大长度的字符串(例如三个,四个等等),通过找到对其没有备选字符串能够满足阈值的长度而能够断定最大备选字符串的长度。在这点,所有潜在的备选字符串已经被找到并完成了步骤220。
在步骤230,节省数值基于与其组成的字符出现的频率相反的出现频率而与每一备选字符串相关。确定节省数值的一个示例性但不是唯一的方法是通过以下公式:
            SV(S)=fs*(∑Cs-eCs),
其中S是备选字符串,fs是S在EPG数据中出现的频率,eCs是包含代表S的Huffman代码的估计位数,而∑Cs是步骤210中对于每一包含S的字符计算的Huffman代码中的位数之和。包含代表S的Huffman代码的估计位数可通过将S出现的频率与在步骤210对于每一字符准备的频率信息进行比较而建立。例如,如果S具有出现500次的频率,则能够寻找具有在EPG数据中相同或者较小出现频率的字符。
为了解释步骤230,表2示出对于在表1中考虑的示例性EPG数据中假设引起的三个字符串计算的节省数值。这里,包含每一串的Huffman代码的估计位数是通过对每一串的出现的频率和与表1所示对于各个字符的频率及Huffman代码信息进行比较而建立的。
表2
  S             Fs            eCs     ∑Cs     SV(S)
  E_             700(fd=600)<fs_<(fc=800)             5(Cd=5)≥eCs_≥(Cc=5)       5(2+3)       0
  HE_             400(fg=400)=fHE_             5Cg=eCHE_       9(4+2+3)     1600
  THE_             300o<fTHE_<(fg=400)             6∞≥eCTHE_≥(Cg=5)      11(2+4+2+3)     1500
在步骤240,从备选字符串选择出特定的字符串作为替换字符串。一种示例性但非唯一的选择替换字符串的方法是选择带有最高节省数值的备选字符串。然而,在选择替换字符串时必须小心。例如,从表2中给定的数据选择“HE_”和“THE_”两者,选择这种其它字符串的成分为替换字符串就可能是无效的。这些情形下,基本上由于较短字符串的节省乘以较长串的频率,除以较短字符串的频率而使估计的节省数值将降低。例如,选择“HE_”和“THE_”两者作为替换字符串的近似节省将等于1600+1500-1600*300/400,或1900。这一数值基本上并不比对于只选择“HE_”作为替换字符串的估计节省1600明显地好。
而且,选择够大的替换字符串数是无效的。虽然选择的最佳数目将随EPG数据的组合而变化,但是对于表示EPG数据选择10到50之间的替换字符串已经获得显著的压缩。不应当选择具有负的或接近零的节省数值的替换字符串。
在步骤250,对于替换字符串和各个字符构造Huffman代码。可以按照在步骤210获得Huffman编码信息使用的类似的方式构造Huffman代码,不同之处在于,最好调节频率信息和概率信息使之能够反应替换字符串的使用。表3示出对于表1给出的示例性的数据集的Huffman代码,其中来自表2的替换字符串“HE_”也纳入到编码方案中。表3所示的Huffman代码是从图4所示的图400推导出的。
表3
  字符(串)    频率   概率    HUFFMAN代码 HUFFMAN位    大小(位)
    A     3,000    0.156     110     3     9,000
    B     900    0.047     0101     4     3,600
    C     800    0.042     0100     4     3,200
    D     600    0.031     01101     5     3,000
    E     4,600    0.240     10     2     9,200
    F     500    0.026     01100     5     2,500
    G     400    0.021     011101     6     2,400
    H     800    0.042     01111     5     4,000
    T     4,000    0.208     00     2     8,000
    3,200    0.167     111     3     9,600
    HE     400    0.021     011100     6     2,400
    全部     19,200    1.00     56,900
从该表明显地,在压缩表1中考虑的示例性数据集使用替换字符串“HE_”节省了800位。在步骤230对于“HE_”计算并示于表2中的近似的节省数值为1600位。虽然在示例性的实施例中估计的和实际的节省数值可能有差别,但是估计的节省数值对于多个备选字符串提供了对于相关节省数值很好的近似。
可从在步骤250为压缩和解压缩EPG数据使用而准备的Huffman代码构造查找表和二叉树。图5表示用于表3所示的示例性数据集的Huffman表500,而图6表示用于这—示例性数据集的Huffman树600。已知的各种技术和数据结构可用于存储这种数据,包括阵列、链接列表、指针及其它技术。Huffman表500由服务供应商维护并用来压缩EPG数据。该表最好存储在用来准备压缩的EPG数据诸如计算机系统的盘驱动器等非易失存储器中。Huffman树600由用户维护并用来解压缩EPG数据。Huffman树600最好存储在机顶盒20的非易失存储器诸如ROM 54中。
图7表示估计本发明准备压缩的EPG数据的流程图。步骤700设置一指针指向EPG数据的顶端。步骤710判断被指向的字符是否是替换字符串中的第一个字符。如果是,则与替换字符串相关的Huffman代码添加到压缩的文本的末端并且在步骤720指针移动到在替换字符串之后的字符。如果没有找到替换字符串,与被指向的各字符相关的Huffman代码添加到压缩的文本的末端,并且在步骤730指针移动到下一个字符。如果指针不指向EPG数据的末端,则控制回路返回步骤710。
用来执行图7所示步骤或者类似的压缩步骤的计算机应用程序可以按各种方式并通过使用各种编程技术准备,诸如通过Visual Basic或者C编程语言。这种程序最好存储在用于准备压缩的EPG数据的计算机系统的非易失存储器中,诸如盘驱动器。
图8表示用来从压缩的EPG数据获得EPG数据的流程图。在步骤800,设置第一指针指向压缩的EPG数据中第一个二进制数字,设置第二指针指向Huffman树600的根结点610。步骤810通过向下移动Huffman树对应的路径并更新两个指针而处理第一指针处的二进制数字。步骤820检测第二指针处的Huffman树的分支。如果它是终端的分支,则它表示的字符或者字符串在步骤830添加到解压缩文本,在步骤840设置第二指针指向Huffman树600的根结点610,并如果步骤850判定第一指针不指向压缩的EPG数据的末端,则控制回路返回步骤810。如果在步骤820检测的Huffman树的分支不是终端分支,则控制回路返回步骤810。
用来执行图8所示步骤或者类似的解压缩步骤的计算机应用程序可以按各种方式并通过使用各种编程技术准备,诸如通过用于微控制器40的汇编语言编码。这种程序最好存储在机顶盒20的非易失存储器中,诸如存储在EEPROM 54中。
为了表示压缩和解压缩的处理,可参照图5和7将包含串“THE_CAT”的EPG数据编码为包含二进制代码“00011100010011000”压缩的EPG数据。这个二进制代码可以参照图6和8返回到包含原始串“THE_CAT”的EPG数据。
使用本发明的方法和装置,能够达到EPG数据显著的压缩。例如表1和3所示的示例性数据能够通过每字符4位编码以80,000位的未压缩文本表示。Huffman编码字符的表1中所示的技术达到28%的压缩,而Huffman编码字符和一个替换字符串的表3中所示的技术达到29%的压缩。
表4表示示例性EPG数据的组成。这种数据包含使用每字符8位编码的将近88千字符未压缩文本。
表4
  数据项     数目 平均大小(字节)   大小(字节)
  长标题     444     25     11,100
  说明     243     120     29,160
  鼓动     49     200     9,800
  包装说明     14     267     3,738
  定购     10     220     2,200
  帮助     130     200     26,000
  信息     20     233     4,660
  价格原因     20     50     1,000
  PPV频道信息     10     20     200
  本地信息     1     135     135
  全部
对于典型的EPG数据,Huffman编码字符仅达到将近40%的压缩。本发明中所有唯一的字符和典型的10到50之间的替换字符串被Huffman编码,使用本发明的技术能够获得高达50%的压缩,而解压缩能够在仅有简单的处理能力和存储空间的机顶盒中进行。
虽然已经就优选实施例对本发明进行了展示和说明,本技术领域内的熟练人员能够看到能够对优选实施例进行修改。可以使用各种数据结构和组件;可以使用与Huffman编码等同的技术(包括,但是不限于,Fano编码);并在不背离以下权利要求所述本发明的精神之下可以使用结构上与EPG数据等同的数据。

Claims (15)

1.一种用于压缩电子节目指导信息的方法,包括:
汇编表示所述电子节目指导信息并包含多字符的数据;
判定以Huffman代码表示每一所述字符所需的位数;
从所述数据选择多个备选字符串,所述备选字符串在所述数据中出现次数多于一阈值并包含至少两个所述字符;
使用至少以Huffman代码表示包含所述字符串的每一所述字符所需的所述位数,对于每一所述字符串计算节省数值;
基于所述节省数值从所述备选字符串中选择至少一个替换字符串;
对于所述多个字符串的每一个以及所述至少一个替换字符串的每一个准备包含Huffman代码的Huffman表;以及
使用所述Huffman表压缩所述电子节目指导信息。
2.如权利要求1的方法,其中对于所述每一备选字符串所述阈值数等于所述多个字符的中间频率除以所述备选字符串中的字符数。
3.如权利要求1的方法,其中选择至少10个但不多于50个替换字符串。
4.如权利要求1的方法,其中每一所述节省数值等于所述备选字符串出现在所述数据中的次数乘以按Huffman代码表示包含所述备选字符串每一所述字符所需的位数与对于所述备选字符串包含Huffman代码的估计位数之间的差。
5.如权利要求1的方法,其中所述数据包含所述电子节目指导信息。
6.一种用于接收包含压缩形式的电子节目指导信息的信号并对其解压缩的机顶盒,所述电子节目指导信息包含多个字符,所述机顶盒包括:
用来接收所述信号并提供包含所述电子节目指导信息压缩的形式的数字表示的数据的装置;
用来存储Huffman树的第一存储空间,所述Huffman树包含表示字符串的至少一个终端分支,所述字符串包含至少两个字符;
用来存储用于以所述Huffman树进行解压缩操作的应用程序软件的第二存储空间;
用来存储所述数据的第三存储空间;以及
连接到所述接收器装置和所述第一、第二及第三存储空间的一个微控制器,用于引起所述应用程序软件对所述数据执行所述解压缩操作,以获得解压缩形式的所述电子节目指导信息。
7.如权利要求6的机顶盒,其中所述接收器装置包括一接收器,一解调器,及一缓存器。
8.如权利要求6的机顶盒,其中所述第一、第二和第三存储空间及所述微控制器包括一集成电路芯片。
9.如权利要求6的机顶盒,其中所述第一和第二存储空间包含一非易失存储器,并且所述第三存储空间包含一易失存储器。
10.如权利要求9的机顶盒,其中所述第一存储空间为一ROM,所述第二存储空间为一EEPROM,及所述第三存储空间为一RAM。
11.如权利要求9的机顶盒,其中所述第一和第二存储空包含一电池支持的静态RAM。
12.如权利要求9的机顶盒,其中所述第一和第二存储空包含一快闪存储器。
13.如权利要求6的机顶盒,其中所述数据被串行提供,并且所述微控制器还包括接收所述串行数据的一输入端。
14.如权利要求6的机顶盒,其中所述数据被并行提供,并且所述微控制器还包括接收所述并行数据的多个输入端。
15.如权利要求6的机顶盒,还包括一模拟调谐器。
16.如权利要求6的机顶盒,还包括一数字多路分解器。
CN96194480A 1995-06-07 1996-05-30 电子节目指导信息的压缩 Pending CN1193428A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/476,208 US5548338A (en) 1995-06-07 1995-06-07 Compression of an electronic programming guide
US08/476,208 1995-06-07

Publications (1)

Publication Number Publication Date
CN1193428A true CN1193428A (zh) 1998-09-16

Family

ID=23890940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96194480A Pending CN1193428A (zh) 1995-06-07 1996-05-30 电子节目指导信息的压缩

Country Status (10)

Country Link
US (1) US5548338A (zh)
EP (1) EP0830740A1 (zh)
JP (1) JP3299760B2 (zh)
KR (1) KR19990022677A (zh)
CN (1) CN1193428A (zh)
AU (1) AU712114B2 (zh)
BR (1) BR9609128A (zh)
CA (1) CA2222293A1 (zh)
PL (1) PL327243A1 (zh)
WO (1) WO1996041423A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616136B2 (en) 2005-01-26 2009-11-10 Qisda Corporation Message compression methods and systems
CN103457700A (zh) * 2013-08-20 2013-12-18 重庆邮电大学 Ndn/ccn网络中的数据包内容名称编码压缩方法

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
USRE47642E1 (en) 1981-11-03 2019-10-08 Personalized Media Communications LLC Signal processing apparatus and methods
US7831204B1 (en) 1981-11-03 2010-11-09 Personalized Media Communications, Llc Signal processing apparatus and methods
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
JP3566441B2 (ja) * 1996-01-30 2004-09-15 シャープ株式会社 テキスト圧縮用辞書作成装置
JP3305190B2 (ja) * 1996-03-11 2002-07-22 富士通株式会社 データ圧縮装置及びデータ復元装置
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
US5940073A (en) 1996-05-03 1999-08-17 Starsight Telecast Inc. Method and system for displaying other information in a TV program guide
US6205485B1 (en) * 1997-03-27 2001-03-20 Lextron Systems, Inc Simulcast WEB page delivery using a 3D user interface system
US9113122B2 (en) 1997-04-21 2015-08-18 Rovi Guides, Inc. Method and apparatus for time-shifting video and text in a text-enhanced television program
US6111612A (en) * 1997-07-10 2000-08-29 Thomson Consumer Electronics System for forming and processing text data for use in program specific information for broadcast
US6031577A (en) * 1997-07-10 2000-02-29 Thomson Consumer Electronics, Inc. System for forming and processing program specific information containing text data for terrestrial, cable or satellite broadcast
BRPI9812104B1 (pt) 1997-07-21 2016-12-27 Guide E Inc método para navegar por um guia de programa interativo
US6483548B1 (en) 1998-12-28 2002-11-19 Research Investment Network, Inc. Method of data display for electronic program guides (EPGs)
US6757001B2 (en) 1999-03-30 2004-06-29 Research Investment Network, Inc. Method of using physical buttons in association with a display to access and execute functions available through associated hardware and software
US6445398B1 (en) 1998-02-04 2002-09-03 Corporate Media Partners Method and system for providing user interface for electronic program guide
US6745390B1 (en) * 1998-03-12 2004-06-01 United Video Properties, Inc. Palette management for display of regular graphic objects
GB2338364B (en) * 1998-06-12 2003-03-05 British Sky Broadcasting Ltd Improvements in receivers for television signals
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
KR100269159B1 (ko) * 1998-09-05 2000-10-16 윤종용 튜너 회로 설계 방법
US6530085B1 (en) * 1998-09-16 2003-03-04 Webtv Networks, Inc. Configuration for enhanced entertainment system control
US6169879B1 (en) * 1998-09-16 2001-01-02 Webtv Networks, Inc. System and method of interconnecting and using components of home entertainment system
US6934963B1 (en) * 1998-09-22 2005-08-23 United Video Properties, Inc. Interactive television program guide with passive content
US6130630A (en) * 1998-10-27 2000-10-10 Hewlett-Packard Company Apparatus and method for compressing Huffman encoded data
TW499816B (en) * 1998-11-30 2002-08-21 United Video Properties Inc Interactive program guide system and method
US6859799B1 (en) 1998-11-30 2005-02-22 Gemstar Development Corporation Search engine for video and graphics
US6256019B1 (en) 1999-03-30 2001-07-03 Eremote, Inc. Methods of using a controller for controlling multi-user access to the functionality of consumer devices
AU7606500A (en) * 1999-09-24 2001-04-24 United Video Properties, Inc. Interactive television program guide with enhanced user interface
JP4362914B2 (ja) * 1999-12-22 2009-11-11 ソニー株式会社 情報提供装置、情報利用装置、情報提供システム、情報提供方法、情報利用方法及び記録媒体
JP4944338B2 (ja) 2000-03-31 2012-05-30 ユナイテッド ビデオ プロパティーズ インク 番組を記録する際のカットオフを減らすためのシステムおよび方法
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
CA2425482C (en) 2000-10-11 2015-12-01 United Video Properties, Inc. Systems and methods for caching data in media-on-demand systems
DE60135567D1 (de) 2000-10-11 2008-10-09 United Video Properties Inc Systeme und verfahren zur bereitstellung von datenspeichern in servern in einem medien-auf-anfrage liefersystem
US6690306B1 (en) * 2000-11-03 2004-02-10 Intel Corporation Method of generating a length-constrained huffman code
FR2818859B1 (fr) * 2000-12-22 2003-02-14 St Microelectronics Sa Procede et dispositif de filtrage des donnees relatives au guide electronique de programmes d'un televiseur
US6909384B2 (en) * 2002-01-31 2005-06-21 Microsoft Corporation Generating and searching compressed data
US20030145085A1 (en) * 2002-01-31 2003-07-31 Baldwin James Armand Table arrangement of sorted EPG data to facilitate searching on low resource clients
DE10212298B4 (de) * 2002-03-20 2013-04-25 Grundig Multimedia B.V. Verfahren für die Verwaltung von Software für ein Fernsehgerät
US20040055007A1 (en) * 2002-09-13 2004-03-18 David Allport Point-based system and method for interacting with electronic program guide grid
US7117441B2 (en) * 2002-11-27 2006-10-03 Research Investment Network, Inc. Grid-based system and method for interacting with electronic program guide grid
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US20060051059A1 (en) 2004-09-08 2006-03-09 Krakirian Haig H Video recorder having user extended and automatically extended time slots
US20040250280A1 (en) * 2003-06-06 2004-12-09 Research Investment Network, Inc. System and method for interacting with epg grid using stable underlying focal point
US20040268394A1 (en) * 2003-06-27 2004-12-30 Microsoft Corporation Compressing and decompressing EPG data
US8347333B1 (en) * 2003-08-13 2013-01-01 The Directv Group, Inc. Modified electronic program guide
US9973817B1 (en) 2005-04-08 2018-05-15 Rovi Guides, Inc. System and method for providing a list of video-on-demand programs
US20070079342A1 (en) 2005-09-30 2007-04-05 Guideworks, Llc Systems and methods for managing local storage of on-demand content
US7870125B1 (en) 2005-12-27 2011-01-11 Charter Communications Holding Company Integrated media content server system and method for the customization of metadata that is associated therewith
US9681105B2 (en) * 2005-12-29 2017-06-13 Rovi Guides, Inc. Interactive media guidance system having multiple devices
US8607287B2 (en) 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
CN101584120B (zh) * 2007-01-19 2013-01-09 三菱电机株式会社 表装置、可变长度编码装置、可变长度解码装置
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US7970215B2 (en) * 2007-03-30 2011-06-28 Intel Corporation Automatic generation of compact code tables
US20090019492A1 (en) 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
EP2378766A1 (en) * 2010-04-16 2011-10-19 Liberty Global Europe Holding B.V. Electronic Program Guide compression method and system
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
CN105100877B (zh) * 2015-07-27 2019-03-22 四川长虹电器股份有限公司 数字电视设备接收大数量电子节目指南信息的实现方法
US10003669B2 (en) * 2015-07-28 2018-06-19 DISH Technologies L.L.C. Methods and apparatus to create and transmit a condensed logging data file
EP3280079A1 (en) * 2016-08-04 2018-02-07 SmarDTV S.A. Viewing data transfer using barcode or qr code

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1211219A (en) * 1982-06-30 1986-09-09 Hideo Kuroda Digital data code conversion circuit for variable- word-length data code
JPS5987569A (ja) * 1982-11-11 1984-05-21 Toshiba Corp デ−タ自動連続処理回路
US4574382A (en) * 1983-10-05 1986-03-04 International Business Machines Corporation Variable length character code system
US4899148A (en) * 1987-02-25 1990-02-06 Oki Electric Industry Co., Ltd. Data compression method
DE3928175A1 (de) * 1989-01-21 1990-07-26 Nokia Unterhaltungselektronik Videoempfangseinrichtung
US5168356A (en) * 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
IT1245539B (it) * 1991-05-13 1994-09-29 Seleco Spa Apparato per la ricezione di informazioni in un canale televisivo.
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
US5420923A (en) * 1993-02-16 1995-05-30 Scientific-Atlanta, Inc. Addressed messaging in a cable television system
US5420639A (en) * 1993-04-01 1995-05-30 Scientific-Atlanta, Inc. Rate adaptive huffman coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616136B2 (en) 2005-01-26 2009-11-10 Qisda Corporation Message compression methods and systems
CN103457700A (zh) * 2013-08-20 2013-12-18 重庆邮电大学 Ndn/ccn网络中的数据包内容名称编码压缩方法
CN103457700B (zh) * 2013-08-20 2017-03-01 重庆邮电大学 Ndn/ccn网络中的数据包内容名称编码压缩方法

Also Published As

Publication number Publication date
KR19990022677A (ko) 1999-03-25
JP3299760B2 (ja) 2002-07-08
JP2001526004A (ja) 2001-12-11
WO1996041423A1 (en) 1996-12-19
PL327243A1 (en) 1998-12-07
CA2222293A1 (en) 1996-12-19
AU712114B2 (en) 1999-10-28
BR9609128A (pt) 1999-08-24
US5548338A (en) 1996-08-20
AU6146796A (en) 1996-12-30
EP0830740A1 (en) 1998-03-25

Similar Documents

Publication Publication Date Title
CN1193428A (zh) 电子节目指导信息的压缩
CN1166072C (zh) 用于数据压缩、传输、存储以及通信的方法、设备和系统
US7190287B2 (en) Method of generating Huffman code length information
EP1276324B1 (en) Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal
US6535642B1 (en) Approximate string matching system and process for lossless data compression
CN103858433A (zh) 分层熵编码及解码
US6700513B2 (en) Method and system for compressing and decompressing multiple independent blocks
JP2003179501A (ja) データ圧縮方法
CA2514832A1 (en) System and method for compression of wireless applications expressed in a structured definition language
US20090204626A1 (en) Systems and methods for information compression
CN103152054A (zh) 算术编码的方法和设备
US20110202509A1 (en) Efficient extraction and compression of data
US6748520B1 (en) System and method for compressing and decompressing a binary code image
CN102523444A (zh) 一种单色位图压缩方法及其系统
CN1126270C (zh) 使用可变长度编码器的传输系统
CN1549267A (zh) 使用降低复杂度的码表的解调装置和方法
US10931303B1 (en) Data processing system
US20060125660A1 (en) Digital data compression robust relative to transmission noise
US5745603A (en) Two dimensional context model obtained without a line buffer for arithmetic coding
US6411395B1 (en) Apparatus and method for conversion of data between different formats
JP3283150B2 (ja) データ圧縮・圧縮解除法
US7123174B1 (en) Image compression and decompression using adaptive run length encoding
Pic et al. Image storage on synthetic DNA using compressive autoencoders and DNA-adapted entropy coders
CN101119464A (zh) 显示系统、电传文字储存装置及其方法
Carpentieri Interactive compression of books

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1015568

Country of ref document: HK