CN1567174A - 对象表示和处理的方法及其装置 - Google Patents

对象表示和处理的方法及其装置 Download PDF

Info

Publication number
CN1567174A
CN1567174A CNA031124011A CN03112401A CN1567174A CN 1567174 A CN1567174 A CN 1567174A CN A031124011 A CNA031124011 A CN A031124011A CN 03112401 A CN03112401 A CN 03112401A CN 1567174 A CN1567174 A CN 1567174A
Authority
CN
China
Prior art keywords
coding
code
input
mark
multilevel
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
CNA031124011A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CNA031124011A priority Critical patent/CN1567174A/zh
Priority to CA002526701A priority patent/CA2526701A1/en
Priority to US10/557,591 priority patent/US7724158B2/en
Priority to PCT/CN2004/000596 priority patent/WO2004109492A1/zh
Publication of CN1567174A publication Critical patent/CN1567174A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Abstract

多级标记和多级码编码方法,实现了对各种对象的编码,对象各种属性和方法的编码,对象结构和相互关系的编码,多级码编码方法能区分各种对象的编码,使编码资源无限大,解决了各种资源共享的问题。本发明提出了相关的处理方法,例如,对象的输入、输出、查询等。本发明还提出了有关装置的方案。本发明提出的方法和装置,可以广泛应用于各个地域,各个领域,各种软件,各种硬件。

Description

