应用文本数据压缩的 电视在屏显示系统 本发明涉及一种方法和一种装置,这种方法和装置非常适用于那些具有基于计算机的控制系统同时只有相对小容量存储器的一类电器消费产品的在屏显示系统。
复杂的装置正在越来越多地应用于电子消费产品,如电视接收器、卫星接收器、盒式磁带录相机(VCR)和摄像机等。在这些复杂装置提高了消费者对产品的满意程度的同时,这些产品的使用也越来越趋于复杂化。因此,“在屏”显示(OSD)系统也就越来越多地被用于这些电子消费产品,通过可视屏幕显示指令、状态和其它信息,由此便于消费者掌握产品的各种特点的使用方法。通常这种OSD系统显示文本菜单,可以有层次、有顺序地向消费者系统化地介绍产品特征的使用方法。
用于代表将被显示文本内容的数据是被存储在只读存储器(ROM)中的,该存储器即可内置也可外接至用于控制电子产品操作的微处理器上。文本数据可能占用很大容量的存储器,尤其是多级菜单的情况下。而存储容量地大小直接与成本相关,因此控制必须存贮的文本的大小,以使产品的成本限制在尽可能低是非常重要的。也就是说限制文本数据的大小,同时最大限度地利用可用存储器于控制动能是至关重要的。
我们知道文本数据压缩技术就是用于减小需存贮的文本的大小的。例如,文本数据通常是以一种叫做ASCII码的格式存贮的,每一个文本字符由一个唯一标识的8比特字或字节来代表。统计编码技术,例如霍夫曼(Huffman)编码,可被应用,这样代表每个常用字符的比特组就可以少于8位了。这种编码方法通常导致很高的压缩比率(压缩文本大小/原文本大小)。但是,经过压缩的文本数据却很难被解压缩(即译码),因为它已不再是ASCII码的格式了(即不再是8-比持字)。
另一种压缩技术使用常用字或词组字典。字典的每一条记录由一个唯一的编码字代表,如8比特组对应一个非ASCII字符,它将代替最终存贮的文本数据中的字或词组。
目前的发明源于这样一种观点,即文本压缩可以通过替代代表文本的第二个文本“串”(包括一个单独的字或一系列字)的文本数据的方法来获得,除了格式上的差异,它与第一个文本串完全相同,在这种情况下,通过一种格式转换码字,该转换码字指明如何改变第一个文本串来产生第二个文本串。这种格式转换的一个例子是大小写转换,不同之处在于,第二文本串是由小写字符或大小写混合字符组成的,第一文本串的大写字符版本。另一个例子,第二个文本串是第一个文本串(由小写字符或混合形式组成)的“标题”版本(即每个词的第一个字母为大写)。当某种编码,如ASCII码,其同一字母的大、小写字符由不同的8比特码来表示,被应用并且同一文本串的不同版本形式需要在一个或多个在屏信息中显示时,上述的文本数据压缩技术是非常有益的。
本发明的另一个特点是,我们上述参考的大小写文本压缩技术还可以同其它文本数据压缩技术相结合,如字典文本数据压缩技术。
本发明的各个特征将结合附图来说明。
在附图中:
图1是一个具备依据本发明的一个方面构造的“在屏”显示(OSD)系统的电视接收器的方框图。
图2是一个流程图,它说明了如何检索文本数据、解压缩文本数据,使其与图1的OSD系统要显示的文本含义保持一致,这是依据本发明的另一个方面。
图3是一个流程图,它说明了如何将要存贮在图1所示的OSD系统中的文本数据进行压缩处理,这是依据本发明的另一个方面。
图1显示的电视接收器包括一个输入1,用于接收多个视频信号,输入选择单元3,用于从接收到的电视信号中选择出一个,并且从中分离出视频信号和音频信号,信号处理部分5,用于处理视频信号和音频信号,图像和声音输出7和9,用于输出经处理的图像和声音信号。分别由输出7和9输出的,经处理的图像和声音信号再分别送入显示单元11和声音再生单元13。
输入选择单元3和信号处理单元5的各种功能,以及通常所说的该电视接收器的各种“特征”,是由微处理器或微机15通过响应由用户控制单元17接收来的信号来控制的。用户控制单元17可以包含一个遥控发送器和一个遥控接收器(没有画出)。微处理器15包含一个中央处理单元(CPU)19,只读存储器(ROM)21,和随机存取存储器(RAM)23。ROM 21存贮控制程序以及用于控制电视接收器的其他数据,并且由CPU产生的地址字(A)来寻址。存贮在ROM 21的数据(D)送入CPU并在CPU中进行处理。RAM 23暂时存贮由CPU 19处理的数据。虽然ROM 21和RAM 23在图中显示为与CPU同在虚线框内的同一个集成电路中,而ROM 21和RAM 23中的任意之一或二者都可以做成独立的单元。
在图1所示的电视接收器中,可以做成一个“电视机装置”,即将显示单元11和声音再生单元13集中做在一个“装置”内部;或者可以做成一个盒式录相机(VCR),即将显示单元11和声音再生单元13做在一个外部相关电视装置中。在后一种情况下,图像和声音信号可以以基带信号的形式直接耦合到外接电视机,或者可以被调制到可以耦合到外接电视机的RF输入端的RF载波信号。电视接收器可以包含一个传统的电视接收器,来接收由地面广播站或电缆分布网发送的RF信号,一个卫星电视接收器来接收由地球轨道上的卫星发送的微波信号,或者一个电视接收器来接收由电话网发送的电视信号。
上述的每一种现代模式的电视接收器都具有大量可由用户控制的相当复杂的控制功能和特征。为了便于用户使用这些功能和特征,图1所示的电视接收器包含了一个字符产生器25,它可以产生有代表意义的信号字符,使显示单元11显示出能够指导用户操作的文本指令、状态、及其它信息。字符信号被耦合到信号处理部分5,在那里被插入到被连接的显示单元11的图像信号中。响应存贮在微处理器15的ROM 21中的文本数据产生字符信号,正如下面所要说明的。
每一次要显示的文本信息叫做一个文本“屏幕”。每一屏包含一系列文本串,它们可短至只含一个文本字或者长到几行。每一个文本字符由一个唯一的字符特征编码字来表示。通过一个例子,每一个字符可以用常用的8比特(一个字节)ASCII码来代表。显示屏的文本数据存贮在ROM 21的“屏幕”分区内。当需要显示某一屏时,相应的文本数据从ROM 21的屏幕分区中检索出来,然后转换成字符生成控制数据。字符生成控制数据积累在RAM 23的一个显示缓冲区中,然后送入字符生成器25。
用户操作过程中的一个控制操作可能会要求几个显示屏顺序显示,以满足各种控制功能和特征。例如,用户可能通过多级菜单引导操作,用户通过操作用户控制单元17上的操作键,这些分级菜单会逐个顺序显示出来。尽管这种OSD构造对于使得用户掌握大量复杂的功能和特征是极其重要的,却需要大量的文本数据。这就要增加ROM 21的大小(也就增加了成本),或者限制控制功能可用的存贮空间,或者二者。
正如早先提到的,可用统计文本数据压缩技术来减小需要存贮的文本数据的大小。这些技术利用了这样一种共识,即用于引导用户使用电视接收机的各种功能和特征的屏幕显示中,通常会包含一些共同常用的文本串和子串。举一个例子,最频繁使用的文本串的文本数据可以以不压缩的形式存贮在ROM 21的“字典”分区中。每个字典记录由一个唯一的、不对应任何字符表示(如ASCII)码字的字典记录条目表征码字来标识。每一次在屏上遇到某一字典条目时,它就由相应的字典条目表征码字来代替。字典条目表征码字对应该条目在ROM 21的字典分区中的存储器单元中的地址,ROM 21中的字典分区中存贮着未压缩的,代表各种最常用的文本串的文本数据。在组装一个显示屏的文本数据时,每次遇到一个ROM 21屏幕分区中的字典条目表征码字,相应的ROM 21字典分区中未压缩的文本数据也被读出来。由此,ROM 21中用来存贮文本屏的空间可以显著减少了。
尽管统计数据压缩技术减小了需存贮的文本数据的大小,仍需要有办法进一步压缩数据,以最大限度利用可用于其它控制功能的存贮空间,而使得电子消费产品的各种应用所需的存贮器大小降至最低(也使其成本降至最低)。本发明利用这样一个有利事实,引导用户使用电子消费产品(如电视接收器)的屏幕显示中包含一些文本串和子串,这些串除了格式上不同是完全等同的,例如全部大写字母的用法,用来有选择性地强调或加亮不同显示屏的这些串或子串。更具体地说,本发明利用一种特殊的格式转换码字来表示格式变化,例如一个从小写成混合格式转换成大写形式的转变。在这一点上,可以注意到,在ASCII码中,同一字母的大、小写形式是用两个不同的码字来表示的。格式转换控制字紧挨,例如紧跟在表示第一个文本串的文本数据后面存贮,以表示除格式不同以外实际与第一个串完全等同的第二个串。每当遇到格式转换码字,表示第一个串的相邻文本数据就被转换成表示第二个串的文本数据。这样,不需要存贮表示每个字符的小写或混合的第一个文本串的文本数据,同时也不需要存贮第二个文本串的大写形式数据,只需要存贮要显示的第一个串本身的每一个字符的文本数据和要显示第二个串的格式转换码字。从数学上讲,这就意味着如果每一个第一个和第二文本串包含N个字符,那么只需要存贮N+1个字节,而不是用2N个字节来存贮两个串。
尽管格式转换码字只用于ROM 21的屏幕分区的文本数据,本发明的另一方面还涉及在ROM 21的字典分区利用格式转换码字,以进一步减少需存贮的文本。
下面的列表表明了根据本发明的一些文本数据压缩的例子。表中使用了如下编码符号:
×××表示代表该文本串×××的文本数据。
[UI_×××]表示对应“×××”文本串的8-比特字典条
目码字。
[UPPER_NEXT]表示1字节格式转换码字,用对于说明
该文本下面的文本数据应由小写或混
合形式转换成大写形式。
—表示字标号中的一个字符位置。
例子 未压缩的文本数据 压缩后的文本数据
1 Antenna_A [UI_Antenna]_A
2 Antenna_B [UI_Antenna]_B
3 未压缩
4 ANT[UPPER_NEXT]Ant
5 Audio [UI_Audio]
6 AUDIO [UPPER_NEXT][UI_Audio]
7 AUDIO PROCESSOR [UPPER_NEXT][UI_Audio]
Process[UI_or]
例1和例2是指对经常用到的“Antenna”一词进行字典式压缩文本数据。按照例1所讲,当在ROM 21的屏幕分区中所存贮的文本数据中遇到字典条目码字[UI_Antenna]时,对ROM 21的字典分区中包括未压缩的代表“Antenna”一词的存储器单元寻址,因此该文本数据的内容就被检索出来,并且用于产生表示“Antenna”一词的字符生成控制数据。接着,遇到未压缩的代表字母“A”的文本数据时,就直接生成字母“A”的字符生成控制数据。文本串“Antenna A”就以这种方式被显示出来了。例2中所示显示“Antenna B”的过程与例子1同理。
例3和例4涉及不涉及字典条目时,使用格式转换控制字将小写或混合形式转换成大写格式。在例3中,代表“Antenna”一词的简写形式“Ant”是较少在屏幕上用到的,因此它没有字典条目。在例4中,为了表示“Ant”一词的大写格式“ANT”,可紧挨在代表“Ant”的未压缩文本数据的前面用一个大写格式转换码字[UPPER_NEXT]。但是,根据“ANT”一词在屏幕上可能用到的次数和长度,并且它也只含3个字符,因此直接存贮“ANT”本身的文本数据更为实际。
例5和例6涉及当使用字典条目时,用于将小写或混合形式转换成大写格式的格式转换控制字的使用。由例5看到,“Audio”一词在屏幕显示中经常用到,因此它有一个字典条目。在例6中,为了表示“Audio”一词的大写格式“AUDIO”,可紧挨在表示“Audio”一词的字典条目码字[UI_Audio]之前用一个大写格式转换码字[EPPER_NEXT]。
例7涉及当既有字典条目中所包含的字,又有不包含的字时,用于将小写或混合形式转换成大写格式的格式转换控制字。“Audio”一字和后缀“or”都是在屏幕显示中常用到的,因此它们各自有一个字典条目码字[IUI_Audio]和[UI-or]。而“Process”一词却不常用,因此它没有字典条目码字。[UI_Audio]Process[DI_or]表示文本串“Audio Processor”,而[UPPER_NEXT][UI_Audio]Process[UI_or]表示文本串“AUDIO PROCESSOR”。
大写格式转换码控制码字[UPPER_NEXT]会使得直接代表某文本串(若需要,在ROM 21的字典分区检索出之后)的随后文本数据中的,代表每一个字母的字节都转换成该字母的大写格式的字节。因此就需要确定代表一个完整的文本串的文本数据的结束位置。一个文本串的结束是用ROM 21屏幕分区中的文本串结束码字(例如,十六进制码O)来表示的。但是,文本串结束码字并不用于ROM 21的字典分区。而是为每一个字典条目中存贮了包括在文本串中的字节(字符)数,从而通过计算已处理的字节数来确定的该文本串结束的位置。文本数据解压缩过程的各个方面的细节,将在图2所示的ROM 21中存贮的控制程序的文本数据解压缩部分的流程图中体现出现。
正如前面提到过的,将要显示的信号是由包含一个或多个文本串的屏幕形式组成的。各屏显示信息的文本数据存贮在ROM21中。当某一屏的内容要被显示时,该屏的各个文本串的文本数据将由屏幕控制程序(在图2中的一个方框中表示)顺序处理,直到所有文本串的文本数据全部被处理完。屏幕控制程序每一次从ROM 21的屏幕分区中读出某一个文本串的文本数据的一个字节,然后根据文本解压缩程序进行处理(在图2的其余部分表示),直到遇到该文本串的结束就表明这一整串处理完了。一个文本串的结束是由专门的文本串码字来表示的。接下来就是继续处理下一个文本串的文本数据。
下一个将要处理的字节在001步被检索出来,并且在002步判断它是否是一个控制码字。若它是一个控制码字,则该字节将在003步被检查,以判断它是一个大写格式转换控制码字还是一个字典条目码字。若该字节被检测确定为一个大写格式转换码字,则在004步设置大写格式标志指示这种情况,然后在001步继续检索下一个字节。如果该被检测的字节为一个字典条目码字,则先将ROM 21屏幕分区的下一个字节的地址存入一个串指针寄存器中,并在005步确定出相应的文本串在ROM 21字典分区中的地址以及它的字节数(字符)。存贮ROM 21屏幕分区的下一个字节的地址是有必要的,因为CPU 19的同一个地址寄存器同时用于ROM 21的屏幕分区和字典分区。将要从也是存贮在ROM 21的字典分区中的一个查找表确定该文本串的地址及其字符数。接着,在006步设置一个字典条目标志,以表明该码字是一个字典条目码字,然后在001步继续检索下一个字节。
如果被检测的字节不是一个码字(002步)。就要在007步判断它是否为某个字典条目的一部分。这是通过检查字典条目的标志状态来完成的。若被检查的字节是某字典条目的一部分,则在008步,将存贮该字典条目字节数的字符计数寄存器的内容减1。接着在009步,通过检查字节(字符)计数寄存器的内容是否为0,来确定是否到达该字典条目的结尾处。如果已到了该字典条目的结尾,则在第010步将串指针寄存器的内容用于设置地址寄存器,以指示ROM 21中屏幕分区的下一个字节。若没有达到该字典条目的结尾(009步),或者在地址寄存器的内容已被置为指示ROM 21屏幕分区的下一字节后(010步),需要在011步,通过检查是否已设置大写格式标志来判断代表该字典条目的文本数据之步是否为大写格式转换码字。如果已设置过大写格式标志,则在012步将该被处理的字节转换成在步骤012经处理的字母的大写格式版本。如果采用ASCII码或采用查找表的方式,这一步可以通过在该字节增加一个偏移量来完成。若该字节已表示一个大写格式则不再进行这种转换。如果未设置大写格式标志(011步)或者在经过大写格式转换之后(012步),则在013步生成用于字符生成器25的相应的字符生成控制数据。
如果被检测的字符既不是码字(002步)也不是字典末目的一部分(007步),则在011步立即确定该ROM 21屏幕分区中表示的文本串的文本数据之前是否为大写格式转换码字。如上面所述的方法,若大写格式标志未设置(011步)或者经过大写格式转换(012步),则在013步生成用于字符生成器25的该字符的字符生成控制数据。
相对于其它形式的数据压缩技术如霍夫曼解码来说,利用字典技术有几方面的优点。它利用易于识别和操作的文本数据。它允许透明传递未压缩的文本数据的文本数据解码子程序,因而免掉了在解码过程中对压缩的文本数据和未压缩的文本数据的区别处理的需要。这样计算步骤和处理时间都趋于减少。减少计算步骤(在实际数据压缩之外)使得其它控制功能和特征可以有更多的可用存贮空间。
格式转换控制编码和字典编码的结合,通过由于减少了文本串和子串的重复使用,因而增加了压缩效率。
将用于各种文本屏的文本数据存贮进ROM 21是在生产制造阶段完成的。可由一名计算机程序员手工操作完成文本数据压缩,由他来分析源文本并确定哪些文本串及子串经常出现,因而需放在字典中,哪些文本串及子串需要进行大写格式转换。另外,文本压缩也可以全部或部分地由计算机程序来完成。图3是一个计算机程序处理的流程图。
001步到003步及006步是自解释的。在第004步,有关去除那些不会使文本数据减少的字典条目,即要去除那些人出现一次或只含一个字符长度的条目。第005步用于估计相对于可用的字典条目码字的条目数量。例如,当采用8位码时,可能共有256(28)个不同的码字。在256个可能的码字中,128个用于ASCII码字符,其中包括用于混合格式文本串中需存贮的大写字母,以及一些ASCII控制字。因此,若字典条目的数量超过了128个,那么就必须去掉一些。要确定哪些条目需要去掉,就涉及计算该码字代表的文本串在屏幕显示中的出现频度,以及每个串所合有的字符数是多少。那些出现频度最低、含字符数最少的条目是要被去除掉的。
尽管本发明是按照一个电视接收器来描述的,应理解本发明也很适用于其它形式的电子消费产品,例如可视DISC唱机和可视游戏设备等需考虑成本即限制存储器容量的产品。因此,本发明可用于任何一种需要为帮助用户掌握使用该产品的各种功能和特征的方法而显示一定数量的文本信息、同时又要限制存贮容量的系统。
尽管本发明是通过文本压缩描述的,它利用格式转换码字代表从小写格式或混合格式文本到大写格式文本的转换,代表其它不同类型的格式转换的格式转换码字同样可以采用。例如,可以用某个格式转换码字代表文本串的每一个字的第一个字母应转换为大写字母以形成该文本串的标题格式版本。以相类的方式,可以用其它格式转换码字表示除大小写转换外的其它类型的格式转换,例如从不划线文本转换成下划线文本,从非斜体文本转换成斜体文本,或者从正常文本转换成加重文本等等。还可以用其它格式转换码字进一步实现字体类型和大小的转换。另外,所介绍的字典文本数据压缩方法是参考优选实施例描述的,其它类型的统计文本数据压缩技术同样可以采用。
尽管已参照将位于要转换的文本数据之前的格式转换码字描述了本发明,同样格式转换码字也可以置于将被转换的文本数据之后。
本发明所介绍的压缩技术中,某种文本压缩技术与另一种文本压缩技术结合使用,而文本数据压缩格式类型都可以相互独立使用。
尽管以上介绍的本发明的在屏显示(OSD)系统由同一显示设备将文本信息显示成一个可视图像,本发明也可用于由某显示设备主要显示操作信息的产品。
上述的提法以及其它修改内容必须考虑在下述权利要求限定的本发明的范围之内。