CN1145886C - 将a位代码映射至存储器中的存储单元的装置和方法 - Google Patents
将a位代码映射至存储器中的存储单元的装置和方法 Download PDFInfo
- Publication number
- CN1145886C CN1145886C CNB991089588A CN99108958A CN1145886C CN 1145886 C CN1145886 C CN 1145886C CN B991089588 A CNB991089588 A CN B991089588A CN 99108958 A CN99108958 A CN 99108958A CN 1145886 C CN1145886 C CN 1145886C
- Authority
- CN
- China
- Prior art keywords
- question blank
- code
- variable
- data
- bitmap
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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
Abstract
表示象形文字字形的字符(6)的字符代码(2)可以被用来确定在与所涉及字符(6)有关的全部字形的像素数据的可变长度编码数据流(10)中的地址(8)。这个存取经过两级表查询,第一级表(表1)返回一个在编码的数据流内的初始偏置Huffoff,一个字符数据的平均长度AvSz和对第二表(表2)的一个指针TB2off。于是第二表被用来查询一个误差值Err,利用该误差Err来修正由第一级表(表1)中的信息所产生的地址的估计值以及在第二表(表2)内的位置N,该位置导致匹配。象形文字字符(6)的像素位图(36)能够被划分成较小的小片(38),并且每块这样的小片给定一个码。该小片代码于是可以被赫夫曼编码,以提供像素位图字形数据的高效压缩。
Description
技术领域
本发明涉及在数据处理系统中的位图字形数据的存储。
背景技术
在数据处理系统中文本数据一般被存储为字符码序列,在要求向用户提供文本数据时,例如在屏幕上显示它或打印它,则必须将每个字符码转换成能够提供给用户的象形文字的形式。这种转换使用了字形数据,它对每一个字符码指定一个象形文字的形式。一种字形数据是对每个字符码存储该字符的位图的表示法。对于显示和打印,这种位图处理起来可以相对地简单一些。
在此种系统中发生的问题是在存储字形数据和用于访问这些字形数据的任何相关的数据时所使用的存储容量的总量。在象形文字字符(例如中文、朝鲜文和日文字符)的情况下所占用的存储器资源的总量能够成为一将特殊的问题。在这些场合,需要被表示的字符的数量可能非常之高,例如中国的象形文字字形可能包括13,000个不同的象形文字字符。
发明内容
人们强烈地期待能够减少为处理字形数据所需的存储容量的方法。
从一个方面看,本发明提供的装置用于将一个A位代码映射至表示所说A位代码的可变长度代码数据的存储器中的一个存储单元的装置,所说的装置包括:
(i)对所说A位代码里的B位字段响应的第一查询逻辑,用于在第一查询表内存取与所说B位字段相对应的一个入口,所说第一查询表入口包括一个偏置值其指向含有许多第二查询表入口的第二查询表里的一个区域、一个可变长度码偏置值和所说区域内的可变长度码数据的一个平均长度值;
(ii)对所说A位代码里的C位字段响应的第二查询逻辑,用于在所说表偏置值指示的第二查询表的所说区域内存取与所说C位段相对应的第二查询表的入口,所说的第二查询表入口包括一个误差值;
(iii)存储单元计算逻辑,用于计算在所说存储单元的所说存储器内的地址,所说存储单元计算逻辑对以下部分作出响应:
(iv)所说可变长度代码偏置值;
(v)所说平均长度值和在所说第二查询表的所说区域内的位置的函数;其与所说的C位段相对应;以
(vi)所说的误差值;以及
(vii)存储器存取逻辑,用于从所说的存储器的所说地址读取所说的可变长度数据。
本发明的这方面追求的是减少与存取表示为可变长度代码数据形式例如,字符的像素位图的数据有关的开销。当着像素位图的可变长度编码能够产生一个高度的压缩时,就会引起一个困难即如何识别这种可变长度编码的数据的哪一具体部分表示给定的字符。本发明提供一种改进的机制以一种有利于降低这些查询表所需求的存储容量总量的方式利用第一查询表和第二查询表用于识别可变长度编码的数据这个部分,具体讲,本发明利用了这样的认识,即对应于一个具体的字符的可变长度编码的数据的位置能够只以这样的误差来推算,在这种推算中必须以单个字符被存储,因而减少了用于这种查询操作所需要的总的存储容量。
在本发明的优选实施例中,所说的第二查询表的所说的区域包含一个按照所说的A位代码值所存储的第二查询表的入口系列,因此,用所说的第二查询表的所说的区域,所说的第二入口按照所说的C位段被存储。
根据A位代码值的第二查询表的分类区域给出数据在第二查询表内被安排的方式的可预测性,这能被利用来在通过所涉及的区域进行检索时更有效地识别在第二查询表内的特殊的入口。
将附加的信息编码变成第二表的一个特别方便的方法是使用将符合于在第二表区域中正被寻找的匹配字符的入口的位置用作指示符,在其处对应的可变长度编码数据整个地位于字形数据内。更具体地讲,如果在第二表中的入口是在该区域内的第N个入口并且关于字形字符的可变长度编码数据的平均长度是从第一表已知的,则这两个值的乘积能够给出一个附加的偏置进入可变长度编码数据,就其整体来说通过更精确的位置。
判读字符码以对第一表和第二表进行存取的优选方法是利用该码的B个最高效位去检索第一表并且然后利用该码的C个最低有效位去检索一个在由第一表内所检索的入口指定的第二表的区域内的匹配的入口。
本发明的方法能通常被用于许多不同类型的字形,但在字形是象形字形时特别有用。象形文字字形通常包含大量的不同的字符,因此数据存储的要求是一个更关键的事。此外,在字符代码系列中通常存在着许多间隙,这使得表的查询更为困难。
字形数据可以以不同的方式被存储。例如字形数据可能被存储在非易失的磁存储媒质上,比如计算机的硬盘。但是,本发明特别适用于在其中字形数据被存储在集成电路的存储器里的系统,因为此类集成电路存储器一般相对费用较昂贵,因此降低所需数量的措施是非常优越的。
应该理解的是,特殊用途的逻辑电路可能被提供来完成为实现本发明的方法所需要的各种功能,同时,在许多情况中具体实现该方法的最好途径将是利用在软件控制下的数据处理逻辑操作,因此软件使得数据处理逻辑具体化以起到上面指出的各种不同的逻辑单元的作用。
从一个附加的方面看,本发明提供产生映像数据的装置,用于将A位代码映射至在表示所说的A位代码的可变长度代码数据的存储器内的一个存储单元,所说的装置包括:
(i)第一查询表产生逻辑,用于产生第一查询表使得所说A位代码里的B位字段指示一个在第一查询表内与所说的B位字段对应的第一查询表入口,所说的第一查询表入口包括一个表偏置值,其指向在含有大量第二查询表入口的第二查询表内的一个区域、一个可变长度代码偏置值和所说区域内的可变长度数据的一个平均长度值;以及
(ii)第二查询表产生逻辑,用于产生第二查询表,使得在所说A位代码里的C位字段指示一个在由所说表偏置值指示的所说第二查询表的所说区域内与所说C位字段对应的第二查询表入口,所说第二查询表入口包括一个误差值;其中
(iii)在所说存储单元的所说存储器中的一个地址依据以下部分计算:
(iv)所说的可变长度代码偏置值;
(v)所说平均长度值和在所说的第二查询表的与所说C位码相匹配的所说区域内的位置的函数;和
(vi)所说的误差值。
从另一个方面来看,发明提供一种将一个A位代码映射至表示A位代码的可变长度代码数据的存储器内的一个存储单元的方法,所说方法包括的步骤有:
(i)响应在所说A位代码里的B位字段,在第一查询表内存取对应于B位字段的一个入口,所说第一查询表入口包括指向在含有大量第二查询表入口的第二查询表内的一个区域的表偏置值、可变长度码偏置值和所说区域内的可变长度码数据的一个平均长度值;
(ii)响应在所说A位代码里的C位字段,在由所说表偏置值指示的第二查询表的所说区域内与所说的C位字段对应的第二查询表入口,所说第二查询表入口包括一个误差值;
(iii)计算在所说的存储单元的所说存储器内的一个地址,其依据是:
(iv)所说的可变长度代码偏置值;
(v)所说平均长度值和所说第二查询表的所说区域内与所说C位字段相匹配的位置的函数;和
(vi)所说的误差值;以及
(vii)从所说存储器中的所说地址处读取所说的可变长度数据。
从另一个方面看,本发明提供一种产生映像数据的方法,用于将A位代码映射至表示所说的A位代码的可变长度代码数据的存储器内的一个存储单元,所说的方法包括的步骤有:
(i)产生第一查询表,使得在所说A位代码里的B位字段指示在第一查询表内与所说B位字段对应的第一查询表入口,所说的第一查询表入口包括一个表偏置值,其指向在含有大量第二查询表入口的第二查询表内的一个区域、一个可变长度代码偏置值和所说区域内的可变长度代码数据的一个平均长度值;以及
(ii)产生第二查询表,使得在所说A位代码里的C位字段指示一个在由所说表偏置值指示的所说第二查询表的所说区域内与所说C位字段对应的第二查询表入口,所说第二查询表入口包括一个误差值;其中
(iii)在所说存储单元的所说存储器中的一个地址依据以下部分计算:
(iv)所说的可变长度代码偏置值;
(v)所说的平均长度值和在所说第二查询表的所说区域内的与所说C位字段匹配的位置的函数;和
(vi)所说的误差值。
本发明一个实施例的进一步提供了分解象形文字字符的象形文字字形数据的装置,所说的象形文字字符的非压缩数据以N乘M像素位图的形式出现,所说的装置包括:
(i)一个熵译码器,用于将熵译码成许多个熵代码,每个表示一幅P乘Q个像素的位图,从而生成许多幅关于所说的象形文字的字符的P乘Q像素的位图;以及
(ii)用于将许多幅P乘Q像素位图合并的逻辑,以生成关于所说象形文字字符的M乘N像素的位图。
如上述,象形文字字形一般有非常多数目的字符。进一步讲,每个单独的字符可能在形状上是非常之复杂以致于为了适当地表示它需要相对细化的位图。本发明考虑到,在象形文字字符可能在形状上非常复杂的同时,实际上在它们的形式中存在着相当大的冗余部分,如果字符被分为较小的小片(tile),则某些形式的小片比其他小片许多倍更为频繁地出现。本发明的通过应用熵编码表示每个图标来利用这个现象,使得通常出现的图标可被给予较小的熵代码而不经常出现的图标被给予较大的熵代码。用这种方式,只要比较光栅扫描字符位图,就能够达到增大了的数据压缩度并由此得到压缩的比特流。赫夫曼(Huffman)编码是一种特别适合于用作此种目的的熵编码形式。
对于P乘Q像素位图,二比一的高宽比已被发现是特别适合的。具有16×16或24×24像素大小的单个的象形文字字符位图较好地兼顾了所能显示的细节和所需的存储容量的总量。
在与上面提及的讨论相类似的方法中,可以体会到,通过一个受软件控制工作的通用数据处理器可以方便地提供本发明的解压缩技术所需要的赫夫曼译码器和合并逻辑。
本发明的另一个实施例提供了一种将象形文字字符的象形文字字形数据进行解压缩的方法,所说象形文字字符的非压缩数据以N×M像素位图的形式出现,所说的方法包括的步骤有:
(i)对每个表示一个P×Q像素位图的大量的熵代码进行熵译码,以产生对于所说象形文字字符的大量的P×Q像素位图;以及
(ii)将所说的大量的P×Q像素位图合并以生成所说的象形文字字符的所说的M×N像素的位图。
本发明的以上的和其它的目的,特性和优点将从下面的说明性实施例的详细描述中明显地看到,该实施例应与附图结合起来理解。
附图说明
图1说明一个字形符代码和该字形符代码的可变长度编码数据以及该字形符的图像表示之间的关系;
图2说明将一个A位字形符代码映像于在保存表示该字符的一个像素位图的可变长度编码的数据的存储器内的一个存储单元的方法;以及
图3是说明图2的系统的工作的流程图;
图4说明一个象形文字字符位图以及在赫夫曼编码之前它的成小片状的划分;
图5和6分别是说明象形文字字符的压缩和解压缩的流程图;以及
图7图示一个用于完成关于图1至图6所描述的方法的通用数据处理系统。
具体实施方式
图1说明表示在一种象形文字字形中的一个字形符的字符代码2,该象形文字字形是一个中文字符字形并且一般可能包括大约13,000字符。为此,采用双字节字符代码。
字符代码2可以被映射到表示所涉及的中文象形文字字符6的位图可变长度编码数据4。当着这个可变长度编码数据4被译码时(例如赫夫曼译码的,映射到组分小片并组合成字符形式),则所表示的中文象形文字字符6可以被显示和打印。
当着表示象形文字字符的像素位图数据是可变长度编码的,系统必须确定在此可变长度编码的数据流中在何处将会找到与特定字符代码6相对应的特定数据4。图2说明完成这种映像的方法。
两字节字符代码2需要被映射至表示该字形中所有象形文字字符的像素位图的赫夫曼编码的数据流10里的起始位置8。有关特定字符的可变长度编码数据4形成总的可变长度编码数据10的一小部分。
该处理的第一阶段是利用字符代码(A位字符代码)的9个最重要的位(B位段)去检索表1。表1是一个512入口的表,每行中有6字节数据。因此,字符码2的9个最高有效位9MSB能被用来直接检索表1内的行入口。
表1中所检索行的最初两个字节提供一个偏置值TB20ff指示在第二表表2里的一个位置。表1中该行里的随后三个字节提供一个赫夫曼偏置值Huffoff,指示在赫夫曼编码的数据流10里的一个起始偏置值。表1的所检索的行里的最后一个字节给出一个与具有对应于表1中该行的9个最高有效位的这些象形文字字符有关的平均长度值ArSz。
表2偏置值TB2off被用来指示表2内与9MSB值相对应的区域18的开始位置14。表2内的入口包括两字节的行,两字节行的前面7位被用来与字符代码2的相应的最低7个有效位7LSB匹配。表2的行中的剩余9位提供一个带符号的误差值Err。
知道了表2中的起始点14、表2中下一区域的起始点也能从表1中的下一个入口读出。这在表2里产生一个范围,在其中可以找到任何匹配的入口。于是通过将字符代码2的最低7个有效位与正在搜索的范围中点处表2中入口的最高有效的7位相比较,这个范围就被二进制地搜索。中点入口可能匹配或者换句话说能够确定无论如何匹配的入口将在正被试验的当前中点的上方或下方。如果中点不匹配,则在上方或下方的被识别范围的新的中点将被用来作下一次试验。这个过程被重量直到匹配被发现,或者确定对于该代码在表2中不存在有效的入口为止。
换句话说,从表2中的起始点14开始,向下对表2的入口进行搜索直到找到一个入口,该入口的7个最高有效的位与字符码2的最低7个有效位相匹配。
在表中产生匹配的入口将在第N行。表2里的诸入口可以在每个范围内对应于字符码2的9个最重要的位被分类以按照可能的有效字符码的最低的7个有效位的顺序进行,当着对应于字符码2,表2中的行被找到,则关于此行的误差值Err可以被读出。
如果赫夫曼编码的数据流10被存储在起始地址为Huff Date Start的存储器中,则为寻找与字符代码2相对应的数据的位置的一级近似通过将赫夫曼偏置值加到起始地址上来达到。这指向一个位置16,从此位置开始具有与字符代码相同的9个最高有效位的那些字符的赫夫曼编码数据被存储。表1还给出关于具有这9个最高有效位的字符代码的平均长度值AvSz,因此,当在表2中进行搜索并确定在区域18中的第N行是匹配于字符代码的最低7个有效位的行时,则数据4的起始地址的二级近似可以通过在地址16上加(AvSz*N)以得到地址20来作到,通过将地址20加上从表2读出的关于该字符代码2的误差值Err就能获得最终的地址8。
图3是说明图2所示过程的流程图。在步骤22上,利用字符码2的最高9个最高有效位完成了在表1中的查表操作以检索表1里的一行。
在步骤24上,表2偏置值TB2off,赫夫曼偏置值Huffoff以及平均长度值AvSz全部被从表1中所检索的行读出。
在步骤26上,为找出与字符码2的最低7位有效位匹配的入口,从由TB2off给定的位置开始在表2中进行搜索(从由表1指示的区域的顶部开始第N个)。
在步骤27,按照是否在表2中已经找到有效的匹配入口来进行试验,如果有效的匹配入口没有被找到,则过程中止。
在步骤28,从已在步骤26识别了的第N个入口读出误差值Err。
在步骤30,利用赫夫曼数据流10的存储器中的起始地址Huff DataStart加上值Huffoff,(AvSz*N)和Err计算赫夫曼编码的可变长度数据的地址。这个计算值指出关于字符码2的赫夫曼编码数据4的起始地址8。
在步骤32,从所计算的地址读出赫夫曼编码数据4。
在步骤34,赫夫曼编码数据4被分解并且绘制出字符的象形文字位图表示。
图4显示一幅表示象形文字字符6的N×M位图36。在此例中位图是一幅16×16像素的位图。在较高分辨率的系统中24×24像素的位图可以被使用。
像素位图36被分成32个4×2像素小片38。这些小片的每一个能用一个8位码唯一地标识,因为在小片中有256个可能的变化。
本发明利用了这样一种认识即一些小片图样比起其它的更为常用得多。因此,表示小片的8位码38可以用赫夫曼代码来代替,经常出现的小片被给予短的赫夫曼代码。用这种方式,象形文字像素位图字形数据能够被有效地压缩。
图5是一个说明象形文字字符的压缩的流程图。在步骤40,16×16像素位图被分成32个4×2像素的小片。在步骤42,这些小片的每一个被分配一个在0到255之间的与其对应的代码值,在步骤44,在0到255之间的32个值是使用对整个字形的赫夫曼编码表作赫夫曼编码的,以产生相应的赫夫曼代码流。这个赫夫曼代码流即是16×16像素位图36的可变长度编码表示。
图6是说明关于象形文字字符的像素位图的赫夫曼编码的字形数据的解压缩流程图。在步骤46,赫失曼代码流被译码以产生在0到255之间的32个值的流。这些8位值每个对应于一个4×2像素小片的特定的像素图样。在步骤48,这些像素图样被查找并且以预置的顺序被合并(例如8个水平行的水平光栅,每行包括4个小片)。这组合成16×16像素的位图36并可以在步骤50被绘制(例如显示或打印)。
图7图示一个典型的数据处理系统,它可以被用来完成上述的方法。公用总线52连接中央处理器54,随机存取存储器56,只读存储器58和显示驱动电路60。显示器62,比如液晶显示板,是由显示驱动电路60驱动的。
在工作时,存储在只读存储器58中的软件可以由中央处理单元54执行以实现上述的方法。图7所示系统工作时完成先前所描述的各个逻辑单元的任务。
只读存储器58还存储赫夫曼编码字形数据10,第一表表1和第二表表2。
当着象形文字字符的像素位图36已被中央处理单元54译码时它可以被送至显示驱动电路60,该电路将依次提供必需的信号给显示器62,以向用户显示象形文字字符6。
虽然本发明的说明性的实施例已经在这里参照附图被详细说明,应该理解,本发明并不局限于这些明显的实施例,在那些由精通本专业的人员所作的不偏离本发明的领域和精神的各种各样的变化和修改亦能够是有效的,就象附加权利要求所规定的一样。
Claims (28)
1.将一个A位代码映射至表示所说A位代码的可变长度代码数据的存储器中的一个存储单元的装置,所说的装置包括:
(i)对所说A位代码里的B位字段响应的第一查询逻辑,用于在第一查询表内存取与所说B位字段相对应的一个入口,所说第一查询表入口包括一个偏置值,其指向含有许多第二查询表入口的第二查询表里的一个区域、一个可变长度码偏置值和所说区域内的可变长度码数据的一个平均长度值;
(ii)对所说A位代码里的C位字段响应的第二查询逻辑,用于在所说表偏置值指示的第二查询表的所说区域内存取与所说C位段相对应的第二查询表的入口,所说的第二查询表入口包括一个误差值;
(iii)存储单元计算逻辑,用于计算在所说存储单元的所说存储器内的地址,所说存储单元计算逻辑对以下部分作出响应:
(1)所说可变长度代码偏置值;
(2)所说平均长度值和在所说第二查询表的所说区域内的位置的函数;其与所说的C位段相对应;和
(3)所说的误差值;以及
(iv)存储器存取逻辑,用于从所说的存储器的所说地址读取所说的可变长度数据。
2.按照权利要求1要求的装置,其中所说的A位代码是一个字符的A位字形字符代码。
3.按照权利要求2要求的装置,其中所说的可变长度代码数据表示一个所说字符的像素位图。
4.按照权利要求1要求的装置,其中所说的第二查询表的所说区域包含有一系列的按照所说的A位代码值存储的第二查询表入口,也即对于所说第二查询表的所说区域所说的第二入口是按照所说的C位段被存储的。
5.按照权利要求4要求的装置,其中所说的第二查询表入口是在所说的第二查询表的所说区域内的第N个入口。
6.按照权利要求5要求的装置,其中所说的函数是所说的平均长度值被N乘。
7.按照权利要求6要求的装置,其中所说的地址取决于所说的可变长度码偏置值以及所说函数和所说误差值之和。
8.按照权利要求7要求的装置,其中所说的地址由所说可变长度代码数据的与所说存储器有关的起始地址、所说可变长度代码偏置值、所说函数以及所说误差值之和给出。
9.按照权利要求3要求的装置,其中每个像素位图是由大量的可变长度代码来表示的。
10.按照权利要求1所要求的装置,其中所说的可变长度代码是赫夫曼代码。
11.按照权利要求1要求的装置,其中A=B+C。
12.按照权利要求1要求的装置,其中所说的B位字段是所说的A位代码的B个最高有效位。
13.按照权利要求1要求的装置,其中所说的C位段是所说的A位代码的最低C个有效位。
14.按照权利要求2要求的装置,其中所说的字符是象形文字字符。
15.按照权利要求1要求的装置,其中所说的存储器是集成逻辑存储器。
16.按照权利要求1要求的装置,其中所说的第一查询逻辑,所说的第二查询逻辑,所说的存储单元计算逻辑以及所说的存储器存取逻辑是通过软件控制下的数据处理逻辑操作来提供的。
17.按照权利要求1-16之一要求的装置,其中还包括一个用于将象形文字字符的象形文字字形数据解压缩的装置,所说的象形文字字符的非压缩数据以N×M像素位图的形式出现,该装置包含:
(i)用于对许多熵代码进行熵译码的熵译码器,每个熵代码表示一个P×Q像素位图,产生用于所说象形文字字符的许多P×Q像素位图;以及
(ii)用于将大量的P×Q像素位图合并产生用于所说的象形文字字符的所说的N×M像素的位图的逻辑。
18.按照权利要求17要求的装置,其中所说熵译码器是一个赫夫曼译码器并且所说的熵代码是赫夫曼代码。根据关于所说的象形文字字形数据的赫夫曼编码表,每个代码表示一个所说的P×Q像素位图。
19.按照权利要求17中所要求的装置,其中所说的P×Q像素位图为高宽比不等于1比1的矩形。
20.按照权利要求19要求的装置,其中所说的P×Q像素位图具有2比1的高宽比。
21.按照权利要求20要求的装置,其中P是4而Q为2。
22.按照权利要求17要求的装置,其中N为24且M为24。
23.按照权利要求17要求的装置,其中N为16且M为16。
24.按照权利要求17所要求的装置,其中所说的熵译码器和所说的关于合并的逻辑是由受软件控制的数据处理器逻辑操作所提供的。
25.产生映像数据的装置,用于将A位代码映射至在表示所说的A位代码的可变长度代码数据的存储器内的一个存储单元,所说的装置包括:
(i)第一查询表产生逻辑,用于产生第一查询表使得所说A位代码里的B位字段指示一个在第一查询表内与所说的B位字段对应的第一查询表入口,所说的第一查询表入口包括一个表偏置值,其指向在含有大量第二查询表入口的第二查询表内的一个区域、一个可变长度代码偏置值和所说区域内的可变长度数据的一个平均长度值;以及
(ii)第二查询表产生逻辑,用于产生第二查询表,使得在所说A位代码里的C位字段指示一个在由所说表偏置值指示的所说第二查询表的所说区域内与所说C位字段对应的第二查询表入口,所说第二查询表入口包括一个误差值;其中
(iii)在所说存储单元的所说存储器中的一个地址依据以下部分计算:
(1)所说的可变长度代码偏置值;
(2)所说平均长度值和在所说的第二查询表的与所说C位码相匹配的所说区域内的位置的函数;和
(3)所说的误差值。
26.将一个A位代码映射至表示A位代码的可变长度代码数据的存储器内的一个存储单元的方法,所说方法包括的步骤有:
(i)响应在所说A位代码里的B位字段,在第一查询表内存取对应于B位字段的一个入口,所说第一查询表入口包括指向在含有大量第二查询表入口的第二查询表内的一个区域的表偏置值、可变长度码偏置值和所说区域内的可变长度码数据的一个平均长度值;
(ii)响应在所说A位代码里的C位字段,在由所说表偏置值指示的第二查询表的所说区域内存取与所说C位字段对应的第二查询表入口,所说第二查询表入口包括一个误差值;
(iii)计算在所说的存储单元的所说存储器内的一个地址,其依据是:
(1)所说的可变长度代码偏置值;
(2)所说平均长度值和所说第二查询表的所说区域内与所说C位字段相匹配的位置的函数;和
(3)所说的误差值;以及
(iv)从所说存储器中的所说地址处读取所说的可变长度数据。
27.按照权利要求26要求的方法,进一步包含将象形文字字符的象形文字字形数据解压缩的方法,用于所说的象形文字字符的非压缩数据以N×M像素位图的形式出现,该方法包括的步骤有:
(i)对大量的每个表示一P×Q像素位图的熵代码进行熵译码以产生大量的用于所说的象形文字字符的P×Q像素的位图;以及
(ii)合并所说的大量P×Q像素位图生成用于所说的象形文字字符的所说的N×M像素的位图。
28.产生映像数据的方法,用于将A位代码映射至表示所说的A位代码的可变长度代码数据的存储器内的一个存储单元,所说的方法包括的步骤有:
(i)产生第一查询表,使得在所说A位代码里的B位字段指示在第一查询表内与所说B位字段对应的第一查询表入口,所说的第一查询表入口包括一个表偏置值,其指向在含有大量第二查询表入口的第二查询表内的一个区域、一个可变长度代码偏置值和所说区域内的可变长度代码数据的一个平均长度值;以及
(ii)产生第二查询表,使得在所说A位代码里的C位字段指示一个在由所说表偏置值指示的所说第二查询表的所说区域内与所说C位字段对应的第二查询表入口,所说第二查询表入口包括一个误差值;其中
(iii)在所说存储单元的所说存储器中的一个地址依据以下部分计算:
(1)所说的可变长度代码偏置值;
(2)所说的平均长度值和在所说第二查询表的所说区域内的与所说C位字段匹配的位置的函数;和
(3)所说的误差值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9902664A GB2346470B (en) | 1999-02-05 | 1999-02-05 | Bitmap font data storage within data processing systems |
GB9902664.3 | 1999-02-05 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031284469A Division CN1299221C (zh) | 1999-02-05 | 1999-07-05 | 将象形文字字符的象形文字字形数据解压缩的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1263306A CN1263306A (zh) | 2000-08-16 |
CN1145886C true CN1145886C (zh) | 2004-04-14 |
Family
ID=10847236
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031284469A Expired - Fee Related CN1299221C (zh) | 1999-02-05 | 1999-07-05 | 将象形文字字符的象形文字字形数据解压缩的装置和方法 |
CNB991089588A Expired - Fee Related CN1145886C (zh) | 1999-02-05 | 1999-07-05 | 将a位代码映射至存储器中的存储单元的装置和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031284469A Expired - Fee Related CN1299221C (zh) | 1999-02-05 | 1999-07-05 | 将象形文字字符的象形文字字形数据解压缩的装置和方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6236342B1 (zh) |
JP (1) | JP4361640B2 (zh) |
KR (1) | KR100622580B1 (zh) |
CN (2) | CN1299221C (zh) |
GB (2) | GB2346470B (zh) |
TW (1) | TW427079B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002059779A1 (en) * | 2001-01-25 | 2002-08-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for optimised indexing records of static data with different lenghts |
US20020118885A1 (en) * | 2001-02-27 | 2002-08-29 | Bernard Smeets | Font compression and retrieval |
US20030067476A1 (en) * | 2001-10-04 | 2003-04-10 | Eastman Kodak Company | Method and system for displaying an image |
DE10314928A1 (de) * | 2003-04-02 | 2004-11-04 | Infineon Technologies Ag | Verfahren und programmgesteuerte Einheit zur Bitfeldverschiebung |
US8806103B2 (en) * | 2004-04-28 | 2014-08-12 | Hewlett-Packard Development Company, L.P. | System and method for interleaving memory |
KR20070001765A (ko) * | 2005-06-29 | 2007-01-04 | 엘에스산전 주식회사 | 메모리 절약형 문자 표시 시스템 및 그 표시 방법 |
JP5158934B2 (ja) * | 2007-09-25 | 2013-03-06 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
WO2012090584A1 (ja) | 2010-12-28 | 2012-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索開始点を決定する装置及び方法 |
JP5625923B2 (ja) * | 2011-01-07 | 2014-11-19 | ヤマハ株式会社 | フォントセット圧縮データを記録した記憶媒体、フォントセット圧縮データのランダムアクセス方法およびデコーダ |
US9626184B2 (en) * | 2013-06-28 | 2017-04-18 | Intel Corporation | Processors, methods, systems, and instructions to transcode variable length code points of unicode characters |
US9524169B2 (en) * | 2014-09-24 | 2016-12-20 | Intel Corporation | Technologies for efficient LZ77-based data decompression |
CN107451070B (zh) * | 2016-06-01 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 一种数据的处理方法和服务器 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2050019B (en) * | 1979-05-25 | 1982-11-10 | Loh Shiu Chang | Method of producing typographical data |
GB2214676A (en) * | 1988-01-19 | 1989-09-06 | Benchmark Technologies | Character generation |
JPH03145223A (ja) * | 1989-10-30 | 1991-06-20 | Toshiba Corp | 可変長符号復調装置 |
US5227789A (en) * | 1991-09-30 | 1993-07-13 | Eastman Kodak Company | Modified huffman encode/decode system with simplified decoding for imaging systems |
JPH06222747A (ja) * | 1992-10-08 | 1994-08-12 | Fujitsu Isotec Ltd | フォント圧縮装置及びフォント復元装置 |
US5544286A (en) * | 1993-01-29 | 1996-08-06 | Microsoft Corporation | Digital video data compression technique |
JPH0756895A (ja) * | 1993-08-11 | 1995-03-03 | Canon Inc | ビットマップフォントデータの作成方法、および、該フォントデータを用いた画像形成装置 |
US5512896A (en) * | 1993-11-30 | 1996-04-30 | Texas Instruments Incorporated | Huffman encoding method, circuit and system employing most significant bit change for size detection |
US5600772A (en) * | 1994-08-17 | 1997-02-04 | Printronix, Inc. | Bit map character convertor using chain-codes for the character filling process |
KR960014502A (ko) * | 1994-10-27 | 1996-05-22 | 배순훈 | 세탁기의 스위치 사용여부 표시방법 |
US5732202A (en) * | 1995-02-13 | 1998-03-24 | Canon Kabushiki Kaisha | Data processing apparatus, data processing method, memory medium storing data processing program, output device, output control method and memory medium storing control program therefor |
JP3181809B2 (ja) * | 1995-05-31 | 2001-07-03 | シャープ株式会社 | データ圧縮のための圧縮コードの復元回路 |
US5691768A (en) * | 1995-07-07 | 1997-11-25 | Lucent Technologies, Inc. | Multiple resolution, multi-stream video system using a single standard decoder |
TW366669B (en) * | 1996-10-30 | 1999-08-11 | Matsushita Electric Ind Co Ltd | Picture encoding device and picture encoding method, picture decoding device and picture decoding method, and data recording media |
KR19980074919A (ko) * | 1997-03-27 | 1998-11-05 | 구자홍 | 비트맵 폰트 저장방법 및 표시방법 |
CN1191355A (zh) * | 1997-12-08 | 1998-08-26 | 王国安 | 文本文件数据压缩的无损变换 |
JP4229403B2 (ja) * | 1998-08-07 | 2009-02-25 | 日本放送協会 | 文字表示画像の符号化装置および復号化装置 |
-
1999
- 1999-02-05 GB GB9902664A patent/GB2346470B/en not_active Expired - Fee Related
- 1999-02-05 GB GB0314835A patent/GB2388944B/en not_active Expired - Fee Related
- 1999-05-06 US US09/306,408 patent/US6236342B1/en not_active Expired - Fee Related
- 1999-05-06 TW TW088107408A patent/TW427079B/zh not_active IP Right Cessation
- 1999-06-25 JP JP18072299A patent/JP4361640B2/ja not_active Expired - Fee Related
- 1999-07-05 CN CNB031284469A patent/CN1299221C/zh not_active Expired - Fee Related
- 1999-07-05 CN CNB991089588A patent/CN1145886C/zh not_active Expired - Fee Related
-
2000
- 2000-02-01 KR KR1020000004843A patent/KR100622580B1/ko not_active IP Right Cessation
- 2000-09-28 US US09/671,122 patent/US6304198B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB9902664D0 (en) | 1999-03-31 |
GB2388944A (en) | 2003-11-26 |
TW427079B (en) | 2001-03-21 |
GB2346470A (en) | 2000-08-09 |
JP2000227789A (ja) | 2000-08-15 |
KR20000076581A (ko) | 2000-12-26 |
GB2388944B (en) | 2004-03-17 |
GB0314835D0 (en) | 2003-07-30 |
US6304198B1 (en) | 2001-10-16 |
CN1495617A (zh) | 2004-05-12 |
GB2346470B (en) | 2003-10-29 |
CN1299221C (zh) | 2007-02-07 |
CN1263306A (zh) | 2000-08-16 |
JP4361640B2 (ja) | 2009-11-11 |
KR100622580B1 (ko) | 2006-09-11 |
US6236342B1 (en) | 2001-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1145886C (zh) | 将a位代码映射至存储器中的存储单元的装置和方法 | |
CN1024050C (zh) | 对汉字进行编码和译码的方法和装置 | |
CN1044183C (zh) | 调色图象的压缩及其m阵符号集的比特状态编码的二进制化 | |
CN101441713B (zh) | 一种pdf文件的光学字符识别方法及装置 | |
CN1104094C (zh) | 数据压缩方法和设备 | |
JP6565786B2 (ja) | 光学シンボル、表示媒体、物品および生成装置 | |
CN1591297A (zh) | 汉字输入方法及装置 | |
CN1545067A (zh) | 一种利用计算机对数字化档案文件压缩的方法 | |
JP3872217B2 (ja) | ディザ画像の2値表現処理方法、ディザ画像の圧縮2値表現圧縮解除方法、及びディザ画像の圧縮及び圧縮解除システム | |
CN1100366A (zh) | 字符发生方法及装置 | |
CN1151679C (zh) | 图形数据压缩方法和装置以及数字视频译码器 | |
CN1134895C (zh) | 压缩电子墨迹的方法和装置 | |
CN1102257C (zh) | 输出装置和方法 | |
CN1107903C (zh) | 打印机和字符处理方法 | |
US9189720B2 (en) | Method for generating images from text | |
US20030123087A1 (en) | Image compression method, decompression method thereof and program therefor | |
CN1263224C (zh) | 解码器 | |
JP2001502485A (ja) | ビットマップの無損失圧縮および解凍 | |
JP6634952B2 (ja) | 認識装置、認識方法および認識プログラム、ならびに、管理システムおよび搬送システム | |
CN1094616C (zh) | 将具有文本字符的文件编码及传送的方法 | |
CN1275127C (zh) | 按笔顺输入的汉字输入法及其键盘 | |
CN1107255C (zh) | 无限有序字符集汉字全集方法和系统 | |
JP2019185828A (ja) | 光学シンボル、表示媒体、物品および生成装置 | |
JP4084535B2 (ja) | 圧縮画像の修正装置 | |
CN1123929A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040414 Termination date: 20120705 |