对象表示和处理的方法及其装置
1.技术领域
本发明涉及对象表示和处理的方法及其装置。对象采用编码或者标记的方式表示,其处理方法和装置是建立在对象表示的基础之上的。
2.背景技术
现有的编码方式,例如:文字的编码方法有:ASCHII、GB2312、GBK、BIG5、Unicode、国际10646标准等。所有这些编码为单级内码,本人在文献:ZL 94114104.7和ZL 96115997.9提出了多级内码的编码方案。单级内码和多级内码都属于单级码。
3.发明内容
本发明的目的之一:对象的多级码的编码方法;本发明的目的之二:具有多个特征对象的多特征码的编码方法;本发明的目的之三:对象的处理方法,特别是编码式输入对象的处理方法;输入、输出和查询等;在研究对象编码的过程中,如何区分多种对象的编码成为一个核心问题,通过对编码的标记位作标记可以解决这个问题,并且标记也是一种编码,从而出现了本发明的目的之四:对象多级标记的方法;在对对象序列标记的过程中,生成了矩阵,而这个矩阵恰好表示了对象的树形结构,从而出现了本发明的目的之五:由多级标记产生的树形结构的矩阵表示方法;本发明的目的之六:与上述表示和处理方法相对应的对象的处理装置。
对象的定义:行动或者思考时作为目标的事物,称为对象,对象是能够被感知的,图像、文字是对象,可以被视觉感知;声音是对象,可以被听觉感知;手机的震动可以被触觉感知。对象可以有一定的结构,一个对象可以有许多子对象组成。对象可以是静态的,也可以是动态的。对象可以有自己的属性,也可以有自己的行为或者动作。客观世界是由各种各样的对象组成,每个对象可以包含数据和代码,代码描述了对象可执行的一系列预定义的动作或者方法,而数据描述了对象的属性或者结构。
例如,字符,句子,文章;字段,记录,数据库;数学符号,公式,表达式,函数;图形,图像,照片,图片;音乐符号,歌曲;镜头,影视等都是含有信息的对象;还有,物理定律、化学符号、企业标记、花卉、流程、实验演示;各种数据结构、样式,模式等;都是对象。
知识也是对象,规则也是对象。
对象可以分为一维对象和多维对象。
对象可以是整体,也可以是组成整体的部件,例如:动画中的人物,与构成人物的各个部分。
对象可以用编码或者标记表示,标记或者编码也是对象。标记和编码可以相互转换。标记也是一种编码。
结绳记事、结绳记数是一种古老的标记或者编码的方法。
数字时代,标记和编码是通过数字实现的。最简单的标记可以为二进制的0,1;最简单的编码也是0,1。
多级标记和多级编码是一种全新的标记和编码。
3.1多级码(M code)编码
阅读本节时,可参考3.4节多级标记的相关内容。
最常用的编码是由二进制的位组成。
对象编码的主要困难有二:一是如何区分不同种类的编码,例如,对于文字的编码,有些文字字符的编码为1字节编码,例如英文;有些文字字符用2字节的编码,例如汉字;如何区分同样长度不同种类的编码,如何区分不同长度不同种类的编码。二是,编码空间的问题,例如2字节的编码资源最多为64K。
多级码是采用多级标记实现的对象的编码。由于多级码没有长度的限制,编码的空间是无限的,可以实现对各种对象的编码。由于多级码采用了多级标记,可以方便地区分不同类型的编码。
对象采用多级码编码表示和处理,对象的多级码编码的特征如下:
(1)对象的编码含多编码段,编码段由二进制的位组成;
(2)每个编码段含标记位;
(3)各个编码段的标记位用多级标记作标记。
对象的编码由编码段组成,编码段由二进制的位组成;例如:编码段可以是1个字节,英文字符的编码由1个字节组成,汉字的编码由2个或者更多个字节组成。
多编码段是指两个或者两个以上的编码段。
每个编码段中选择相应的位作为标记位;“相应的位”指标记位在各段中的位置是相同的,例如:在每个字节的第一位。
多级标记中的A,B标记,在这里是二进制的0,1标记。
按照多级码编码规则的编码,称之为多级码(M code),不按照多级码编码规则的编码,称之为单级码(S code)。因此,单级内码和多级内码都属于单级码。
多级码有多种类型,常用的有:链接式多级码、嵌入式多级码、组合式多级码、间标记多级码等。
简单的对象用1个多级码表示,复杂的对象用多级码的集合表示,这个集合可以具有一定的结构。
多级码编码使文字、数据、指针以及各种对象的编码,可以在一起处理。
在对象的编码中,最常用的编码段为字节。
多级码可以执行所表示的对象的有关运算,例如:多级码表示文字字符时,可以对多级码执行有关字符的运算,多级码表示矩阵时,则可以对多级码执行矩阵相关的运算,以此类推。
在多级码编码中,对于出现频度高的对象,可以采用较短的多级码编码。
数据或者指针可用多级码表示,分别称作多级码数据和多级码指针,相应多级码的长度由编码对象的数值范围确定。
多级码可以用来表示各种数据结构,例如,用多级码指针表示列表、树形结构、矩阵等,用多级码也可以表示结构中的数据。多级码可以用来表示对象之间的关系等。
3.1.1多种类对象的多级编码
为了方便地表示和区分不同种类的多级码,在多级码中可以设编码种类段。
多种类对象的多级码编码特征在于:
在多种类对象的多级码编码中,多级码可以由两部分组成,一部分为编码种类段,另一部分为对象的编码;对于由N个编码段组成且含有编码种类段的多级码,如果N>2,编码种类段或者含有下一个编码段为编码种类段的信息,或者含有下面的编码段的编码种类信息;如果N=2,编码种类段含有下一个编码段多级码的编码种类;编码种类段,也可以采用多个编码段,也可以用一部分编码段表示;
对于一个多种类对象多级码序列,按照某一方向扫描时,当由一个种类的多级码转换为另一种类的多级码时,用含有相应的编码种类段的多级码表示;如果之后的编码种类不变,则可以省略多级码中的相应的编码种类段;当某个编码长度的编码种类为默认的编码种类时,多级码中也可以不含编码种类段。
图1为具有编码种类段的2字节多级码示意图,多级码采用右0多级标记,第1个字节为编码种类字节,编码种类字节的高位为1,第2字节的高位为0。编码种类段说明第2字节编码的编码种类,例如:英文编码。
图2为具有编码种类段的3字节多级码示意图,多级码采用右0多级标记,其标记位为:1,1,0;第1字节为编码种类字节,表示第2字节是编码种类字节,还是表明后2个字节编码的编码种类,如果第2字节是编码种类字节,则表明1字节多级码的编码种类;否则,后面的2个字节就是2字节编码,其编码种类由第1字节确定。
当多级码的编码种类不能用1个编码段表示时,编码种类段可以用多个编码段,当多级码的编码种类较少时,编码种类也可以用1个编码段的一部分表示。
为了减少存储空间,在一个多级码序列中,如果能够确定多级码的种类,就可以省略编码种类段。如果仅对多级码序列由左到右扫描,按照上述方法省略编码种类段,则由右向左扫描时,就可能出现编码种类无法确定的情形。使用上述方法时,要看是单向扫描,还是双向扫描;如果要能实现双向扫描,可以在编码种类改变的前1个多级码,和改变的第1个多级码中保留编码种类段。
3.1.2单级码和多级码的转换
如何使多级码与现有的编码兼容,也就是说,如何实现多级码和单级码的相互转换是一个非常重要的问题。
对象的单级码编码采用多向转换操作转换为多级码编码,对象的多级码编码采用单向转换操作转换为单级码编码;
多向转换和单向转换的依据是单级码和多级码的关系,其关系如下:如果某种类对象单级码的编码由N个字节组成,N>=1;其中,如果有M个字节没有标记位,则这个编码可以用2M个种类多级码编码表示,增加1个多级码编码种类字节,多级码编码种类字节中含有2M个不同的编码,每一个编码可以与2M个种类的多级码中的一个相对应;如果由N个字节组成的编码有J个种类的单级码编码,每个种类对象的单级码可以分别用K1,K2,…Kj种多级码表示,则在多级码的种类字节中要表示出S=K1+K2+…+Kj种多级码,如果多级码种类字节无法表示时,可增加多级码中种类字节的数量;
多向转换操作步骤如下:
(1)识别单级码的编码种类;
(2)根据单级码的种类和与其相应的多级码标记位的值,选取相应的编码种类字节;
(3)将单级码作为多级码的编码部分,并使其符合多级码的编码要求;
(4)编码种类字节和多级码的编码部分组成了单级码的多级码;当编码种类可以根据上下文确定时,可以省略编码种类字节;当组成的多级码与其他不含编码段的多级码编码等长时,可以再增加一个编码种类段,它含有原来的编码种类段为编码种类段的信息,依此类推;
单向转换操作的步骤如下:
根据多级码中的编码种类字节与单级码编码的对应关系,以及多级码中的标记,将多级码的编码部分恢复为原来的单级码编码;如果含有编码种类字节,去掉相应的多级码种类字节。
单级码编码中,常常将1个字节的某1位作为标记位,例如:英文编码为1字节编码,其高位为标记位,其值为0;汉字的GB2312编码用2个字节,每个字节的高位为标记位,其值为1;汉字的GBK编码,第1字节的高位为标记位,第2字节没有标记位。单级码中标记位的有无,影响到转换成多级码的种类。
首先分析现有的1字节编码。对于高位为0的编码,例如,英文,可以用一种1字节多级码表示,对于即包含高位为0,又包含高位为1的编码,也就是说,没有标记位;可以用两种多级码表示。为了区分编码的种类,需要在前面增加1个字节,称为编码种类字节,如果采用右0多级标记的多级码,则编码种类字节的高位为1,第2字节的高位为0。如图1所示。
编码种类字节,可以表示128种文字的编码,第2字节是该文字的编码,保存时,可以仅保存第2字节,即仅存单级码;但是,对于编码改变的情况,要恢复原来的编码。
其次,分析现有2字节编码。以汉字编码为例,GBK可以分成两部分,一部分两个字节的高位均为1(GB2312属于这部分);另一部分,第1个字节的高位为1,第2个字节高位为0。因此,中文的GBK可以用两种多级码表示,一种对应于第2字节高位为1的,一种对应于第2字节高位为0,同样,Big5码也可以用两种多级码表示。2字节编码还可能是其他的编码。
为了区分不同种类的多级码,在2字节编码的前面,增加一个编码种类字节,其作用:表示第2字节是编码种类字节,还是表明后2个字节编码的编码种类,如果第2字节是编码种类字节,则第2字节表明,1字节多级码的编码种类;否则,后面的2个字节就是2字节编码,其编码种类由第1字节确定。3个字节多级码如图2所示。
同样,如果原来是3字节编码,则可用4字节的多级码表示,以此类推。因此,多文种混合使用时,通常多级码要比现有的编码多一个编码种类字节。很显然,这种方案的编码空间不受限制。
在文字串中,从左到右,第一次编码种类发生改变时,改变后的第一个多级码中含有编码种类字节,以后如果编码种类不变,多级码中省略编码种类字节。
如果需要双向访问,则第一次编码种类发生改变时,改变后的第一个多级码和改变之前的第一个多级码中含有编码种类字节。
上述多级码编码方案中,当某个编码长度的编码种类为默认种类时,多级码中可以不含编码种类字节。
多文种的混合使用也可以采用对象外标记实现。
Unicode的编码与Huffman编码思想冲突,极少使用的字符与常用汉字、与英文具有相同的编码长度。
Unicode编码中不同编码种类,不是根据标记,而是根据在编码空间中的区间。
现在,多文种采用Unicode编码,编码长度均为2字节。采用多级码时,由于1字节编码的文字占多数,而且,基本上用1字节表示,2字节的中文编码,大约需2.0002个字节,所以,平均远不到1.5个字节。
在多级码与原来的编码不同时,为了使多级码与文字原来的编码相兼容,可以在多文种进入内存时,转换为多级码。例如,汉字在由外存调入内存时,转换为多级码,存储汉字于外存时,还可以存储为原来的编码。因此,汉字仅在内存中时为多级码,这种多级码可以称之为动态多级码。但是,为了保存用组合多级码表示的词,则应保存为多级码的形式,或者另外保存组合多级码中的多级标记。
多级码也可以完全与GB18030兼容,并很容易实现与GB18030的互相转换。
各种语言文字词组可以用多级码编码表示。
下面对其他对象的多级码编码,举几个例子。
数学符号采用多级码表示,可对数学表达式象文字一样编辑修改,可以进行扫描,根据所提供的运算方法,作出相关运算,得出相关结果。
一个数学符号对应于Font库中的一个图形,并且与其多级码相对应。为了实现数学符号的输入,可以采用输入码的输入方法,例如:输入码可以是数学符号名称,或者部分名称。输入数学符号的名称,根据输入码表,输入相应的数学符号的多级码。
处理数学符号就像处理文字一样方便,其大小和颜色的改变,编辑和修改等也一样方便。
同样,对于音乐符号、图片、帧、模式、数据结构等也是如此。多级码的编码方法,可以用于各种各样的对象。
由于最常用的文字是英文等字母式文字,其编码为1字节编码,且标记位为0;为了使多级码能与这种编码兼容,多级码应采用组代表为0的多级标记;又因为,中文的GBK,Big5等编码,都是第一字节的高位的标记为1,所以采用右0多级标记最容易与现有文字的编码相兼容。
对象组用多级码表示,对于实现对象组一级的存储和处理是非常重要的,例如,对于汉字,如果用多级码表示多字词,则可以实现词一级的处理。对象组除了用链接式多级码表示外,还可以采用组合式多级码或者嵌入式多级码表示。
3.1.3几种类型的多级码编码
多级码有多种类型,常用的有:链接式多级码、嵌入式多级码、组合式多级码、间标记式多级码等。
在对象的处理中,至少采用下列类型的多级码中的一种:
链接式多级码:多级码与对象在数据源中的位置相对应;
嵌入式多级码:多级码与其表示的对象嵌在一起,且能表示相应对象的界限;
间标记式多级码:多级码位于对象序列中,表示序列中相应对象的相关信息;
组合式多级码:对象组中各个对象的编码按照多级码编码方法,组合在一起。
链接式多级码,嵌入式多级码,间标记式多级码,组合式多级码;分别简称为链接多级码、嵌入多级码,间标记多级码,和组合多级码。
对于链接多级码,如果数据源中,只有一个对象,则数据源的位置对应于链接多级码的位置,如果有多个对象,则对象在数据源中的相对位置,对应于链接多级码的位置。这里一个对象中“一个”的含义,仅表示对应于一个多级码,而对象可以是各种类型的对象,也可以是多种对象的组合。链接多级码可以是相对于外部对象的多级码,或者相对于内部对象的多级码;或者既具有相对于外部对象,又具有相对于内部对象的多级码。这里的内部和外部是指在对象序列内部,或者外部。
当一个链接多级码对应于多个对象的编码时,则多级码通过相应对象的编码,与数据源中的对象相对应,这就是多级码的嵌套。例如:多字词的多级码,指向组成词的字,而字又指向字库相应的字形。
嵌入多级码中含有对象的界限信息,可以是对象的大小,或者长度,或者对象的范围。在被嵌入的对象中,可以有各种对象,也可以有各种对象的编码,还可以含有多级码,用来说明对象的其他信息,例如:文字信息,对象的方法信息等,所谓方法信息,例如:媒体的播放程序。
一个嵌入多级码可以保存为一个文件,一个含有嵌入多级码的序列,也可保存为一个文件。为了实现含有嵌入多级码的序列的双向访问,一个嵌入的对象块中,可以含有两个嵌入多级码。一个嵌入多级码也可以用多个多级码表示。嵌入多级码也可以嵌套。
嵌入多级码与链接多级码可以相互转换。
间标记多级码相当于多级码作对象间标记。例如:文本中,标记性语言(例如:XML)中、格式文本(例如:RTF)中,程序语言中,所使用的间标记。
以标记性语言和格式化文本为例,现有的XML、HTML,RTF等,其标记由字符组合组成,例如:<head>,<body>,<table width=#or%>等,M code用作间标记,可以有两种方式:其一,完全创建一套标记性符号及其编码,其二,保持与现有XML,HTML,RTF等的格式兼容,可以将多级码指向现有组合符号标记,如:<head><body>等。然后,建立一个多级码与组合字符标记的对应表,用输入字符的方法输入相应的多级码,该多级码显示相应的字符。对应于不同的输入方法,要建立相应的输入码表。
各种文本的格式的标记,各种程序语言的标记,都可以用类似的方法实现。
组合多级码:组合多级码是多个对象编码按照多级码编码方法的组合;组合时,首先确定组合多级码表示的对象的编码序列;然后,确定所采用的编码段及其相应的标记位;最后,将标记位采用多级标记标记。
例如:在GB2312中,每个字的2个字节的高位均为1,可以将两个字节作为一个编码段,组合多级码可以选任意1个字节的标记位作为多级标记位,例如:选第一字节的标记位作为多级标记位。这样,2字词的各字节的标记位为:11 01,3字词为:11 11 01。
例如:对于汉字的多级码,每个字的第一字节的高位为1,第2字节的高位为0。对于组词,用汉字多级码第二字节的高位作为组词的标记位,这样,2字词的标记位为:11 10,3字词为:11 11 10。对英文Word的成组,或者Phrase的成组,可以有多种选择。
由于组合多级码是将原来的编码进行组合而成,多字词可以认为是无限的,而组合多级码的编码资源也是无限的。
下面是中文组合多级码的两种编码方法:
如果组成多字词的汉字为两个字节的多级码,将组成多字词的汉字的组代表作为标记位,用组成多级码相同类型的多级标记标记。
如果组成多字词的汉字的2字节编码中,有一个字节具有标记位(如GB2312,Big5,GBK等),将组成多字词的每个汉字相应的标记位,用多级标记标记。
对象组也可用多级标记表示。对象组的组合多级码的标记位和对象组的多级标记相互转换方法如下:将组合多级码中相应的标记位提取出来存储在多级标记的存储空间中,就转换为多级标记;用相应的多级标记,替换组成对象组的相应的对象中相应的标记位,就转换为组合多级码。
一种文字的词的多级码用3个字节或者4字节表示,其编码空间就够用了;另一种方法,对于常用词用较短的编码,而对不常用的词用较长的编码。
3.1.4序列对象的多级码编码表示
一个由N个节点组成的序列,N>=1,每一个节点对应于一个对象,称之为节点对象,节点对象由M个子对象组成,M>=0;节点对象和子对象用多级码表示和处理。
子对象也是对象,也可以含有子对象。
下面对上述方案举例说明如下:
假设M=0,即节点对象没有子对象,一个节点1个对象。以影视为例;将一个影视片分成为若干片断,按照镜头或者内容等划分,一个影视片断可以作为一个节点对象,对应于一个链接多级码,一个片断中可以包含关于该片断的文字信息,可以含有多种文种。影视的多级码可以如同文字一样显示、编辑和修改,对编辑好的多级码序列可以用播放器播放。这样使得影视的编辑和修改变得容易的多了。
上例中,还可以是多部影视,一部影视对应一个多级码,多级码与影视之间形成了一种层次关系。例如:第一层,将一个多级码指向一部影视,第二层,将一系列多级码指向影视的片断,第三层,指向更小的片断等。
假设M>0,例如:一个节点对应于一个活动对象的一个镜头,节点多级码对应于节点对象,子对象的多级码对应于组成整体的部件,例如:动画中的人物,与构成人物的各个部分,假设,一个人物由活动部分和静止部分组成,为简单起见,仅由静止的身体和活动的手臂组成,则静止的身体可以用一个多级码表示,而活动的手臂用多个多级码表示,每一个手臂的多级码对应于一个节点,整个人则由一个身体的多级码和其中一个手臂的多级码组成,手臂的位置可以相对于身体的相对位置,而人的位置相对于空间的位置,因此多级码的组合,以及身体相对于空间的不同位置,就构成了一个动态的人物图像。当N=1时,就是一个静止的图像。
数字人可以采用上述方法描述。
对于音乐、歌曲、录音等都可以按照上述方法处理。
上述多级码可以是各种类型的多级码。
采用链接多级码,就相当于多级码作为对象的外标记。这时多级码指向数据源中的对象,例如:表格的行或者列,指向函数,公式,实验,文章、歌曲、语言库,词典等。
多级码作外标记类似于OLE中的link,类似于文字内码指向各种语言的字形库;多级码可以有层次结构的特点,还可以同文字一样参与编辑和修改等操作。
链接可以分为两种:相对于外部对象的链接和相对于内部对象的链接。相对于外部对象的链接,是指链接多级码指向序列外部的数据源的对象;相对于内部对象的链接,是指链接多级码指向序列内部的对象。
如果采用嵌入多级码,仍以影视为例,将一个影视分为许多片断,每一个片断在其前面或者后面,至少含有一个嵌入多级码,嵌入多级码含有片段长度信息;片断中可以含有片段的其他信息,例如:显示所对应的文字信息、图标、播放用的程序等。如果每一个片断的前面含有一个嵌入多级码,则可以由前向后浏览和查询各个片断,如果,每个片段的后面也含有一个嵌入多级码,则还可以从后面浏览或者查询各个片断。
将影视的各个片段相应的嵌入多级码类似文本一样地编辑和修改,可以调用其播放程序,对其播放;也可以对多个影视片进行编辑和修改,这时,区别不同影视片的是影视片相应的多级码种类。这种方式类似于OLE中的embedded,但是,更加灵活和方便。
对二进制的信息,如通讯信息,不仅可以用多级标记标记,还可以用多级码标记,从而可以根据多级码的信息,判断传输信息是否有误,如何纠错等。多级码可以作为信息传输中的外标记;将这些多级码与传输的信息分别发送和接受,以帮助判断和纠正传输中的错误。
在一个二进制信息序列中,按照某种规则将其分段,用多级码对段标记,多级码中含有相应段的信息。
3.1.5多级码编码用于数据压缩
多级码编码用于数据压缩时,可以依据以下一个或者多个操作:
(1)如果被标记的对象为连续重复出现的对象,用多级码表示对象重复出现的次数;
(2)对于出现频度高的对象用较短的多级码编码表示;
(3)对于数值较小的对象用较短的多级码编码表示;
(4)建立与多级码相对应的序列的外部对象组库,在对象序列中用多级码表示相应的对象组;
(5)建立与多级码相对应的序列内部对象的对象组库,在对象序列中,用多级码表示相应的对象组。
多级码可用于各种数据对象的压缩,可以采用相对于内部对象的压缩,相对于外部对象的压缩,或者既含有相对于内部、又含有相对于外部对象的压缩。
可以采用的方法有:
根据数据的值选择多级码编码的长度,以减少空间;用多级码指针实现压缩信息的链接;根据对象出现的频度,选择多级码的长度,以减少空间;用多级码表示压缩的信息;选择适当的多级码码段等。
正确确定多级码编码段的长短是很重要的;太长了虽然多级标记所占的相对位数较少,但是无法使用较短的编码;太短了虽然能使多级码较短,但是,多级标记所占的相对位数较多。也可以采用不等长编码段组成多级码。
解决码段所占标记位多的问题,还可以采用多级码作间标记,多级码中可含有前面或者后面的编码段的长度及编码的个数。例如:表明之后的编码段的长度为2bits,10个编码段等信息。
中文压缩举例:汉字频度高的前127个汉字的频度=44.9683%;如果将这127个汉字,每个用一个字节的多级码表示,则,压缩率=45/200=22.5%;其中:100个汉字=200字节,100个汉字中含有45个为1字节的多级码。
如果,将常用的多字词用2字节的多级码表示,则压缩率更高。
在中文或者是其他文种的词或者短语的多级码中,常用词用较短的的多级码,而不常用词,用较长的多级码。
最简单的高位为0的字母式文字的压缩,可以用多级码压缩掉空格,例如,将每个word中的字符的高位改变为右0多级码,则空格可以去掉。
相对于外部对象的库也可以有多个库。
用多级码实现类似于RLE(run length limiting)的压缩。这种压缩方法可称为重复对象计数压缩法,多级码表示时,多级内码中含有重复的字符及重复的次数。
用多级码实现类似LZ-77对象的压缩。前面出现的信息,在后面又出现时,用多级码表示。
用多级码实现相对于外部词典的压缩,建立一个外部词典,多级码与其中的词条相对应,将被压缩的文本中,相应的词组,用多级码表示,其压缩效果是明显的。
用多级码实现相对于内部词典的压缩,由于多级码的长度是可以变化的,可以含有被标记的文字相关信息,例如:其位置,长度等,所以,可以根据当前被压缩的文本,生成一个相关的不等长词典,并且,该词典的大小也不受限制。这显然比LZW方法优越。
以上各种压缩方法可以综合使用。
对于非编码式数据压缩:例如图像和声音的压缩等,将数据分为block,称之为Frame,Frame可以用嵌入多级码表示,内部的数据可以是时域数据,也可以是频域数据,数据也可用多级码表示。对于序列Frame的压缩,Frame等重复的次数,用多级码表示。前面出现的Frame可以用多级码表示,后面的Frame可以用前面的Frame与两个Frame的差delta表示。
一种在某一空间顺序出现的对象,其对象用多级码表示,如果对象A与对象B顺序出现,B对象用A对象和B对象与A对象的差表示。
结构和数据分别压缩:将数据与结构分开存储,采用不同的方法压缩。
现有的各种算法语言中,当数据的类型确定之后,不论数据大小,就是定长的。采用多级码,则可以根据需要,选择不同长度的多级码表示数据。
将整型数设计为不等长,这样可以节省存储空间。例如:整型数用多级码表示时,每个字节去掉一位标记位,还有7位,还需一位符号位。这样,一个字节的整型数,只有6位保存数据,两个字节的整型数,16-2-1=13,则13位用来保存数据的大小,三个字节的整型数,24-3-1=20,有20位保存数据的大小。
数据或者指针用多级码表示,分别称作多级码数据和多级码指针,相应多级码的长度由编码对象的数值范围确定,
其编码步骤如下:
根据数据值的大小,是否有符号位,数据的表示方式,选择适当的编码段以及编码段的数目,选择标记位,对数据编码,其标记位用多级标记标记。
出现的频度高的对象采用较短的多级码,编码方法如下:
(1)选择适当编码段长度为N位;
(2)对一个编码段(N-1)的编码空间的编码用于频度最高的对象的编码,其标记位按照多级标记标记;
(3)取两个编码段,对两个编码段(2N-2)编码空间的编码赋予剩下的最高频度的对象,其标记位按照多级标记标记;
(4)编码段+1,重复上述编码过程,直到所有的对象编码完毕。
3.2对象的多特征码编码
众所周知,汉字存在多个属性,例如字形,发音和字义等;但是,汉字的编码仅仅对应于字形的编码,对于发音属性,许多汉字具有多个特征,即多个发音;这里的多个是指两个或者两个以上;在许多情况下,由于一个汉字编码可能对应多个发音,仅根据汉字的编码,很难确定多音字的正确发音。对于汉字的字义属性也是类似。
其他的对象也存在类似的情况,例如:影视的属性有声音、文字、图像等;又如:对于电影译制片,一部电影对应多种语言文字的版本;一出戏剧的多种唱腔、多套表演;一本书有多个翻译本;不同语言的同一种操作系统等。
当对象具有多个属性时,对象的编码往往根据某一属性编制。对于其他属性中的某个属性,可能存在多个特征。在许多情况下,对于某个属性下多特征的对象,需要根据对象的编码,去判断对象的特征。这往往很困难,这就是对象的多特征码编码出现的理由。但是,引入多特征码编码的前提是要有足够的编码资源,多级码的编码方法为此提供了充分的条件。
当对象的某一属性具有多个特征,而由其编码又难以确定该特征时,该对象可以具有多个编码,分别与各个特征相对应。这种对应于对象不同的特征,有不同的对象的编码,称之为对象的多特征码。
具有多个特征的对象,当对象的编码不与某个特征直接相对应时,增加相应特征的对象的编码,使其与该特征相对应,编码采取单级码或者多级码;在对象组中的该对象采用与其特征相应的编码表示,这种编码称之为对象的多特征码。
根据上述方法可以得出汉字多音字的特征码编码方案:
所述对象为具有N个不同发音的汉字,其中,N>1;除了原来汉字的编码之外,另外增加(N-1)个编码,分别对应于不同的发音;多字词中的多音字,用与该汉字在该词中的发音相对应的编码表示。
在ZL 96115997.9文献中,提出了多音字多级内码的编码方案;但是,在多字词中含有的多音字仍然用单级内码表示,为了解决多字词中的多音字问题,采用了多字词全音标注的词音库。例如:该文献中提出了:“词音库装置:查相应词对应的多级内码相应的全音”。
由于新方案中,“多字词中的多音字,用与该汉字在该词中的发音相对应的编码表示。”省去了词音库装置,这既保证了多字词发音的正确,又节省了存储空间,还节省了操作时间。
汉字中的多音字,多为常用字。《信息交换用汉字编码字符集(基本集)》共收汉字6763个,而多音字就有830多个,约占八分之一。多音字的使用频率高。在前十个高频字中,“的,了,不,和,大”都是多音字;“的”在文字中出现的频度约为百分之四。
多字词也存在不同的读音,例如:好事(haǒshì)、好事(haòshì)等。
包括声调在内,汉语中大约有1300个音节;但是,仅国标GB2312就有6700多个汉字,平均一个音对应5个汉字。
汉字多音字多特征码的编码可以采取下列方案:
具有N个不同发音的汉字,在增加的(N-1)个编码中,常用发音的汉字相应的多特征码编码与GB2312具有同样的位标记,即两个字节的高位均为1;不常用的汉字发音相应的多特征码编码与GBK中不含GB2312的部分具有同样的位标记,即其中第2字节的高位为0。
以上的编码方案,主要目的是使汉字的编码思想,与多音字的编码思想一致,以便在多级码的编码中,采用出现频度高的汉字,多级码的编码长度短,而频度低的汉字的编码长度长。但是,在ZL 96115997.9文献中,仅提出用不同的标记位,来区别多音字的多级内码,而没有考虑编码长度与频度的关系。
汉字新增加的(N-1)个编码可用多级码表示。多音词也可用多级码表示。
在上述编码方案,使多级码对汉字,多音字的编码统一起来。
汉字编码的全音是对汉字编码发音的一种标注。汉字编码的全音可以用两个字符和其声调信息构成,全音用两个字节表示。两个字节16位,一个字符用5位表示,5个声调用3位表示,还剩3位用于存储其他信息。
将汉语音节的信息,不包括声调,用双字母表示,即两个字母表示,双字母大小的顺序与音节的拼音的大小顺序完全一致,例如:将汉语音节的拼音由小到大的顺序排列,将双字母也按由小到大的顺序排列,用aa表示拼音a,用ab表示ai,用ac表示拼音an,以此类推。拼音与双字母的对应关系,称之为拼音双字母对照表。根据以上方法,将全音按照顺序设计,就形成了顺序全音。汉字编码的顺序全音是全音的一种形式。
汉字编码的发音信息用顺序全音表示,顺序全音用2字节表示,顺序全音的内容如下:
将汉语音节的拼音,不包括声调,用双字母表示,即两个字母表示,双字母大小的顺序与国家标准字典上拼音音节的大小顺序完全一致,拼音与双字母的对应关系,称为拼音双字母对照表,双字母的每个字母在全音中分别用5位表示,相应的五个声调用3位表示,全音的大小顺序与国家标准字典上的带声调的拼音顺序相同。
以上方案同样适用于注音。注音是汉语拼音之前所使用的汉字发音的标注形式,台湾地区仍然在使用。
在ZL 96115997.9文献中,仅提出全音的方案,由于全音与拼音的大小顺序不一致,因此无法用比较全音的方法,对汉字串进行比较。
根据不同的汉字编码标准,建立汉字编码与顺序全音的对应关系,实际上,这个表示由顺序全音序列组成,其顺序完全与其编码的顺序一致,因而,只要知道汉字的编码,就可以计算出顺序全音的位置,从而可以将顺序全音提取出来,然后将其转换成所需要的音码。音码是指:拼音、注音、双拼;还包括由语音转换的音码。
汉字顺序全音表是汉字编码与其顺序全音的对应关系表,由于汉字的顺序全音均为2字节,所以,汉字的顺序全音表是按照汉字编码的顺序排列的顺序全音表。
根据拼音双字母对照表,可以由顺序全音转换为拼音,由顺序全音中的声调,得到带声调的拼音。
可以建立注音与双字母对照表,从而实现顺序全音与注音的转换。
汉字的各种音码,如:拼音、双拼、注音等,与全音可以相互转换。根据拼音,双拼、注音的相互关系,可以生成相应的对照表,从而使三者之间相互转换。而拼音与顺序全音的转换可以通过拼音双字母对照表实现,从而实现了各种音码与顺序全音的转换。
根据汉字编码与全音的对应关系,输出汉字的各种音码,其步骤如下:
(1)根据汉字的顺序全音表,生成汉字编码相应的顺序全音;
(2)根据拼音与双字母对照表、或者注音与双字母对照表;和顺序全音中相应的声调,
生成相应带声调的拼音、或者注音。
下面讨论,汉字转换为语音的问题,在转换中包含以下装置:
(1)音库装置;全音音节相应的波形或合成参数的装置;
(2)全音索引装置:存放顺序全音相应的波形或参数在音库装置中的位置;
(3)转换装置:根据顺序全音计算该全音相应的索引项在全音索引库装置中的位置,取出该索引项中的地址项,得到音库装置中的位置,将全音转换为相应的波形或参数。
根据汉字编码与全音的对应关系,输出汉字的语音,其步骤如下:
(1)根据汉字编码与顺序全音的对应关系表生成相应的顺序全音;
(2)根据全音索引装置,查找顺序全音相应的波形或参数在音库装置中的位置;
(3)根据顺序全音计算该全音相应的索引项在全音索引库装置中的位置,取出该索引项中的地址项,得到音库装置中的位置,将全音转换为相应的波形或参数。
3.3对象的处理方法
对象的处理方法,例如:输入、输出、各种变换、传输等,无一离开对象的表示方法,对象采用多级码、多特征码、多级标记表示,其处理方法也与其表示方法紧密相连。
含有多级码的对象序列中,根据其编码种类段,确定其编码种类。例如,对于文字的显示,根据编码种类段确定的编码种类,到该编码种类字形库中提取相应的字形显示。对于嵌套的链接多级码,如多字词的多级码,一个多级码对应于一个多字词;首先根据其多级码,查找组成该词的字,根据字的编码,到相应的字形库中提取相应的字形显示。又如,对于文字语音的输出;首先,根据编码种类段确定编码种类,然后,到相应的标音库中提取与编码相对应的标音,根据标音到音库中提取相应的波形或者参数。对于对象的输入,根据不同类型的对象,不同的输入方法,在输入中得到对象的多级码,多特征码或者相应的多级标记。
对象的输入包括各种各样的对象,文字对象是常见的对象,另外还有:产品对象的输入,如洗衣机、相机等,商品名称,型号,生产厂家等,又如:图片、图像、影视、音乐等。
对象的输入码是为对象输入的编码,对象的编码是用于对象的各种处理用的编码;一般对象的输入过程是将对象的输入码,转换为对象的编码。为了区分输入码和对象的编码,输入码也称之为机器外码,而对象的编码称之为对象的机器内码。在本发明中,输入码也可以用于对象的查询、输出等处理中。
对象的输入可分为两种类型:非编码式输入方法和编码式输入方法。例如,对于输入键盘,如果一种文字的字符集的字符数量小于或者等于作为字符输入的键的数量,则键入一个键,就可以输入一个字符,这种输入方法称为非编码式输入方法。例如,英文在计算机键盘上的输入。如果一种文字的字符集的字符数量大于作为字符输入的键的数量,则键入一个键,不能输入一个字符,就需要采用编码输入;所谓编码输入,就是用键的组合输入一个字符或者一个对象。这时,需要建立一个输入码表,输入码表是输入码与字符编码之间的对应关系表,一种文字可以有不同的输入码表,一种输入码表,对应于一种输入方法;这种类型的输入方法,称为编码式输入方法,例如,汉字的输入。又如,在一般的电话键盘或者手机键盘上,输入英文字符时,由于键的数目小于英文的字母数目,这时,就需要编码输入;而对汉字而言,如果采用大的中文键盘,则汉字的输入就可以转换为非编码式输入。所以,一种对象是什么类型的输入方法,就要看其键盘与字符数的关系。
一种对象,当其对象的的数目大于输入键的数目,对象的输入需采用键的组合输入,也就是,通过对键的编码输入,这种输入方式称作编码式输入;一种对象,当其对象的的数目不大于输入键的数目,对象的输入采用单个键的输入,这种输入方式称作非编码式输入。非编码式输入的特征是:键与对象是一对一的关系。
采取编码式输入的对象称为编码式输入对象;采取非编码式输入的对象称为非编码式输入对象。
对象的输入还可以采用图像或者声音的方式输入,图像方式包括笔输入和OCR等,声音方式包括语音和其他声音等。图像输入和声音输入是将对象输入转换为与对象相对应的特征;然后根据这些特征,输入要输入的对象。实际上,这里也需要一个输入码表,该码表也是输入码与对象的对应关系表,这里的输入码是用图像或者声音转换的特征作为输入码。所以,图像和声音输入也是编码式输入。
图像和声音输入也可以为非编码式输入,例如;在语音输入中,如果选取一些音节,这些音节的语音转换不存在歧义,输入一个音节的声音,就输入一个音节对象,音节的声音与音节对象是一对一的关系;因此,通过语音实现的音节的输入就属于非编码式输入。由音节组成的文字就可以用编码式输入方法输入,其输入码可以由音节组成。
大量的单级码、多级码、多特征码相应的对象为编码式输入对象。例如:嵌入多级码可以根据其中的文字输入,查找等,相应的文字就可以作为对象输入的输入码。
对象的输入码是根据对象的某些属性确定的。例如,汉字的输入采用音码,就是根据汉字的发音属性;汉字输入采用的形码,是根据汉字的字形属性。当然也可以将几种属性相结合。由于汉字多音字的存在,汉字语音的输出,拼音的输出,采用音码汉字的输入和查询,都存在严重不足。
编码式输入对象的处理方法如下:
编码式输入对象的对象输入码表中仅含单个对象的编码与其输入码的对应关系,当输入码的排列顺序与对象的编码顺序完全相同时,输入码表中仅含按照对象编码顺序排列的对象的输入码;数据中的对象用单级码或者多级码表示,在对象的处理中包含由对象编码到输入码的生成,即根据对象输入码表,生成数据中相应对象的的输入码;如果对象输入方法采用的属性存在多个特征,对存在多个特征的对象采用多特征码编码,消除对象编码生成输入码时存在的歧义。
在上述方法中,关键是“在对象的处理中包含由对象编码到输入码的生成,即根据对象输入码表,生成数据中相应对象的的输入码”,在对象的输入中,所述“生成数据中相应对象的的输入码”中的“数据”,为对象组库中的对象组;或者,用来输入对象的数据源中相应的对象;在对象的查询中,为被查询的数据源中的对象。
输入码可以是通过键盘输入的输入码,也可以是由图像或者声音转换的输入码。
基于以上方法,可以实现对象的输入,还可以实现对象的输入码查询,以及输入码的输出。
在编码式输入对象的输入、查询或者对象输入码输出的处理中:
输入或者对象的查询操作步骤如下:
(1)输入要输入或者要查询对象的输入码;
(2)扫描相关数据源,根据对象的输入码表,生成对象编码相应对象的输入码;
(3)将生成的输入码与输入的输入码相比较,根据比较结果,得出输入的对象或者要查询的对象;
对象输入码的输出操作步骤如下:
扫描数据,根据对象输入码表,生成对象编码相应对象的的输入码;
以上处理中,可以包括多个输入方法的输入码表,包含一个或者多个对象数据源,如果比较结果候选的对象组或者对象重码较多时,则可输入对象另外输入方法的输入码,从符合多个输入码表的对象或者对象组中,选择输入或者查询的对象。
上述“对象输入码表中仅含单个对象的编码与其输入码的对应关系”,意思是输入码表中不含对象组的输入码,因为对象组的输入码可以用所组成的对象的输入码表示,处理中可以使用对象组表,但是对象组中不需含对象的输入码。
上面所说的“数据源”,是指在输入中除输入码表以外的数据源,例如对象组表等;在查询中包含被查询的数据源。
对象组表可以取自输入方法提供的对象组表,也可以取自含有对象组的其他数据源。数据源可以为数据库,文本,网页、含有文字信息的图像、声音、影视等。
为处理方便,输入码表可采用等长的表。当对象的输入码实际上不等长时,可以转换为等长。这可采用类似于全音或者顺序全音的表示方法。
将对象的输入码信息压缩成等长,当输入码与对象编码排列顺序完全相同时,输入码表为仅含输入码的表。
在查询中,可以用文字的组合多级码或者多字词(词组)的多级码查询。
在电话或者手机上输入英文时,可以采用编码式输入对象的输入方法。
以下是上述方法在中文输入、查询、输出等处理中的应用。
所述对象为汉字,输入码表为汉字编码相应的顺序全音按照汉字编码顺序排列的表,
汉字编码的顺序全音由两个字节组成,其中含有双字母表示的拼音(或者注音,双拼),和声调;双字母大小的顺序与汉语音节的拼音顺序的大小完全一致,声调包括5个,其大小与标准字典顺序一致;双字母各用5位表示,3位用来表示声调;顺序全音的大小顺序与标准字典带声调的拼音的顺序完全一致。
中文信息内码串的比较,可采用顺序全音比较的方法,两个内码串的比较过程如下:
A.分别提取两个内码串相应的顺序全音串;
B.对两个全音串作比较;
根据全音的比较结果,得出两个内码串的比较结果。
中文的输入、查询可采用音码,音码可以是拼音、注音或者双拼,音码可以由键盘输入,也可以由语音转换而成;借助于顺序全音,可以输出中文信息的音码。
下面介绍上述方法的优点,以图书的汉字编码的著者查询为例:数据库中含有著者字段,输入要查询的著者姓名的输入码,比如拼音,将输入的拼音转换为顺序全音串,根据著者字段的姓名,以及顺序全音输入码表,生成相应的顺序全音串,将两个顺序全音串相比较,将符合要求的著者显示出来,供用户选择。采用同样的过程,可以实现姓名的输入;由于任何数据源都可以作为输入词库,因此可以定位到所需的数据源,例如,数据库的著者字段;这样可以大大提高输入速度,也大大提高查询速度。
由于可以采用多级码表示对象组,因而所有对象的处理都是在对象组一级。对于文字对象,就是在词一级。例如,中文的处理原来是在字一级上进行的,现在可以在词一级上进行。对于查询而言,大大提高了查准率和查全率。
由于采用了多特征码,进一步提高了处理的准确性。例如,由于采用了多音字的多特征码,使汉字用音码查询成为可能,并带来了巨大的优越性。
非编码式输入对象的查询,对象的编码由字符组成,可以直接键入字符查询。
但是,对于编码式输入对象的查询,现有的方法分为两步:第一步,将输入码转换为对象的编码,第二步,用转换的对象的编码与数据源中的编码相比较。
对于编码式输入对象的查询,采用上述技术,可以不将输入码转换为对象的编码,直接用输入码到数据源中查询,在查询过程中将数据源中对象的编码转换为输入码,然后将转换的输入码与输入的输入码相比较。
要实现输入码查询,关键是要提供一个输入码表,而且对象编码的输入码不存在歧义。实现的方法是采用多级码编码,或者采用多特征码编码。
用输入码查询可以方便的实现多文种的检索:输入一种文字,将其译成另一种文字,查询完后,再翻译成原来的文种。两种语言可以通过中间语言进行查询和翻译,例如:中文查法文,先将中文翻译为英文,再译为法文,查询之后,将信息翻译为英文,再翻译为中文,最后返回用户。
输入码查询可以方便地在一种语言文字,但不同内码中的数据源中查询,例如:GB2312,GBk,BiG5等;由于不是同一种内码,如果不用输入码查询,用内码查询,必须将输入码转换为相应种类的内码。如果用输入码查询,虽然文字编码不是同种类型的编码,但由于汉字的发音是相同的,对一种文字不同种类的编码,其输入码是一样的,只要提供不同种类编码相应的输入码表即可,例如不同种类内码的全音输入码表。
输入码查询速度快,其原因有:第一,不用将输入码转换为内码,不用两步,只一步;第二,查询可以与输入并行,原来为串行;第三,查询词库为广义的词库,所谓广义词库,是指任意数据源的词都可以是词库中的词,词库多;但是,歧义却很低,因为词库的针对性强。
语音查询分为两步,第一步,将对象的语音信息转换为输入码,第二步,用转换后的输入码到数据源中查询。
中文对象语音查询中,先将中文语音转换为音码,然后用音码查询。
下面,进一步对编码式对象的输入进行分析。
编码式输入对象是各种各样的,例如:文字、图像、声音等。例如,一段文字,可以用几个字符作为输入码输入。又如,间标记多级码、嵌入多级码,可以用相应的字符组合作为输入码,对象组和对象组的组合多级码,选取相应的文字字符作为输入码;又如,从一个图形集合中,输入所需的图形,也可以用字母组合输入。该类输入方法可以分为两步:第一步,如果文字字符是编码式对象,通过输入码,输入相应文字字符;如果是非编码输入的文字,则可以直接键入文字字符。第二步,用一个输入码表,这个码表含有文字字符的组合与输入对象相应的多级码的关系。如果对该类对象直接编制输入码,用输入对象的输入码输入对象,也可以一步完成。
上述输入码表为单个对象的编码与对象输入码的对应关系表,在输入过程中,可以设置或者自动生成对象组表,但是对象组表中不需含对象的输入码;当要输入对象组时,可以用输入码表中,将组成对象组的单个对象输入码依次输入;由于,输入码表中没有对象组的输入码,因而,对象组表可以有多个,且可以在不同的位置,可以以不同的形式出现,可以在不同的数据源中,例如:数据库中;因此,称之为开放式输入码表。
现有的输入方法中,一个输入码表中仅含一种输入方法的输入码,没有实现通过一个输入码表实现两种或者两种以上的输入方法,也没有同时使用两个或者两个以上的输入码表,实现对象或者对象组的输入。
通过两种或者两种以上的输入码,输入一个对象或者对象组,称为级联输入法。采用级联输入方法可以降低重码率。
“以上处理中,可以包括多个输入方法的输入码表,包含一个或者多个对象数据源,如果比较结果候选的对象组或者对象重码较多时,则可输入对象另外输入方法的输入码,从符合多个输入码表的对象或者对象组中,选择输入或者查询的对象。”就是一种级联输入方法。
级联输入方法,可以采用复合输入码表,这种输入码表中含有对象或者对象组与两种或者两种以上的输入码的对应关系;或者采用两个或者两个以上的输入码表,每一个输入码表为对象或者对象组与一种输入码的对应关系。
在复合输入码表中,如果一种输入方法的输入码为等长时,另一种输入码置于其后,不用加分隔符。
级联输入方法的特征如下:
编码式输入对象的输入,采用级联输入方法;在输入过程中采用复合输入码表,这种输入码表中含有对象或者对象组与两种或者两种以上的输入码的对应关系;或者采用两个或者两个以上的单输入码表,其中,每一个单输入码表为对象或者对象组与一种输入码的对应关系;级联输入方法使用两种或者两种以上的输入码,实现对象或者对象组的输入;输入步骤如下:
(1)入一种输入码;
(2)将输入码与复合输入码表对应的输入码比较,或者与相应的单输入码表中的输入码比较,根据比较结果,得出候选的对象或者对象组;
(3)如果候选对象或者对象组满足选择的要求,转(5);
(4)对象或者对象组的重码较多,再输入第二种输入码,在候选的对象或者对象组中,得出既符合第一种输入码又符合第二种输入码的对象或者对象组,以此类推;
(5)选出所需的输入对象或者对象组。
“选出所需的输入对象或者对象组”完成了输入码到对象编码的转换。
级联输入方法可以方便的应用于中文的输入中,例如:第一种输入方法用音码,例如:拼音、注音或者双拼;第二种输入方法用形音码,将汉字分解成两部分,每一部分用该部分的音码表示,这种级联输入可以大大降低重码率。
级联输入方法也可以用于输入码的查询中。
在应用多级标记的情况下,在输入过程中,可以存储与输入对象相对应的多级标记信息。
3.4多级标记(M Mark)
为描述一个对象,或者多个对象,或者描述对象的特征、相互关系、对象之间的结构、对象的区分、对象的成组等,可以采用标记,标记本身也是一种对象。
标记划分的依据不同,可以分为不同的类别。
标记按使用的符号可以分为:位标记,字节类标记、字符组合标记,编码标记等。
按标记所在的位置,标记可以分为:对象内标记、对象外标记,对象间标记。
对象内标记:在对象内部的标记称为对象内标记。例如,汉字编码中高位为1的标记。
对象外标记:在对象序列之外,对对象所作的标记。
对象间标记:对象的标记位于对象序列之中,对象与对象之间。
对象外标记、对象内标记和对象间标记可以相互转换。
A,B标记定义:用两种不同对象,A对象和B对象,对对象作标记,这两种对象分别称之为A标记和B标记。
这里两种不同的对象,是指可以区分的对象;因此,能作为A标记和B标记的对象很多。
具有互补,或者相反关系的对象,也常用来作为A标记和B标记;例如:逻辑运算中的真与假;集和补集;是英文字母,不是英文字母;某个数值以下和以上,是某个范围内的数据和不是某个范围内的数据,空和非空,左或右等;都可以用作A,B标记。又如:在B+树中,不存在数据的节点就是“空”,存在数据的节点,其数据可以具有不同的数目,例如有的节点含有2个数据,有的节点含有3个数据,不管是几个数据,都是不空,这也可用作A,B标记。
二进制中的最基本的两个对象:0,1用来作为A,B标记,分别称为0标记和1标记。
成组的定义:对一个对象序列,按照某种规则分成一组或者多组的过程,称之为成组。
如果在对象序列中,对多个连续的对象成组,称为连续成组;如果,对不连续的对象成组,称为非连续成组。
A,B标记的主要作用之一,是通过对对象序列作标记,使对象成组。
采用多级标记对对象序列中的1个或者多个对象作标记,多级标记是指右A多级标记,或者是左A多级标记,或者是右B多级标记,或者是左B多级标记;其标记方法分别如下:
右A多级标记:用A标记对1个对象作标记,其左面的N个对象用B标记标记,A标记称为组代表;
左A多级标记:用A标记对1个对象作标记,其右面的N个对象用B标记标记,A标记称为组代表;
右B多级标记:用B标记对1个对象作标记,其左面的N个对象用A标记标记,B标记称为组代表;
左B多级标记:用B标记对1个对象作标记,其右面的N个对象用A标记标记,B标记称为组代表;
其中,N可以为正整数,也可以为0。
对于非连续成组,在连续的对象中,含有不是该对象组的对象,则该对象既不含多级A标记,也不含多级B标记。
扫描一个对象序列,只有两个方向,这里的左右方向,包括了这两个方向。对于上下排列的对象序列,如果上对应为左,则下对应为右,不论对象序列排列的空间方向,都适用于左右。
举例如下:
右A标记举例:A,BA,BBA,BBBA,BBBBA
左A标记举例:A,AB,ABB,ABBB,ABBBB
右B标记举例:B,AB,AAB,AAAB,AAAAB
左B标记举例:B,BA,BAA,BAAA,BAAAA
对于右A标记,A标记为组代表;当用ABABBABBBBABBBA对一个对象序列作标记时,则被标记的对象中,第1个对象为1个对象组,后面2个对象为1组,后面3个对象为1组,后面5个对象为1组,最后1组为4个对象。多级标记中的组代表是分组的标记。
0,1标记也可以为二进制的0,1的不同组合。参看3.4.3多级间标记中,介绍的非连续标记的例子。
多级标记的四种类型可以相互转换。例如:在多级标记用二进制的0,1作为标记时,对右0多级标记的各标记取反,就转换成右1多级标记,反之亦然;对左0多级标记的各标记取反,就转换成左1多级标记,反之亦然;将右多级标记的第1个与最后一个交换,就转换成相应的左多级标记。实际上,当扫描对象序列,从左到右,多级右标记所具有的特征,与从右向左时,多级左标记所具有的特征相似。
成组可以采用任意一种类型的多级标记表示。
多级标记作对象内标记,对象间标记和对象外标记;分别称之为多级内标记,多级间标记和多级外标记。
3.4.1多级外标记
在一对象序列中,对象的标记位于被标记的对象序列之外,其特征是:由于它不会与被标记的对象混淆,其标记简单灵活。标记可以采取自底向上,或者自顶向下的方式进行。
下面以中英文混合文本为例,说明自底向上的多级外标记的方法。在多语言文本中,不同的文本采用不同的编码;不同的编码,其长度可能不同,不容易区分。为了区分不同类型的编码,可以采用多级外标记,下面以采用多级右1标记为例。每个字节的标记也用1个字节,称为标记字节。标记过程参考图3。
首先,分别用标记字节的第一个标记位,对每个字节作外标记,英文为一字节编码,标记位用1表示,汉字为2字节编码,分别用01表示。
下面,再作分词的标记。用第2标记位表示第一级词,例如由2字组成的词,第3标记位表示第二级词,例如由1字词和2字词组成的词,或者由2字词和2字词组成的词;假定,第4标记位表示句子,第5位表示段。一段就构成了1棵树。
最底一行为要标记的文字字符。
自底向上第2行,为对文字编码的标记,汉字由两个字节组成,所以,每个字及全角标点均为01,其中1代表这个汉字,英文字符均为1。
自底向上第3行,为词标记,由于组代表为1,所以在“汉字”词标记中,0和1分别对应于“汉字”两个字的“1”的标记位置,同样,对以下词作标记:“表意”,“文字”,“字母”,“语言”。”English”是一个词,所以,为0000001,同样,”is”是一个词,其标记为“01”。
自底向上第4行,为3字词和4字词的标记,“表意文字”由“表意”和“文字”组成,其“0”标记对应于第一个词的“1”标记,“1”标记对应于第二个词的“1”标记,“字母式”是由“字母”和“式”组成,其标记“0”和“1”分别对应于相应的词的“1”标记。
自底向上第6行,为句子标记。第一句,由“汉字”“是”“表意文字”“。”组成,其标记“0001“分别与之相对应。第2句“English”“”“is”“”“字母式”“语言”“。”7部分组成,其中“”表示空格字符,所以其标记“0000001”分别与这7部分相对应。
自底向上第6行,对两个句子作的标记,其标记“01”分别对应于两个句子。
显然,上述标记过程生成了一个矩阵,同时,这个矩阵表示了一种树形结构。
图3是对“汉字是表意文字。English is字母式语言。”,用右1多级标记的标记过程示意图,其标记结果为矩阵。
图4是图3多级标记生成的树的示意图。其节点分别表示字符,词,句子等。该图画成倾斜的形式是为了与以后要介绍的右矩阵相对应。
多级标记可以在文字输入过程中进行标记。
多级外标记可以转换为多级间标记,或者转换为多级内标记。
对于传输信息也可以加入多级外标记,例如:在一个通道中传输数据,另外一个通道中传输多级外标记。
外标记可用于交叉成组:例如:“照相机”的交叉成组;
每个字的标记位用三位,采用右0标记:
第一位:110为:照相机
第二位:100为:照相机
第三位:010,为:照相机
对象序列的成组用含有多级标记的矩阵表示,这种矩阵形式是树形结构的一种表示方法;矩阵的生成过程如下:
(1)对最底层的对象组用多级标记标记成组,生成矩阵的一行;
(2)对较上一层的对象组用多级标记标记成组,生成矩阵的上一行;
(3)重复第2步,直到标记完毕,矩阵生成完毕;
如果采用二进制0,1标记,该矩阵就是树形结构的逻辑矩阵;
将矩阵中多级标记中的组代表用相应的数据取代,就是树形结构的实体矩阵:
对对象序列按层次依次进行成组,每一次成组,都是对其相应的组代表的成组过程,树形结构的节点分别表示对象序列中的对象,和对象组。
3.4.2多级内标记
多级内标记可以用于对象的多级码的编码。对象的多级码是采用多级标记实现的编码方法。在要成组的对象或者对象组中,将多级标记加入被标记的对象内部,或者被标记的对象组内部,使其成为一对象组。
对象采用多级码编码表示和处理,对象的多级码编码特征如下:
(1)对象的编码含多编码段,编码段由编码位置组成;
(2)每个编码段至少有一个编码位置作为标记位置;
(3)各个编码段的标记位置用多级标记作标记。
多编码段是指两个或者两个以上的编码段。
按照多级码编码规则的编码,称之为多级码(M code),不按照多级码编码规则的编码,称之为单级码(S code)。因此,单级内码和多级内码都属于单级码。
多级码编码举例:
假定一个编码段由4个字节组成,A标记为26个英文字母中的任意一个,B标记为0,..,9中任意一个数字,采用右B多级标记,每个编码段的标记位置为第一字节;则下列编码为符合多级码编码条件的编码:
abcd 26ds;4hgd;gb3d ji34 2arf;
从上述例子可以看出,多级码的编码段的数目是不受限制的。第1个编码由2个编码段组成,第2个编码由1个编码段组成,第3个编码由3个编码段组成。
该多级码编码还有一个特点:字母和数字既作为标记,又是编码数值的一部分。这和二进制多级码是不同的,二进制多级码中的0,1标记,只能作为标记,不是编码数值的组成部分。
最常用的多级码编码是由二进制的位组成,每个为0或者1。这部分已在多级码编码一节中作了介绍,介绍的有关方法,也可以在这里应用。
编码段的长度可以不等长。例如;2,4,8bits,多个字节的编码等,只要约定各个编码段长度即可。
对英文WORD的成组,每个字母用内标记表示,其最高位原来为0,现将高位除最后一个字母之外均变为1,这样,由多级标记表示的字符串就是一个词。
时间序列的内标记成组,例如:
1  X  1  X  1  X  1  X  1  X  1  X  1  X  0  X
在上述8位数据中加入多级标记,组成一组,其中,X表示数据;如果,一组的标记出现错误,则数据出现错误的概率就高,否则就低。因此,用此种方法,可以分析传输的数据是否出错。
对象外标记可以转换成对象内标记,将词的外标记转换为相应的组合多级码的内标记,同样,汉字词的组合多级码中的内标记,也可以转换为相应的外标记。
3.4.3多级间标记
多级间标记是将多级标记加在被标记的的对象之间。多级间标记可以分为连续多级间标记和非连续多级间标记。
连续间标记举例:
  1   1   1   1   1   1   1   0   X   X   X   X   X   X   X   X
