專利名稱:存貯字符圖形的方法和字符圖形應用系統的制作方法
技術領域:
本發明涉及一種存貯字符圖形的方法和一種應用字符圖形的系統,特別是涉及一種保存幾種類型字符圖形的子符應用系統以及適用于該系統的字符圖形存貯方法,這些字符圖形的大小與字體各異,從而可以用合適的字符進行文件編輯或打印。
長期以來,“字處理器”一直被作為一種基本的辦公室自動化裝置。但近年來,人們的注意力已經集中到一種叫做“辦公室間打印系統”或“臺式印刷系統”的新型文件處理系統上。關于這種系統,請看例如“Nikkei計算機”的第147至152頁,1986年8月18號,由NikkeiMcGraw-Hill出版。
這種文件生成系統的主要特點是,具有打印能力,高分辨率和許多不同大小與字體的若干字符圖形,相比之下,現有技術的字處理器中的字符圖形的大小與字體只限于一種或幾種。
但是,為實現這種系統,存在著如何保存不同字符圖形的問題。即,對于高分辨率的打印機,需要高分辨率的字符圖形;每種大小和字體要保存幾千種或更多的字符圖形,這就需要文件的容量很大。例如,使用線密度為16行/mm的激光打印機,需要大約3M字符的存貯容量來保存7千個10點(3mm×3mm)字符(JIS第一和第二級)。這樣,為每個字符保存5種不同大小和2種不同字體(明體和哥特體),就大約需要30M的存貯容量。為保存40點的字符圖形,既使是一種字體,也需要大于40M字節的存貯容量。
在現有技術的系統中,如上述出版物中所描述的,字符圖形通常存貯在一種存貯設備如磁盤上,其問題在于需要用于字符圖形的大容量的存貯設備。
本發明的目的是,提供一種能夠在較小容量的存貯器中存貯大量字符圖形的字符圖形應用系統。
本發明的另一個目的是,提供一種存貯字符圖形的方法,該方法能夠減少保存字符圖形所需的存貯容量和易于對字符圖形數據進行管理。
為達到上述目的,根據本發明的字符圖形應用系統,為與字符相關的多個字符中的每一個字符提供有大小與字體各異的多種不同類型的字符圖形,其特征在于,利用一個碼表將上述每一個字符圖形事先壓縮為一個碼,其中該碼表對應于被壓縮的字符圖形的類型,將得到的碼存貯起來,根據待輸出字符的碼的指定和其圖形類型,利用對應于該圖形類型的碼表中的一個碼表將壓縮碼恢復為對應的字符圖形,并輸出被恢復的字符圖形。
一個字符圖形是一個設計好的圖形,其中可能重復出現一些連接點的固定圖形,因為例如一種特定大小與字體的字符圖形可能有該大小與字體所特有的標準線寬度,并可能連續存在相同的線結構。換句話說,因為特定類型的字符圖形具有該類型特有的特點,所以可以利用適用于它們的壓縮碼將它們進行編碼,從而得到數據量減少的壓縮碼。例如,利用在TakahikoFukinuke的“用于FAX和OA的圖象信號處理”(NikkanKogyoShinbunsha,PP.67-75)中所描述的一維運行碼,通過給相應于上述標準線寬度的運行長度指定較短的碼,可以對每個字符圖形獲得高的壓縮能力。
根據本發明,為優化壓縮特定類型的字符圖形,可將一個能從一種字符圖形類型變化到另一種字符圖形類型的特定碼表用于相應的字符圖形類型,因而相對于現有技術可以大量減少字符圖形所需的存貯容量。
利用上述碼表對字符圖形進行簡單編碼而得到的圖形數據對不同字符有不同長度。這樣,用于從壓縮的字符圖形文件中讀出數據的管理表變得很復雜。
為有利于讀出壓縮的字符圖形數據,根據本發明的保存字符圖形的方法的特征在于,字符圖形壓縮之后,所有通過壓縮得到的數據都被調整為一個固定的記錄長度,該長度由最大壓縮數據長度所決定,然后存貯該固定記錄長度數據。
例如,以下述方式保存一個固定記錄長度的數據首先,對于特定大小和字體的一組字符圖形準備一個適當的碼表。接著,利用這種碼表,將字符圖形編碼為壓縮數據并確定這些數據的最大長度。然后,將每個固定長度調整為所確定的最大長度并對應于字符圖形的壓縮數據存貯起來。給每個短于記錄長度的數據予填充位以將其擴展到固定記錄長度。當對應于特定字符圖形的特定壓縮數據太大時,可以這樣一種方式通過更新碼表來縮短記錄長度,即縮短對于上述特定字符圖形的數據。
結合附圖閱讀下列詳細說明,就可以理解本發明的上述和其它目的、優點、工作方式和新穎特征。
圖1顯示本發明第一實施方案的一個文件處理系統的結構框圖;
圖2A和2B顯示不同大小(類型)的字符圖形;
圖3A-3D分別對應于圖2A-2B的字符圖形31-34的行程頻率分配表;
圖4A-4C表示不同字符類型的行程頻率分布的特點的表;
圖5A-5B分別根據圖4A-4C所示行程頻率分配所準備的示范碼表;
圖6字符圖形的另一個實例;
圖7圖6所示的字符圖形的行程頻率分布的表;
圖8根據圖7的頻率分布所準備的示范碼表;
圖9壓縮字符圖形的實例;
圖10用于本發明第一實施方案的管理表的結構;
圖11表寫入程序的流程圖;
圖12第一實施方案中存貯字符圖形程序的流程圖;
圖13用于實現本發明第二實施方案的系統的框圖;
圖14原始字符圖形的說明;
圖15經修改用于調整數據長度的行程頻率分布表;
圖16根據圖15中頻率分布所準備的示范碼表;
圖17得出行程頻率分布的程序的流程圖;
圖18確定壓縮字符圖形的最大數據長度的過程的流程圖;
圖19將原始字符圖形變換為固定長度壓縮字符圖形的過程流程表;
圖20利用固定長度壓縮字符圖形展開字符圖形的過程流程圖;
圖21按照圖20的流程圖工作的文件處理系統的結構;
圖22用于圖21的系統中的地址管理表的一個實施方案。
圖1是根據本發明的文件處理系統的一個實例的框圖。該系統包括打印文件數據的打印機1,顯示文件數據的位表顯示器2,恢復壓縮碼字符圖形的展開(或擴展)處理器3A,按照其中存貯的程序工作的數據處理器4,存貯數據處理器4所執行程序的存貯器5,輸入例如指令的鍵盤6,存貯文件數據的存貯器7A和7B,存貯與字符圖形有關的表的存貯器8和9A-9C,文件數據的文件12,另一個分為幾個區13-15C以存貯壓縮字符圖形的文件20,以及與它們相連的總線21。
首先敘述壓縮字符圖形文件20的結構。根據本發明,壓縮的字符圖形數據存貯在文件中。作為一種壓縮方法的實例,這里講述上述Fukinuke的出版物中所提到的一維運行碼方法。
例如,圖2A表示大小為3×3象素的字符圖形31和32,圖2B表示大小為6×6象素的字符圖形33和34。雖然為敘述簡單起見只顯示了非常簡單的字符圖形,但本發明也可應用于包括多個象素的字符圖形。
根據上述數據壓縮方法,參照碼表進行行程編碼,這里,所謂“行程”是指從例如最左邊象素開始掃描每行字符圖蔚南笏廝玫降囊幌盜邢嗤丈ɑ蠔諢虬祝┑南嗔諳笏亍@紓諭夾 1中發現的行程為在第一行或最上一行中,黑色象素1,白1,黑1;在第2行中,黑3;在第3行中,黑1,白1,黑1。
圖3A-3D表示字符圖形行程頻率分配表。表41表示圖形31的行程頻率分配,其中有4次黑1的運行,2次白1的運行,一個黑3的運行。同樣,表42-44分別表示圖形32-34的行程頻率分配。
圖4A的表45表示將表41-45的數據加到一起所得到的頻率分配;圖4B的表46表示將表41和42的數據加到一起所得到的頻率分配,其中表41和42與大小為3×3象素的字符圖形有關;圖4C的表47表示將表43和44的數據加到一起所得到的頻率分配,其中表43和44與大小為6×6象素的字符圖形有關。
從這些表中可了解到,由于典型的線寬度,行程頻率具有顯著的特點。具體地說,在表41和42中,頻率在黑1和白1有高峰,在這些表的總和中,即在表46中,這個特征仍然存在。同樣,在表43和44中峰出現在黑2和白2,這個特征在這些表的總和-即表47中仍存在。但上述特征在表41-44的總和表45中卻不明顯。綜上所述,通過給具有共同典型線寬度的一種大小與字體的一組字符圖形分配一組相應的壓縮碼,然后給包括不同典型線寬度的字符圖形分配一組壓縮碼,則可取得較高的壓縮能力。
圖5A-5C是用于本發明的壓縮碼表51-53的實例。表51-53是分別從表45-47而得到的壓縮碼表,這是利用上述出版物所描述的已知方法以對每個數據進行高度壓縮的方式得到的。例如,當表51被用于壓縮相應于表46(即字符圖形31和32)的數據時,需要32位來表示其結果,而當表52被用于同樣的數據時,只需16位。事實上,除這些位之外還需要一些附加位,例如,表示一行終點的碼和表示一行起點的顏色的碼。進而,在實際應用中,最好假設每行壓縮的字符圖形必須由一個表示白圖象元素的碼開始。以黑圖象元素開始的行,例如字符圖形34的第一和第二行,應在壓縮碼之前的起始處被給予一個假定的白圖象元素,而實際上它不存在因而數值為零。在這種前提下,例如圖形36在第一或最上一行中包括白“0”和黑“6”,在第二行中包括白“0”,黑“1”,白“4”和黑“1”,在第三行中包括白“3”,黑“2”和白“1”。
圖7的表48表示圖6中三種字符圖形的行程頻率分配,其中假設每行以白圖象元素開始。它顯示出沒有黑“0”,有12個白“0”。表54表示由上述表48所準備的一組運行碼的實例。這里,較短的碼被分配給表48中經常出現的運行,從而減少壓縮后的數據量。例如,在表48中,黑“2”的頻率是高值10,這樣將短碼“1”分配給黑“2”。請看表54。
通過利用表54的壓縮,圖形34-36能分別轉換為壓縮數據CP34-CP36,如圖9所示。例如,圖形CP34編碼如下第一行L1的白“0”和黑“6”分別被編為“1”和“01”;第二行L2的白“0”和黑“6”分別被編為“1”和“01”;第三行L3的白“2”,黑“2”和白“2”分別被編為“01”,“1”和“01”。
由于上述原因,本發明規定,應準備用于不同類型字符的多個碼表并將其存貯在字符圖形文件中。存貯在區域14A,14B和14C中的碼表準備用于恢復不同大小或字體的不同組的字符圖形,并用于存貯在區域15A,15B和15C中的壓縮字符圖形。
圖10示出存貯在文件20的區域13中的管理表60的一個實例。表60分別管理用于每個字符碼61的第一類型、第二類型和第三類型字符圖形文件15A、15B和15C中的壓縮字符圖形存貯地址62A、62B和62C,以及第一類型、第二類型和第三類型字符圖形的數據長度63A、63B和63C。具體地說,例如,每個地址包括構成文件存貯媒介的磁盤的磁頭號,磁道柱面號,區段號以及區段中從起始字節開始的字節號。數據長度由字節數和位數的結合表示。
接著,參考圖11的流程圖描述圖1系統所執行的表寫入程序。
系統啟動后,首先以壓縮字符圖形文件20的區域13中讀出管理表60并將其裝入存貯器8(步驟100)。接著,設置準備存貯碼表14A的存貯區域9A的地址(步驟102),在此裝入從壓縮字符圖形文件20中讀出的碼表14A(步驟104)。重復類似操作,直至所有碼表14A-14C都裝入存貯區域9A-9C。
下面參考圖12的流程圖解釋文件數據檢索操作,作為本系統字符圖形擴展過程的一個實例。首先杉 指定要檢索的文件數據(步驟120),搜索文件12并將所指定的文件數據裝入存貯器7A(步驟122)。在步驟124中,讀出文件數據第一字符的字符碼,在步驟126中,讀出該字符的大小和字體。根據該字符碼和字符類型查詢已存貯在存貯器8中的管理表60,以得到待讀出壓縮字符圖形的地址62和長度63(步驟128)。在步驟130中,查詢存貯器7A中的文件數據以獲得展開字符存貯器7B的地址。在步驟132中,根據上述地址62和數據長度63從壓縮字符圖形文件20中讀出相應于上述字符碼的壓縮字符圖形。在步驟134中,字符圖形由展開處理器3A恢復并在存貯器7B中擴展。恢復過程包括在由第126步所得到的字符圖形類型和用于第102步的地址所確定的碼表上順序檢索上述壓縮字符圖形的位鏈,將檢索后得到的行程的黑或白圖象元素寫到存貯器7B的上述位置。
在上述實施方案中,恢復過程是由擴展處理機3A完成的。它也可以由處理器4完成。同時,每種字符圖形類型唯一地對應于壓縮字符圖形文件20中的一個碼表。一個碼表也可以共用于兩個或更多的字符類型,如較大但線條較細的字符類型和較小但線條較粗的字符類型。進而,還可以根據筆劃數將相同類型的字符分為幾個字符組,不同字符組用于不同的碼表。在上述實施方案中字符圖形存貯在文件中,它還可以存貯在存貯器(如ROM)中。
下面敘述本發明的另一個實施例,其中,每個字符類型的壓縮字符圖形數據可以固定長度格式存貯起來。
圖13是將數據壓縮為固定長度格式的系統的結構框圖。3B表示一個根據碼表將字符圖形數據轉變為壓縮數據的壓縮處理器;30表示一個原始字符圖形文件,其中多種類型的字符圖形以預壓縮方式存貯起來;10表示用于存貯字符圖形文件管理表的存貯器,該表指出哪種類型的字符圖形存貯在哪個文件中;20表示用于存貯壓縮字符圖形的文件;其它部分與圖1所示相同。
原始字符圖形文件30對每種字符類型都有一個地址表31A(31B)和一個字符圖形區域32A(32B)。在字符圖形區域32A中,存貯著字符圖形;在字符34、35、36的大小為6×6圖象元素(如圖6所示)的情況下,它們分別以點圖形P34、P35、P36存貯起來,如圖14所示。
根據本發明,在每個上述字符圖形區域32A(32B)中數據的基礎上為每種字符類型準備一個碼表14A。
為準備該碼表,如圖17所示,從字符圖形區域32A中一個字符接一個字符地讀出原始字符圖形數據(步驟202);然后掃描每行字符圖形(步驟204);累加每個行程的出現頻率(步驟206)。對字符圖形區域32A中的所有字符圖形重復此過程,重復過程完成后(步驟208),將碼指定給運行頻率分配表(見圖7)中的運行,較短的碼給較常出現的運行,以準備碼表14A(見圖8;步驟210)。
利用上述字符表對字符圖形壓縮編碼所得到的數據具有不同的長度。在不同長度數據的情況下,字符圖形管理表必須包括起始地址、數據長度以及字符碼,數據管理很復雜。如果數據以固定長度格式保存,則利用字符碼通過簡單的計算就可很容易地找到字符圖形的數據地址,從而使數據管理很簡單。
根據本發明,利用上述碼表14A對字符圖形區域32A中的每個字符圖形進行壓縮編碼,得到壓縮編碼數據的最大值,見圖18的流程圖。具體地說,從字符圖形區域32A中讀出原始字符圖形(步驟212)并壓縮編碼(步驟214);每個壓縮編碼的字符圖形的數據長度與現有的最大數據長度相比較,進行所需的更新,并存入更新的最大數據長度(步驟216)。對區域32A中的所有字符圖形重復此操作,以得到與上述碼表相關的壓縮字符圖形的最大數據長度MAX(步驟218)。
根據本發明,所有的壓縮字符圖形長度都被調整為上述長度MAX并存入文件20。
具體地講,如圖19所示,原始字符圖形一個一個地從字符圖形文件區32A中讀出(見步驟311);根據編碼表14A對它們進行壓縮編碼(步驟312);然后,以固定長度MAX壓縮數據記錄的形式將它們存入文件20的壓縮字符圖形區15A之中(步驟313)。如果某個壓縮數據的長度短于MAX,則在其端部加入填充位。例如,如果MAX是50位,則給圖9所示的26位壓縮字符圖形CP34和CP35加24位填充位,給另一46位壓縮字符圖形CP36加4位填充位;以此調節它們,使之成為固定長度記錄。
對在文件區32A中的所有字符圖形重復上述夾窩顧豕蹋ú街 14)。
對文件區32B中的字符圖形執行圖17-19中上述的操作可以在文件20中得到另一編碼表14B和另一組壓縮字符圖形15B。
地址表16A(16B)已存入了編碼表14A的地址、壓縮字符圖形文件15A′(15′B)的起始地址和每個壓縮字符圖形的記錄長度。
在定長壓縮字符圖形的情況下,數據長度MAX和字符數決定了文件區15A′和15B′的存貯容量。因此,為了減小存貯容量,應減小壓縮字符圖形的最大數據長度。減小MAX的一種方法是分析最長壓縮字符數據的行程頻率分布并修改碼表,以減少這些壓縮字符數據。例如,如圖9所示,當使用圖8的表時,圖形34、35和36被分別壓縮編碼為66、26和46位數據。此時,定長記錄的長度MAX是46位。現在,最大數據長度的圖形36的一個行程頻率分布中的相對高頻具有黑1(4)、白1(2)和白3(2)。為了減小這些運行碼,對每個頻率加上10,在圖7中的頻率分布表48中加重黑1、白1和白3的頻率。圖15表示了這樣修改的頻率分布表48′。另外,圖16表示了碼表54′,在修改的頻率分布表48′的基礎上把較短的碼指定給常發生的運行,便可得到該碼表54′。
當為了對圖形34、35和36壓縮編碼而用碼表54′時,它們分別被編為42、42和38位數據。因此,定長記錄所需的記錄長度為42位,較高的壓縮性因之得以實現。即使在定長記錄情況下,以可以縮短最大壓縮數據的方式重復地更新碼表,也可以增加壓縮性。
下面說明利用上述定長壓縮字符圖形的一個文件處理系統。圖21的框圖表示該系統的總結構,它與圖1的系統相似。
在這個實施例中,地址管理表80包括例如字符類型81、壓縮的字符圖形數據長度(定長)82、字符圖形文件區83的起始地址和碼表84的地址,如圖22所示。制備該表時參照了地址表16A和16B。
按照圖20的流程進行壓縮字符圖形到字符圖形的轉變。從文件12讀入存貯器7A的文件中的字符被轉變為字符圖形,它們分布在存貯器7B上。
首先,從存貯器7A中讀出要轉換的每個字符的字符碼C和字符類型i(步驟324)。然后查詢地址管理表80獲得與字符類型i相應的數據長度li,壓縮字符圖形文件區的起始地址Si及碼表地址Ti(步驟326)。字符碼C與數據長度li的積與文件區起始地址Si的和是上述要轉換的壓縮字符圖形的存貯地址Ai。根據這個地址,從文件20中讀出壓縮字符圖形(數據長度是(i),見步驟328。接著,從文件20的地址Ti讀出碼表(步驟330);用該碼表恢復上述壓縮字符圖形(步驟332),如此恢復的字符圖形就分布在存貯器7B上(步驟334)。對于存貯器7A中要轉換的所有字符都重復上述步驟(步驟336)。
從上面敘述中可以得知,本發明可以定長格式存貯字符圖形數據。因此可以使存貯字符圖形所需的管理表很簡單,所以不需用象變長記錄所需的復雜的數據管理。另外,通過減少存貯所需的存貯長度,即使在定長記錄的情況下也可進一步增加壓縮性。
權利要求
1.字符圖形應用系統,它對于每個字符都存有多個不同類型的字符圖形,它包括與相應字符圖形類型相適應的多個碼表裝置;多個文件裝置,每個都相應于一個字符圖形類型并存有多個壓縮字符圖形;根據指定的一個字符碼和一個字符圖形類型讀出一個與指定的字符碼相應的壓縮字符圖形的裝置,該裝置根據與所述指定的字符圖形類型相應的碼表存貯壓縮字符圖形。
2.如權利要求1所述的系統,還包括管理表裝置,它定義字符碼、字符圖形類型和所訪問的文件的地址之間的關系;字符圖形恢復裝置,它查詢所述管理表,以便訪問多個文件裝置中的一個。
3.權利要求1所述的系統,其中每個所述的壓縮字符圖形具有一固定長度,該長度被確定為其所屬的字符圖形類型。
4.如權利要求1所述的系統,其中每個所述碼表確定與黑圖象元素及白圖象元素的行程相應的碼;所述文件裝置以所述碼的結合形式存貯了壓縮字符圖形。
5.存貯壓縮字符圖形的方法,它包括以下步驟找出壓縮數據的最大長度,該壓縮數據是根據預定編碼規則壓縮屬于一個字符類型的一組多個原始字符圖形而得到的;將壓縮數據的記錄長度調整成所述最大長度并存入存貯裝置,該記錄長度是按預定編碼規則對所述原始字符圖形進行編碼而得到的。
6.如權利要求5所述的方法,還包括以下步驟找出與屬于所述組的原始字符圖形一致的特征;根據所述特征確定所述編碼規則。
7.如權利要求6所述的方法,還包括以下步驟修改所述編碼規則,以便根據原始字符圖形的特征縮短所述最大長度,壓縮形式的所述原始字符圖形具有所述最大數據長度;根據所述修改的編碼規則對所述原始字符圖形編碼,并以所述縮短的最大長度的定長記錄的格式將其存貯起來。
全文摘要
字符圖形應用系統具有多個字符圖形。它們對與相應字符碼有關的每個字符而言在大小及字體上互不相同。在該系統中,利用與字符類型相應的多個碼表事先對每種類型的字符圖形進行壓縮編碼。根據要輸出的字符的一個碼和一個圖形類型的指定,利用與該圖形類型相應的碼表存貯與其相應的壓縮的編碼字符圖形,并將其輸出。
文檔編號G06K15/02GK1031144SQ8810488
公開日1989年2月15日 申請日期1988年8月5日 優先權日1987年8月5日
發明者武田晴夫, 深沢棯 申請人:株式會社日立制作所