其中,X表示数据。11111110为连续的标记。最少可以是一位数据,一位标记,也可以是多位数据,多位标记。
在用多位标记时,多位标记的不同的位进行不同的成组,代表不同的含义。
以下是用2位作为非连续标记的例子,假设有4个英文的words,其中第一个word,第三个word,第四个word组成为一词组,为此,在每个word之前,分别加上以下标记:
11 10 11 00
凡是11为成组部分,10为非成组部分,00为成组结束,这里多级标记的1标记相当于“11”,多级标记的0标记相当于“00”。上述后面第一个word,第三个word,第四个word表示为一词组。
在非连续标记中,如果是右0标记,从第一个1标记开始,遇到既不是0,又不是1标记的对象,则该组中不含该对象,直到最后遇到0标记的对象,该组的成组结束,如果,0标记的前面也是0标记,则该组只含一个对象。这种方法也可以用于多级内标记和多级外标记。
采用多级标记可以将集合分段表示。集合用一段或者多段表示,每段含有标记元素,标记元素用多级标记表示。
在信息传输和通讯中,所传输的信息是由二进制的位组成,称之为位流。用多级标记对位流信息作标记;采用对象外标记的方法如下:
将对应于位流信息的各个位用多级标记作标记,生成一个多级标记流,将两个流分别处理;如果采用对象内标记,方法如下:
将位流信息分成等长度的段,每一段增加标记位,用多级标记在标记位作标记。
3.5对象的树形结构表示和处理
对象的树形结构一般采用倒立树的表示形式,当然也可以采用正立形式、左右形式,本文中采用传统的倒立树形式,其他形式的分析完全类似。
树的表示分为结构表示、数据表示、或者结构和数据表示。同一棵树的节点相应的数据可以具有不同的形式,例如:一个数据,多个数据,图像、文字或者声音等。在数据难以表示时,相应的节点可以通过存储相应数据的指针或者多级码,指向实际的数据。
当树的子女数目没有任何限制时,称之为一般树;当子女的最大数目比父母节点中数据数目多1时,称之为A-B树,如:2叉树、2-3树,B-树,B+树等,都是这一类;对于多维树,其子女数目为:N=2D,这里,N为子女数目,D为维数。
树或者子树可以用矩阵表示,矩阵可以是右矩阵,或者左矩阵,或者左右矩阵,或者梯形矩阵,或者串矩阵,或者块矩阵。
树的运算可以分为结构运算和实体运算,两棵树如果结构运算不等,则不可能相等,所以,运算也可以分两步进行,第一步,结构运算,第二步,实体运算。
表示树形结构的矩阵,由对对象序列的多级标记标记过程生成,或者由对树的节点用多级标记标记过程生成。
对序列对象按层次依次进行成组,第一层标记是对序列对象的第一次成组,以后每一次成组,都是对其相应的组代表的成组标记过程;每一层标记对应矩阵的1行(或者1列),多级标记中的每一个标记为矩阵的1个元素;对于A-B树或者多维树,一个元素可以含有多个数据。矩阵可以分为树的结构矩阵,树的实体矩阵。结构矩阵存放二进制的0,1标记。实体矩阵存放实际的数据。
对树的节点标记过程与上述过程类似,既可以由底向上进行,也可以自顶向下进行。参考图3和图4。
树形结构的矩阵表示方法如下:
树形结构用右矩阵,或者左矩阵,或者左右矩阵,或者梯形矩阵,或者串矩阵表示;
所述右矩阵的特征:树根在右上角,第一代子女在父母所在行的下一行,最右的子女在父母的正下方,左边的子女在右子女的左边;
所述左矩阵的特征:树根在左上角,第一代子女在父母所在行的下一行,最左的子女在父母的正下方,右边的子女在左子女的右边;
所述左右矩阵的特征:矩阵每列仅含一个元素,树根在最上一行,将父母的子女分为两部分,左部子女和右部子女,第一代子女在父母所在行的下一行,左部子女在左边,右部子女在右边;
所述梯形矩阵的特征:对于N order树,梯形矩阵由长度按Nm组成的一维数组组成,(m=0,1,2..),数组的元素对应于树的节点;
所述串矩阵的特征:将梯形矩阵的元素按照由上到下,由左到右的顺序放入一行,形成串矩阵。
矩阵的表示可以参看图5,图6,…,图13。
以上方法的具体描述如下:
所述右矩阵(左矩阵类似)的处理中,至少含有以下操作中的一种操作;
Findchild:
if childs exsit,the childs are in the row bellow the current node,and betweenthe column the current node located,and the column just right to the parent’s firstleft sibling,
Findparent:
Scan from the node just above current node to its right,the first node not nullis the parent;
Findsibling:
all nodes in the row the current node located,are sibling each other;
Findfamily:
the family for the current node is a sub array:the above row is the row thecurrent node located,the ringt column is the current node located,the left columnis the column just right to the current node’s nearest left sibling;or leftestcolumn of the R array,if no leftsibling;
所述表示N阶树的梯形矩阵特征如下;矩阵的每一行对应于一个数组,数组的元素数=Nm,m为行号,从上向下顺序计,最上一行的行号为0;数组中元素位置与其在对应行中的元素相对应;对于树形结构的处理,至少含有以下操作中的一种操作;
Findchild操作:
if current is J-th node on[K-1]th array,then,the first child of the node isin[K]-th array,the elment is N*J;
Findparent操作:
if current is J-th node on[K]-th array,then,the parent is in[K-1]th array,the element is J/N;
Findsibling操作:
the nodes on K-th array are sibling each other;
Relation between node data number and order N:
If the tree is A-B tree,
DATANUMBER=N-1;
If the tree is multidimension tree,
DATANUMBER=D=log2N(D is the dimension);
所述串矩阵至少含有以下操作中的一种操作;
Assume a node in the position of J in the listarray,
Find level operation:
If the node J in[Nk,Nk+1),then the level of J is k;
注释:“(”表示开区间;“]”表示闭区间。
Findchild operation for the node J;
(1)find level operation,assume J is at the K level;
(2)The first child is in(K+1)level is at
Nk+1+(J-Nk)*N;
Findparent operation:
(1)find level operation,assume J is at the K level;
(2)The parent is in(K-1)level is at
Nk-1+(J-Nk)/N;
Findsibling operation:
The nodes in[Nk,Nk+1)are sibling each other;
注释:“(”表示开区间;“]”表示闭区间。
Search operation from the root:
Assume the searched data is X,assume the order is N,accoding to the tree type,A-B tree or multidimension tree,calculate the child  number for each node passed,assume the child number for each level are j0,j1,j2,,,jk
For each search step,the child number from the root can be calculated by
Nk+1+(Jk-Nk)*N。
3.5.1树的RA,LA,LRA矩阵表示
树的矩阵表示可以由两种方法生成,第一,通过用多级标记对树的节点的标记生成,第二,通过用多级标记对对象序列标记生成。
多级标记有四种不同的类型:右A多级标记,左A多级标记,右B多级标记,左B多级标记。分别对应的矩阵为:右A矩阵,左A矩阵,右B矩阵,左B矩阵。
右矩阵、左矩阵、左右矩阵,分别用RA,LA,LRA表示。
结构和数据可以存储在同一个矩阵中,也可以分别存储。用一个二进制矩阵存结构,一个串存储数据,这样所需的存储空间一般较小。用一个数据矩阵既存结构又存数据,存储紧凑简单,但存储空间一般较大。
树的节点的元素可以是空,可以是实元素,实元素可以是同类对象,也可以是不同类型的对象,如果是不同类型的对象,节点元素可以为指向对象的指针。
矩阵可以自顶向下,从根到叶生成;也可以由下而上,从叶到根生成。通过用多级标记对对象序列标记生成矩阵和树见3.4节。
图5是一棵树的示意图。
图6是图5的左右矩阵(LRA),其特征是每列只有一个节点,一个节点的左子女在该节点所在列的左边,右子女在该节点所在的列的右边,其第一代子女在该节点所在的行的下一行。
图7是图5的右矩阵(RA),其特征是:一个节点的左子女在该节点所在列的左边,右子女在该节点所在的列,其第一代子女在该节点所在的行的下一行。RA是LRA压缩而成,从LRA矩阵的右边将每一个节点的右子女压缩到该节点所在的列,而保持其正确的家族关系,就转换为右矩阵。
图8是图5的左矩阵(LA),其特征是:一个节点的右子女在该节点所在列的右边,左子女在该节点所在的列,其第一代子女在该节点所在的行的下一行。LA是LRA压缩而成,从LRA矩阵的左边将每一个节点的左子女压缩到该节点所在的列,而保持其正确的家族关系,就转换为左矩阵。
字符树的RA矩阵表示
字符树对应于关键码的集合。
例1:设有一个关键码的集合为,
K={xem,xul,xal,wul,wen,wim,wil,wan,zi,zom,zol,yum,yon,yo}
(数据摘自:许卓群等,数据结构,高等教育出版社,1987)。
图9是RA矩阵表示字符树的示意图。
例2:RA矩阵表示alphabet trie
图10表示了alphabet trie(图参考:Figure 13.2,A practical introduction toData structures and Algorithm Analysis,second edition,By Shaffer,C.A.,电子工业出版社,2002)表示的相应的word:
ant,anteater,antelope,chicken,deer,duck,goat,goldfish,goose,horse.
3.5.2树的梯形矩阵表示
梯形矩阵定义:由0,1,…,K行组成的矩阵,各行元素数符合Nk关系,其中元素为对象,N>1,N为整数。
梯形矩阵可以表示A-B树和多维树等,这时,其元素为树的节点。
N阶A-B树中的内部节点中可以含有(N-1)个数据,多维树的节点的维数D与树的阶N的关系为:N=2D,D=log2N;因此,对于A-B树,梯形矩阵的节点为(N-1)个数据;而对于多维树,梯形矩阵的节点含有D个数据。节点中的数据可以用一维数组表示。
梯形矩阵的元素可以为二进制的0,1,称作逻辑梯形矩阵。逻辑梯形矩阵表示了树的结构。在树的逻辑梯形矩阵存在的前提下,其节点的数据可以连续存放,从而节省存储空间;需要时,可以按照逻辑矩阵结构,生成含有实际数据的梯形矩阵。
图11是一个B+树的示意图(图参考:Figure 10.16,A practical introduction toData structures and Algorithm Analysis,secend edition,By Shaffer,C.A.,电子工业出版社,2002)。
图1是图11 B+树的梯形矩阵示意图,矩阵采用左矩阵的形式,也可以采用右矩阵的形式,采取什么形式,根据具体情况而定。
以下是用数组表示的梯形矩阵。
数组R1,R2,R3分别对应于图13的梯形矩阵示意图中的第一行到第三行。
R3[3]=33;
R2[4][3]=18,23;48;
R1[16][5]=18,12,26;18,19,20,21,22;23,30,31;33,46,47;48,60,62;
3.5.3树的串矩阵表示
串矩阵的定义:将梯形矩阵的元素按照由上到下,由左到右的顺序放入一个一维数组,形成的串,称为串矩阵。
串矩阵可以表示A-B树和多维树。
N阶A-B树中的内部节点中含有(N-1)个数据,多维树的节点的维数D与树的的阶N的关系为:N=2D,D=log2N;因此,对于A-B树,串矩阵的节点为(N-1)个数据;而对于多维树,串矩阵的节点含有D个数据。
串矩阵的元素可以为二进制的0,或者1,称作逻辑串矩阵。逻辑串矩阵表示了树的结构。在树的逻辑串矩阵存在的前提下,其节点的数据可以连续存放,从而节省存储空间;需要时,可以按照逻辑矩阵结构,生成含实际数据的串矩阵。二叉树、四叉树、B+树等,都可以用串矩阵表示。
串矩阵可以分段,各段用多级标记连接。
3.5.4树的块矩阵表示
所述块树由子树组成,子树用所述的一种矩阵表示,子树对应的矩阵称为块矩阵,不包含树的最上部根的一个块矩阵的根与上一层的一个块矩阵的一个叶相对应。
3.6对象的处理装置
上述方法可以用装置表述。
该装置实现对象的表示和处理;对象采用单级码表示,或者多级码表示,或者多级标记表示;该装置中至少含有下列装置中的一种;
i.多级码装置:该装置中含有多级码编码,对象的编码含多编码段,每个编码段中选择相应的位作为标记位;各个编码段的标记位用多级标记作标记;
ii.含有编码种类段的多级码装置:
在多种类对象的多级码编码中,多级码可以由两部分组成,一部分为编码种类段,另一部分为对象的编码;对于由N个编码段组成且含有编码种类段的多级码,如果N>2,编码种类段或者含有下一个编码段为编码种类段的信息,或者含有下面的编码段的编码种类信息;如果N=2,编码种类段含有下一个编码段多级码的编码种类;编码种类段,也可以采用多个编码段;
iii.以下种类的多级码装置:
链接式多级码装置:多级码与对象在数据源中的位置相对应;
嵌入式多级码装置:多级码与其表示的对象嵌在一起,且能表示相应对象的界限;
间标记式多级码装置:多级码位于对象序列中,表示序列中相应对象的相关信息;
组合式多级码装置:对象组中各个对象的编码按照多级码编码方法,组合在一起。
iv.多特征码装置:
具有多个特征的对象用多特征码编码表示和处理,对象的多特征码编码与对象的该特征相对应,在对象组中的该对象采用与其特征相应的编码表示;
v.汉字编码顺序全音装置:
汉字编码的顺序全音装置由两个字节组成,其中含有双字母表示的拼音(或者注音)和声调;双字母大小的顺序与汉语音节的拼音(或者注音)顺序的大小完全一致,声调包括5个,其大小与标准字典顺序一致;双字母各用5位表示,3位用来表示声调;顺序全音的大小顺序与标准字典带声调的拼音(或者注音)的顺序完全一致;
vi.汉字编码顺序全音比较装置:顺序全音比较装置含有顺序全音装置,中文信息内码串的比较采用顺序全音比较的方法,两个内码串的比较过程如下:
a)分别提取两个内码串相应的顺序全音串;
b)对两个全音串作比较;
根据全音的比较结果,得出两个内码串的比较结果;
vii.编码式输入对象处理装置:
编码式输入对象处理装置中含有对象输入码表,编码式输入对象的对象输入码表中仅含单个对象的编码与其输入码的对应关系,当输入码的排列顺序与对象的编码顺序完全相同时,输入码表中仅含按照对象编码顺序排列的对象的输入码;数据中的对象用单级码或者多级码表示,在对象的处理中包含由对象编码到输入码的生成,即根据对象输入码表,生成数据中相应对象的的输入码;如果对象输入方法采用的属性存在多个特征,对存在多个特征的对象采用多特征编码,消除对象编码生成输入码时存在的歧义;
在编码式输入对象的输入、查询或者对象输入码输出的处理中;
对象输入或者对象的查询操作步骤如下:
(1)输入要输入或者要查询对象的输入码;
(2)扫描相关数据源,根据对象的输入码表,生成对象编码相应对象的输入码;
(3)将生成的输入码与输入的输入码相比较,根据比较结果,得出输入的对象或者要查询的对象;
对象输入码的输出操作步骤如下:
扫描数据,根据对象输入码表,生成对象编码相应的输入码;
以上对象输入或者对象的查询处理中,可以包括多个输入方法的输入码表,包含一个或者多个对象数据源,如果比较结果候选的对象组或者对象重码较多时,则可输入对象另外输入方法的输入码,从符合多个输入码表的对象或者对象组中,选择输入或者查询的对象。
viii.编码式输入对象的级联输入装置:
该装置含有复合输入码表,这种输入码表中含有对象或者对象组与两种或者两种以上的输入码的对应关系;或者含有两个或者两个以上的输入码表,其中,每一个输入码表为对象或者对象组与一种输入码的对应关系;级联输入方法使用两种或者两种以上的输入码,实现对象或者对象组的输入;输入步骤如下:
(1)输入一种输入码;
(2)将输入码与复合输入码表对应的输入码比较,或者与相应的输入码表中的输入码比较,根据比较结果,得出候选的对象或者对象组;
(3)如果候选对象或者对象组满足要求,转(5);
(4)当对应的对象或者对象组的重码较多时,可以再输入第二种输入码,在候选的对象或者对象组中,得出既符合第一个输入码又符合第二个输入码的对象或者对象组,以此类推;
(5)选出所需的输入对象或者对象组;
ix.多级标记装置:
采用多级标记对对象序列中的1个或者多个对象作标记,多级标记是指右A多级标记,或者是左A多级标记,或者是右B多级标记,或者是左B多级标记;其标记方法分别如下:
右A多级标记:用A标记对1个对象作标记,其左面的N个对象用B标记标记,A标记称为组代表;
左A多级标记:用A标记对1个对象作标记,其右面的N个对象用B标记标记,A标记称为组代表;
右B多级标记:用B标记对1个对象作标记,其左面的N个对象用A标记标记,B标记称为组代表;
左B多级标记:用B标记对1个对象作标记,其右面的N个对象用A标记标记,B标记称为组代表;
其中,N可以为正整数,也可以为0。
例如:一个多文种的电子词典装置,该装置中含有多种文字的多级码装置,含有编码式输入对象的输入装置,对于汉字含有顺序全音装置。现有的电子词典,为了节约存储空间,通常只提供字输入,没有词输入。而上述词典的输入含有词输入,并且提供了输入码的查询功能,其检索是词一级的。由于采用了多级码装置,文字种类不受限制。如果采用汉字的多特征码装置,则可以解决音码的查询,拼音的正确输出,汉语语音的正确输出等。
4.附图说明
图1为具有编码种类段的2字节多级码示意图,多级码采用右0多级标记,第1个字节为编码种类字节,编码种类字节的高位为1,第2字节的高位为0。
图2为具有编码种类段的3字节多级码示意图,多级码采用右0多级标记,其标记位分别为:1,1,0;第1字节为编码种类字节,表示第2字节是编码种类字节,还是表明后2个字节编码的编码种类,如果第2字节是编码种类字节,则表明1字节多级码的编码种类;否则,则后面的2个字节就是2字节编码,其编码种类由第1字节确定。
图3是对“汉字是表意文字。English is字母式语言。”,用右1多级标记的标记过程示意图,其标记结果为矩阵。图中的0,1为标记。
图4是图3多级标记生成的树的示意图。其树叶表示字符,线的交点是树的内部节点,内部节点表示由字符组成的词,句子等。
图5是一棵树的示意图,其中A,B,C,…,J为树的节点。
图6是图5的左右矩阵(LRA),其特征是每列只有一个节点,一个节点的左子女在该节点所在列的左边,右子女在该节点所在的列的右边,其第一代子女在该节点所在的行的下一行。
图7是图5的右矩阵(RA),其特征是:一个节点的左子女在该节点所在列的左边,右子女在该节点所在的列,其第一代子女在该节点所在的行的下一行。
图8是图5的左矩阵(LA),其特征是:一个节点的右子女在该节点所在列的右边,左子女在该节点所在的列,其第一代子女在该节点所在的行的下一行。
图9RA矩阵表示字符树的示意图,关键码的集合为:K={xem,xul,xal,wul,wen,wim,wil,wan,zi,zom,zol,yum,yon,yo}。
图10 alphabet trie示意图,其中(a)是右矩阵表示trie的结构,其中的字母,根据(b)的word和右矩阵的生成规则添入;(b)为相应的word:
ant,anteater,antelope,chicken,deer,duck,goat,goldfish,goose,horse。
图11为4阶B+树的示意图,一个节点可以存储3个数据,叶节点最多可以存5个纪录,图中的数据为节点中存的数据。
图12为图11的B+树的梯形矩阵示意图,其中(a)表示梯形矩阵中各个节点相应元素的值,由于一个节点最多3个数据,最多有4个子女,所以梯形矩阵的第一层为3个元素,第二层有12个元素,第三层为叶节点,每个节点可以保存5个纪录,图中仅画出了部分节点。(b)是(a)的简化形式,矩阵的一个元素表示(a)中的一个节点,其数值为相应节点中的第一个数据。
5.具体实施方式
本发明中提出的技术方案,在发明内容中已经介绍了相应的实施方式,下面再举几个典型的应用例。
多对象、多文种的操作系统。现有的操作系统对文字的支持不到100种,采用多级码可以支持各种文字,数量不受限制,并且与原来的文字编码相兼容。系统存储各种文字相应的多级码种类,多级码与单级码的转换程序,系统内存中存储文字的多级码,在辅存上,可以有两种选择:单级码形式或者是多级码形式。如果是单级码形式,则在调入内存时,执行多向转换;在向辅存存储时,执行单向转换。对于文字的输出,系统可以存放各种文字的字库,或者使用互联网上的字库,系统能识别不同的种类的多级码,可从不同的字库中提取相应的字形输出。对于输入,操作系统要提供各种文字的输入和查询方法,对于编码式输入对象,可以采用所提供的输入方法,方便地解决输入问题,并且能有效的提高输入速度。对于查询,可以有两种选择,采用输入码查询,或者将输入码转换为对象的编码查询。对于具有多特征的文字,例如汉字,多音字采用多特征码编码表示,可以解决汉字语音的正确输出,拼音或者注音的正确输出。对于文字的检索,还可以实现不同文种的检索和翻译等。
在该操作系统的支持下,多文种的浏览器可以实现多文种的查询,各种文种的文字都可以作为网址使用,还可以使用混合文种的网址。对于Emai,各种文种的通讯变得轻而易举。对于其他对象,如各种音乐符号,数学符号等,使用起来与文字一样方便。
对于搜索引擎,全文检索系统等,使用多级码和多特征码技术,具有如下特点,第一,对于字一级检索的文字,例如汉字,可以提升到词一级,且提高了查询速度,提高了查准率和查全率。采用编码式输入对象的检索方法,即提高输入速度,也提高了查询速度,例如,在查询网上图书馆的著者时,可以将输入词典定位到数据库的著者字段。
在标记性语言,格式化文本中,用多级码作为标记可以大大简化网页或者文本篇幅,提高处理速度;也便于不同格式的文字兼容。对于文字的格式,比如字体,字号,颜色等,可以用多级码表示;对于文章的段落结构,也可以用多级码表示,以此类推。

Claims (17)

1.一种对象表示和处理方法,其特征在于:
对象采用多级码编码表示和处理,对象的多级码编码的特征如下:
(1)对象的编码含多编码段,编码段由二进制的位组成;
(2)每个编码段含标记位;
(3)各个编码段的标记位用多级标记作标记。
2.如权利要求1所述的对象表示和处理方法,其特征在于:
对象的单级码编码采用多向转换操作转换为多级码编码,对象的多级码编码采用单向转换操作转换为单级码编码;
多向转换和单向转换的依据是单级码和多级码的关系,其关系如下:如果某种类对象单级码的编码由N个字节组成,N>=1;其中,如果有M个字节没有标记位,则这个编码可以用2M个种类多级码编码表示,增加1个多级码编码种类字节,多级码编码种类字节中含有2M个不同的编码,每一个编码可以与2M个种类的多级码中的一个相对应;如果由N个字节组成的编码有J个种类的单级码编码,每个种类对象的单级码可以分别用K1,K2,…Kj种多级码表示,则在多级码的种类字节中要表示出S=K1+K2+…+Kj种多级码,如果多级码种类字节无法表示时,可增加多级码中种类字节的数量;
多向转换操作步骤如下:
(1)识别单级码的编码种类;
(2)根据单级码的种类和与其相应的多级码标记位的值,选取相应的编码种类字节;
(3)将单级码作为多级码的编码部分,并使其符合多级码的编码要求;
(4)编码种类字节和多级码的编码部分组成了单级码的多级码;当编码种类可以根据上下文确定时,可以省略编码种类字节;当组成的多级码与其他不含编码段的多级码编码等长时,可以再增加一个编码种类段,它含有原来的编码种类段为编码种类段的信息,依此类推;
单向转换操作的步骤如下:
根据多级码中的编码种类字节与单级码编码的对应关系,以及多级码中的标记,将多级码的编码部分恢复为原来的单级码编码;如果含有编码种类字节,去掉相应的多级码种类字节。
3.如权利要求1所述的对象表示和处理方法,其特征在于:
在对象的表示和处理中,选用下列类型的多级码:
链接式多级码装置:多级码与对象在数据源中的位置相对应;
嵌入式多级码装置:多级码与其表示的对象嵌在一起,且能表示相应对象的界限;
间标记式多级码装置:多级码位于对象序列中,表示序列中相应对象的相关信息;
组合式多级码装置:对象组中各个对象的编码按照多级码编码方法,组合在一起。
4.如权利要求1所述的对象表示和处理方法,其特征在于:
一个由N个节点组成的序列,N>=1,每一个节点对应于一个对象,称之为节点对象,节点对象由M个子对象组成,M>=0;节点对象和子对象用多级码表示和处理。
5.如权利要求1所述的对象表示和处理方法,其特征在于:
多级码编码用于数据压缩时,可以选用以下方法:
(1)如果被标记的对象为连续重复出现的对象,用多级码表示对象重复出现的次数;
(2)对于出现频度高的对象用较短的多级码编码表示;
(3)对于数值较小的对象用较短的多级码编码表示;
(4)建立与多级码相对应的序列的外部对象组库,在对象序列中,用多级码表示相应的对象组;
(5)建立与多级码相对应的序列内部对象的对象组库,在对象序列中,用多级码表示相应的对象组。
6.一种对象表示和处理方法,其特征在于:
具有多个特征的对象用多特征码编码表示和处理,对象的多特征码编码与对象的该特征相对应,在对象组中的该对象采用与其特征相应的编码表示。
7.如权利要求6所述的对象表示和处理方法,其特征在于:
所述对象为具有N个不同发音的汉字,其中,N>1;除了原来汉字的编码之外,另外增加(N-1)个编码,分别对应于不同的发音;多字词中的多音字,用与该汉字在该词中的发音相对应的编码表示。
8.如权利要求7所述的对象表示和处理方法,其特征在于:
具有N个不同发音的汉字,在增加的(N-1)个编码中,常用发音的汉字相应的多特征码编码与GB2312具有同样的位标记,即两个字节的高位均为1;不常用的汉字发音相应的多特征码编码与GBK中不含GB2312的部分具有同样的位标记,即其中第2字节的高位为0。
9.一种对象表示和处理方法,其特征在于:
编码式输入对象的对象输入码表中仅含单个对象的编码与其输入码的对应关系,当输入码的排列顺序与对象的编码顺序完全相同时,输入码表中仅含按照对象编码顺序排列的对象的输入码;数据中的对象用单级码或者多级码表示,在对象的处理中包含由对象编码到输入码的生成,即根据对象输入码表,生成数据中相应对象的的输入码;如果对象输入方法采用的属性存在多个特征,对存在多个特征的对象采用多特征码编码,消除对象编码生成输入码时存在的歧义;
在编码式输入对象的输入、查询或者对象输入码输出的处理中:
对象输入或者对象的查询操作步骤如下:
(1)输入要输入或者要查询对象的输入码;
(2)扫描相关数据源,根据对象的输入码表,生成对象编码相应的输入码;
(3)将生成的输入码与输入的输入码相比较,根据比较结果,得出输入的对象或者要查询的对象;
对象输入码的输出操作步骤如下:
扫描数据,根据对象输入码表,生成对象编码相应对象的的输入码;
以上对象输入或者对象的查询处理中,可以包括多个输入方法的输入码表,包含一个或者多个对象数据源,如果比较结果候选的对象组或者对象重码较多时,则可输入对象另外输入方法的输入码,从符合多个输入码表的对象或者对象组中,选择输入或者查询的对象。
10.如权利要求9所述的对象表示和处理方法,其特征在于:
所述对象为汉字,输入码表为汉字编码相应的顺序全音按照汉字编码顺序排列的表,汉字编码的顺序全音由两个字节组成,其中含有双字母表示的拼音(或者注音,双拼),和声调;双字母大小的顺序与汉语音节的拼音顺序的大小完全一致,声调包括5个,其大小与标准字典顺序一致;双字母各用5位表示,3位用来表示声调;顺序全音的大小顺序与标准字典带声调的拼音的顺序完全一致。
11.一种对象表示和处理方法,其特征在于:
编码式输入对象的输入,采用级联输入方法;在输入过程中采用复合输入码表,这种输入码表中含有对象或者对象组与两种或者两种以上的输入码的对应关系;或者采用两个或者两个以上的单输入码表,其中,每一个单输入码表为对象或者对象组与一种输入码的对应关系;级联输入方法使用两种或者两种以上的输入码,实现对象或者对象组的输入;输入步骤如下:
(1)输入一种输入码;
(2)将输入码与复合输入码表对应的输入码比较,或者与相应的单输入码表中的输入码比较,根据比较结果,得出候选的对象或者对象组;
(3)如果候选对象或者对象组满足选择的要求,转(5);
(4)对象或者对象组的重码较多,再输入第二种输入码,在候选的对象或者对象组中,得出既符合第一种输入码又符合第二种输入码的对象或者对象组,以此类推;
(5)选出所需的输入对象或者对象组。
12.一种对象表示和处理方法,其特征在于:
采用多级标记对对象序列中的1个或者多个对象作标记,多级标记是指右A多级标记,或者是左A多级标记,或者是右B多级标记,或者是左B多级标记;其标记方法分别如下:
右A多级标记:用A标记对1个对象作标记,其左面的N个对象用B标记标记,A标记称为组代表;
左A多级标记:用A标记对1个对象作标记,其右面的N个对象用B标记标记,A标记称为组代表;
右B多级标记:用B标记对1个对象作标记,其左面的N个对象用A标记标记,B标记称为组代表;
左B多级标记:用B标记对1个对象作标记,其右面的N个对象用A标记标记,B标记称为组代表;
其中,N可以为正整数,也可以为0。
13.如权利要求12所述的对象表示和处理方法,其特征在于:
对象采用多级码编码表示和处理,对象的多级码编码特征如下:
(1)对象的编码含多编码段,编码段由编码位置组成;
(2)每个编码段至少有一个编码位置作为标记位置;
(3)各个编码段的标记位置用多级标记作标记。
14.如权利要求13所述的对象表示和处理方法,其特征在于:
在多种类对象的多级码编码中,多级码可以由两部分组成,一部分为编码种类段,另一部分为对象的编码;对于由N个编码段组成且含有编码种类段的多级码,如果N>2,编码种类段或者含有下一个编码段为编码种类段的信息,或者含有下面的编码段的编码种类信息;如果N=2,编码种类段含有下一个编码段多级码的编码种类;编码种类段,也可以采用多个编码段,也可以用一部分编码段表示;
对于一个多种类对象多级码序列,按照某一方向扫描时,当由一个种类的多级码转换为另一种类的多级码时,用含有相应的编码种类段的多级码表示;如果之后的编码种类不变,则可以省略多级码中的相应的编码种类段;当某个编码长度的编码种类为默认的编码种类时,多级码中也可以不含编码种类段。
15.一种对象表示和处理方法,其特征在于:
树形结构用右矩阵,或者左矩阵,或者左右矩阵,或者梯形矩阵,或者串矩阵表示;
所述右矩阵的特征:树根在右上角,第一代子女在父母所在行的下一行,最右的子女在父母的正下方,左边的子女在右子女的左边;
所述左矩阵的特征:树根在左上角,第一代子女在父母所在行的下一行,最左的子女在父母的正下方,右边的子女在左子女的右边;
所述左右矩阵的特征:矩阵每列仅含一个元素,树根在最上一行,将父母的子女分为两部分,左部子女和右部子女,第一代子女在父母所在行的下一行,左部子女在左边,右部子女在右边;
所述梯形矩阵的特征:对于N order树,梯形矩阵由长度按Nm组成的一维数组组成,(m=0,1,2..),数组的元素对应于树的节点;
所述串矩阵的特征:将梯形矩阵的元素按照由上到下,由左到右的顺序放入一行,形成串矩阵。
16.如权利要求15所述的对象表示和处理方法,其特征在于:
所述右矩阵(左矩阵类似),或者梯形矩阵,或者串矩阵的处理中,分别具有以下特征:
所述右矩阵(左矩阵类似),至少含有以下操作中的一种操作;
findchild:
if childs exsit,the childs are in the row bellow the current node,and between the column the current node located,and the column just rightto the parent’s first left sibling,
findparent:
Scan from the node just above current node to its right,the firstnode not null is the parent;
Findsibling:
all nodes in the row the current node located,are sibling each other;
Findfamily:
the family for the current node is a sub array:the above row is therow the current node located,the ringt column is the column the currentnode located,the left column is the column just right to the currentnode’s nearest left sibling;or leftest column of the R array,if noleftsibling;
所述表示N阶树的梯形矩阵特征如下:矩阵的每一行对应于一个数组,数组的元素数=Nm,m为行号,从上向下顺序计,最上一行的行号为0;数组中元素位置与其在对应行中的元素相对应;对于树形结构的处理,至少含有以下操作中的一种操作;
findchild操作:
if current is J-th node on[K-1]th array,then,the first child ofthe node is in[K]-th array,the elment is N*J;
findparent操作:
if current is J-th node on[K]-th array,then,the parent is in[K-1]tharray,the element is J/N;
findsibling操作:
the nodes on K-th array are sibling each other;
Relation between node data number and order N:
If the tree is A-B tree,
DATANUMBER=N-1;
If the tree is multidimension tree,
DATANUMBER=D=log2N(D is the dimension);
将所述梯形矩阵的元素按照由上到下,由左到右的顺序放入一个一维数组,形成串矩阵;所述串矩阵至少含有以下操作中的一种操作;
Assume a node in the position of J in the listarray,
Find level operation:
If the node J in[Nk,Nk+1),then the level of J is k;
Findchild operation for the node J;
(1)find level operation,assume J is at the K level;
(2)The first child is in(K+1)level is at
Nk+1+(J-Nk)*N;
Findparent operation:
(1)find level operation,assume J is at the K level;
(2)The parent is in(K-1)level is at
Nk-1+(J-Nk)/N;
Findsibling operation:
The nodes in[Nk,Nk+1)are sibling each other;
Search operation from the root:
Assume the searched data is X,assume the order is N,accoding to thetree type,A-B tree or multidimension tree,calculate the child numberfor each node passed,assume the child number for each level are j0,j1,j2,,,jk
For each search step,the child number from the root can be calculatedby
Nk+1+(Jk-Nk)*N。
17.一种对象表示和处理装置,其特征在于:
该装置实现对象的表示和处理;对象采用单级码表示,或者多级码表示,或者多级标记表示;该装置中至少含有下列装置中的一种;
1)多级码装置:该装置中含有多级码编码,对象的编码含多编码段,每个编码段中含标记位;各个编码段的标记位用多级标记作标记;
2)含有编码种类段的多级码装置:
在多种类对象的多级码编码中,多级码可以由两部分组成,一部分为编码种类段,另一部分为对象的编码;对于由N个编码段组成且含有编码种类段的多级码,如果N>2,编码种类段或者含有下一个编码段为编码种类段的信息,或者含有下面的编码段的编码种类信息;如果N=2,编码种类段含有下一个编码段多级码的编码种类;编码种类段,也可以采用多个编码段;
3)以下种类的多级码装置:
链接式多级码装置:多级码与对象在数据源中的位置相对应;
嵌入式多级码装置:多级码与其表示的对象嵌在一起,且能表示相应对象的界限;
间标记式多级码装置:多级码位于对象序列中,表示序列中相应对象的相关信息;
组合式多级码装置:对象组中各个对象的编码按照多级码编码方法,组合在一起;
4)多特征码装置:
具有多个特征的对象用多特征码编码表示和处理,对象的多特征码编码与对象的该特征相对应,在对象组中的该对象采用与其特征相应的编码表示;
5)汉字编码顺序全音装置:汉字编码的顺序全音装置由两个字节组成,其中含有双字母表示的拼音(或者注音)和声调;双字母大小的顺序与汉语音节的拼音(或者注音)顺序的大小完全一致,声调包括5个,其大小与标准字典顺序一致;双字母各用5位表示,3位用来表示声调;顺序全音的大小顺序与标准字典带声调的拼音(或者注音)的顺序完全一致;
6)汉字编码顺序全音比较装置:顺序全音比较装置含有顺序全音装置,中文信息内码串的比较采用顺序全音比较的方法,两个内码串的比较过程如下:
A.分别提取两个内码串相应的顺序全音串;
B.对两个全音串作比较;
根据全音的比较结果,得出两个内码串的比较结果;
7)编码式输入对象处理装置:
编码式输入对象处理装置中含有对象输入码表,编码式输入对象的对象输入码表中仅含单个对象的编码与其输入码的对应关系,当输入码的排列顺序与对象的编码顺序完全相同时,输入码表中仅含按照对象编码顺序排列的对象的输入码;数据中的对象用单级码或者多级码表示,在对象的处理中包含由对象编码到输入码的生成,即根据对象输入码表,生成数据中相应对象的的输入码;如果对象输入方法采用的属性存在多个特征,对存在多个特征的对象采用多特征编码,消除对象编码生成输入码时存在的歧义;
在编码式输入对象的输入、查询或者对象输入码输出的处理中;
对象输入或者对象的查询操作步骤如下:
(1)输入要输入或者要查询对象的输入码;
(2)扫描相关数据源,根据对象的输入码表,生成对象编码相应对象的输入码;
(3)将生成的输入码与输入的输入码相比较,根据比较结果,得出输入的对象或者要查询的对象;
对象输入码的输出操作步骤如下:
扫描数据,根据对象输入码表,生成对象编码相应的输入码;
以上对象输入或者对象的查询处理中,可以包括多个输入方法的输入码表,包含一个或者多个对象数据源,如果比较结果候选的对象组或者对象重码较多时,则可输入对象另外输入方法的输入码,从符合多个输入码表的对象或者对象组中,选择输入或者查询的对象;
8)编码式输入对象的级联输入装置:该装置含有复合输入码表,这种输入码表中含有对象或者对象组与两种或者两种以上的输入码的对应关系;或者含有两个或者两个以上的输入码表,其中,每一个输入码表为对象或者对象组与一种输入码的对应关系;级联输入方法使用两种或者两种以上的输入码,实现对象或者对象组的输入;输入步骤如下:
(1)输入一种输入码;
(2)将输入码与复合输入码表对应的输入码比较,或者与相应的输入码表中的输入码比较,根据比较结果,得出候选的对象或者对象组;
(3)如果候选对象或者对象组满足要求,转(5);
(4)当对应的对象或者对象组的重码较多时,可以再输入第二种输入码,在候选的对象或者对象组中,得出既符合第一个输入码又符合第二个输入码的对象或者对象组,以此类推;
(5)选出所需的输入对象或者对象组;
9)多级标记装置:
装置中采用多级标记对对象序列中的1个或者多个对象作标记,多级标记是指右A多级标记,或者是左A多级标记,或者是右B多级标记,或者是左B多级标记;其标记方法分别如下:
右A多级标记:用A标记对1个对象作标记,其左面的N个对象用B标记标记,A标记称为组代表;
左A多级标记:用A标记对1个对象作标记,其右面的N个对象用B标记标记,A标记称为组代表;
右B多级标记:用B标记对1个对象作标记,其左面的N个对象用A标记标记,B标记称为组代表;
左B多级标记:用B标记对1个对象作标记,其右面的N个对象用A标记标记,B标记称为组代表;
其中,N可以为正整数,也可以为0。
CNA031124011A 2003-06-09 2003-06-09 对象表示和处理的方法及其装置 Pending CN1567174A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CNA031124011A CN1567174A (zh) 2003-06-09 2003-06-09 对象表示和处理的方法及其装置
CA002526701A CA2526701A1 (en) 2003-06-09 2004-06-03 Object representing and processing method and apparatus
US10/557,591 US7724158B2 (en) 2003-06-09 2004-06-03 Object representing and processing method and apparatus
PCT/CN2004/000596 WO2004109492A1 (fr) 2003-06-09 2004-06-03 Procede et appareil de traitement et de representation d'objets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA031124011A CN1567174A (zh) 2003-06-09 2003-06-09 对象表示和处理的方法及其装置

Publications (1)

Publication Number Publication Date
CN1567174A true CN1567174A (zh) 2005-01-19

Family

ID=33494600

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA031124011A Pending CN1567174A (zh) 2003-06-09 2003-06-09 对象表示和处理的方法及其装置

Country Status (4)

Country Link
US (1) US7724158B2 (zh)
CN (1) CN1567174A (zh)
CA (1) CA2526701A1 (zh)
WO (1) WO2004109492A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437627C (zh) * 2006-07-12 2008-11-26 中国物品编码中心 数据信息的编码方法
CN101789028A (zh) * 2010-03-19 2010-07-28 苏州广达友讯技术有限公司 地理位置搜索引擎及其构建方法
CN102395965A (zh) * 2009-04-17 2012-03-28 弗兰霍菲尔运输应用研究公司 用于在数据库中搜索对象的方法
CN102662491A (zh) * 2012-04-27 2012-09-12 清华大学 一种基于八叉树的拼音输入法
CN103235789A (zh) * 2013-03-29 2013-08-07 惠州市德赛西威汽车电子有限公司 一种汉字转换为拼音及首字母的方法
CN103543980A (zh) * 2013-11-07 2014-01-29 吴胜远 数字数据处理的方法及装置
CN101960469B (zh) * 2008-10-20 2014-03-26 王强 快速特征码扫描

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787471B1 (en) * 2005-06-02 2017-10-10 Robert T. Jenkins and Virginia T. Jenkins Data enciphering or deciphering using a hierarchical assignment system
US7711666B1 (en) 2005-08-31 2010-05-04 Richard Crandall Reduction of memory usage for prime number storage by using a table of differences between a closed form numerical function and prime numbers which bounds a prime numeral between two index values
WO2008144330A1 (en) * 2007-05-15 2008-11-27 Georgia Tech Research Corporation Systems and methods of improved boolean forms
US8099401B1 (en) * 2007-07-18 2012-01-17 Emc Corporation Efficiently indexing and searching similar data
US20100235163A1 (en) * 2009-03-16 2010-09-16 Cheng-Tung Hsu Method and system for encoding chinese words
US9852311B1 (en) 2011-03-08 2017-12-26 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9667741B1 (en) 2011-03-08 2017-05-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9356993B1 (en) 2011-03-08 2016-05-31 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9300637B1 (en) * 2011-03-08 2016-03-29 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US11228566B1 (en) 2011-03-08 2022-01-18 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9413526B1 (en) 2011-03-08 2016-08-09 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9292696B1 (en) 2011-03-08 2016-03-22 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9338220B1 (en) 2011-03-08 2016-05-10 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9432342B1 (en) 2011-03-08 2016-08-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8726398B1 (en) 2011-12-13 2014-05-13 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
CN103797480B (zh) * 2011-09-14 2017-11-28 富士通株式会社 提取方法、提取程序、提取装置、以及提取系统
US9280575B2 (en) * 2012-07-20 2016-03-08 Sap Se Indexing hierarchical data
US9298448B2 (en) * 2013-05-21 2016-03-29 Red Hat, Inc. System and method for run time dependency resolution
US9560131B2 (en) * 2013-06-14 2017-01-31 Disney Enterprises, Inc. Efficient synchronization of behavior trees using network significant nodes
CN104991888A (zh) * 2015-06-19 2015-10-21 苏州大学张家港工业技术研究院 一种歧义消除方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160684A (ja) * 1993-12-03 1995-06-23 Matsushita Electric Ind Co Ltd 文書圧縮装置および文書圧縮方法
CN1115440A (zh) * 1994-07-16 1996-01-24 苏铭佳 一种实现多内码中文操作系统的方法
CN1068127C (zh) * 1996-10-04 2001-07-04 吴胜远 文字信息处理方法和装置
JP3004963B2 (ja) * 1998-06-09 2000-01-31 三菱電機株式会社 情報端末装置及び画面データ処理方法
US7221711B2 (en) * 2002-03-27 2007-05-22 Woodworth John R Multilevel data encoding and modulation technique

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437627C (zh) * 2006-07-12 2008-11-26 中国物品编码中心 数据信息的编码方法
CN101960469B (zh) * 2008-10-20 2014-03-26 王强 快速特征码扫描
CN102395965A (zh) * 2009-04-17 2012-03-28 弗兰霍菲尔运输应用研究公司 用于在数据库中搜索对象的方法
CN102395965B (zh) * 2009-04-17 2015-07-15 弗兰霍菲尔运输应用研究公司 用于在数据库中搜索对象的方法
US8886652B2 (en) 2009-04-17 2014-11-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for searching objects in a database
CN101789028A (zh) * 2010-03-19 2010-07-28 苏州广达友讯技术有限公司 地理位置搜索引擎及其构建方法
CN101789028B (zh) * 2010-03-19 2012-03-21 苏州广达友讯技术有限公司 地理位置搜索引擎及其构建方法
CN102662491B (zh) * 2012-04-27 2014-11-26 清华大学 一种基于八叉树的拼音输入法
CN102662491A (zh) * 2012-04-27 2012-09-12 清华大学 一种基于八叉树的拼音输入法
CN103235789A (zh) * 2013-03-29 2013-08-07 惠州市德赛西威汽车电子有限公司 一种汉字转换为拼音及首字母的方法
CN103235789B (zh) * 2013-03-29 2016-08-10 惠州市德赛西威汽车电子股份有限公司 一种汉字转换为拼音及首字母的方法
CN103543980A (zh) * 2013-11-07 2014-01-29 吴胜远 数字数据处理的方法及装置
WO2015067996A1 (en) * 2013-11-07 2015-05-14 Shengyuan Wu Methods and apparatuses of digital data processing
CN103543980B (zh) * 2013-11-07 2021-10-22 吴胜远 数字数据处理的方法及装置

Also Published As

Publication number Publication date
US20060294136A1 (en) 2006-12-28
US7724158B2 (en) 2010-05-25
WO2004109492A1 (fr) 2004-12-16
CA2526701A1 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
CN1567174A (zh) 对象表示和处理的方法及其装置
CN1204515C (zh) 自由格式数据处理的方法和设备
CN1170240C (zh) 结构化文档检索显示方法和装置
CN1155906C (zh) 数据处理方法、系统、处理程序及记录媒体
CN1027198C (zh) 计算装置
CN1689022A (zh) 可扩展标记语言流化转换器
CN1752963A (zh) 文档信息处理设备、文档信息处理方法及处理程序
CN1856036A (zh) 字幕产生设备和方法
CN1159666C (zh) 基于笔划中心线技术的曲线字形的还原显示方法
CN1749958A (zh) 使用形状的公用图表
CN1755674A (zh) 用于同步合成,显示及处理文本和图象文件的方法和设备
CN1761956A (zh) 基于片段的串行化系统与方法
CN1581156A (zh) 信息处理系统、方法、程序和记录介质
CN1505786A (zh) 内容转换方法和装置
CN1604076A (zh) 文章信息处理装置
CN1622095A (zh) 可扩展标记语言文件存储及插入关系数据库表的方法
CN1066517A (zh) 说明用户接口的方法及运行多用户接口型计算机的编程系统
CN1790323A (zh) 用于对依存关系所给出的映射关系进行合成的系统和方法
CN1270237C (zh) 用有关图形数据压缩的元语言产生输入文件的方法和系统
CN1889174A (zh) 一种语音编码有声读物及其拾音器
CN1321941A (zh) 中外文信息数字化运算编码处理系统
CN1154502A (zh) 教育规范五笔字型汉字输入法及其装置
CN1089919C (zh) 一种叠加式按形归类的文字拆分编码输入方法及键盘
CN1068127C (zh) 文字信息处理方法和装置
CN101036138A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication