一種壓縮字形數據的方法
2023-08-06 08:40:11 2
專利名稱:一種壓縮字形數據的方法
技術領域:
本發明涉及使用數字、字母、符號等字形的一個字形系統,例如顯示在屏幕上的顯示裝置和以印刷一頁作為一個單元或者雷射印刷機等頁式印表機上所用的字形系統。特別是涉及一種壓縮字形數據的方法,這些字形數據的每一個字節被壓縮成為一個專用的壓縮代碼並予以儲存。
通常,如
圖1所示,使用一組字形的字形系統,由一個處理機1、一個字形存儲器2、一個幀緩衝存儲器3和一個視頻信號發生裝置4組成。其中,處理機1用於控制該系統的整個工作過程;字形存儲器2用於存儲每一個有關的數字、字母和符號等一組字形;幀緩衝存儲器3用於由該處理機1控制儲存一頁總量的一組字形;視頻信號發生裝置4用於由處理機1控制將存儲在幀緩衝存儲器3中的那些字形作為與視頻時鐘信號同步的串行方式的視頻信號輸出。
其中,字形存儲器2可以如只讀存儲器(ROM)半永久性地存儲那些字形,或者可以利用一個輔助裝置,例如用作隨機存取存儲器(RAM)之類的軟盤存儲那些字形。
按照如上所述建立的字形系統,處理機1查找從字形存儲器2中輸出的字形並將其存儲到幀緩衝存儲器3的相應存儲單元;在字形存儲器2中存儲著與最後輸出的字形相同的字形,這些字形輸出並存儲到幀緩衝存儲器3中。
也就是說,在字形存儲器2中存儲著比特圖字形〔bit maP;(二進位數)位圖〕這樣,當一頁量的比特圖字形被存儲在幀緩衝存儲器中時,視頻信號發生裝置4就由處理機1控制將存儲在幀緩衝存儲器3中的這些比特圖字形作為串行的視頻信號輸出並保持與視頻信號時鐘同步。
象這樣一個字形系統,因為所存儲的比特圖字形是以最後輸出的形式存在的,所以處理比較簡單,處理速度也比較快。但其缺點是,由於每個分離的字形都要用相應的存儲器來儲存,當綱點數比較多、即一個字形的比特圖的規模比較大的情況下,為儲存一個字形就需要許多存儲器。因此容納所選擇的字形就受到許多限制。在一個需要高解析度的系統,例如雷射印刷機中,象這樣的限制在處理朝鮮字「
」(Hangeul)和漢字「看機」(kanji)等情況時將更嚴重地產生。
因此,本發明的目的在於提供一種字形數據的壓縮方法,它能夠通過存儲經壓縮的字形數據的每個字節而不存儲字形數據本身,從而減少所使用的存儲器的容量。
本發明的目的是這樣實現的採用字形數據中緊鄰某字節的前一個字節作為參考字節,而該字節作為比較字節,將這兩個字節進行比較,根據比較結果給定專用的壓縮代碼並將其存儲到存儲器中。
下面對附圖予以簡要說明。
圖1表示的是說明現有技術通常採用的字形系統的方框圖;
圖2為表示按本發明的壓縮方法對一組字形數據進行壓縮處理的方框圖;
圖3為表示按本發明的壓縮方法對一組字形數據進行壓縮處理的順序的示意圖;
圖4為按本發明的壓縮方法,根據比較結果給出的壓縮代碼表;
圖5A-5L為表示按本發明的壓縮方法的比較實例的示意圖;
圖6為本發明的壓縮方法的操作程序圖;
圖7為應用本發明的壓縮方法所顯示的一組字形的示例圖;
下面對本發明予以詳細說明。
圖2為表示按本發明的壓縮方法對比特圖字形數據進行壓縮處理的方框圖。如附圖所示,存儲在比特圖字形存儲器12中的比特圖字形數據根據壓縮程序11分為參考字節和比較字節並將其進行比較,根據比較結果給定專用的壓縮代碼並存儲到壓縮代碼存儲器13中。
圖3為表示壓縮一組字形數據的順序的圖解。如圖所示,壓縮一組字形數據的實現方法是,將其分為若干列,在同一列中從頂到底進行掃描。此刻,要被壓縮的一組字形數據的某一字節以緊鄰其前的那個字節作為參考字節進行比較,而每列的第一個字節則以OOH作為參考字形進行比較(此處,H表示十六進位數),因為第一個字節沒有緊鄰其前的字節作為參考字節。對每一個字節都根據比較結果給定專用的壓縮代碼。當對一組字形數據進行壓縮時,將這些字形數據分為壓縮數據和非壓縮數據分別予以存儲。
圖4給出了一專用壓縮代碼表。這些壓縮代碼同12種比較結果相對應,而這些比較結果是根據本發明的壓縮方法,將參考字節同比較字節經比較而得。這些壓縮代碼是在檢測出12種情況的累加次數以後,把一個明體印刷字「
」字(Hangeul),用霍夫曼法根據所述的統計數據以最佳方式給定的。
這些壓縮代碼的給定方法將參照圖5A-5L的比較實例圖予以詳細說明。
首先,如圖5A所示,當參考字節和比較字節相同時,如圖中的情況那樣,參考字節是60H而比較字節、即要被壓縮的該字節也是60H,壓縮代碼給定為「0」;如圖5B所示,當比較字節和參考字節不同且比較字節為OOH(全為白的)時,壓縮代碼給定為「1100」;如圖5C所示,當比較字節和參考字節不同且比較字節為FFH(全是黑的)時,壓縮代碼給定為「11010」;另外,如圖5D所示,當參考字節向左移一位(左移位、SL)後與比較字節相同時,如圖中的參考字節是01H而比較字節是02H那樣,壓縮代碼給定為「111111」;如圖5E所示,當參考字節向右移一位(右移位、SR)後與比較字節相同時,如圖中的參考字節是80H而比較字節是40H那樣,壓縮代碼給定為「11110」;如圖5F所示,當參考字節向左移一位後再與參考字節相「與」(左移位-「與」、SL-AND)所得結果與比較字節相同時,如圖中的參考字節是03H而比較字節是02H那樣,壓縮代碼給定為「11011」;如圖5G所示,當參考字節向左移一位後再與參考字節相「或」(左移位-「或」、SL-OR)所得結果與比較字節相同時,如圖中的參考字節是03H而比較字節是07H那樣,壓縮代碼給定為「10110」;如圖5H所示,當參考字節向右移一位後再與參考字節相「與」(右移位-「與」,SR-AND)所得結果與比較字節相同時,如圖中的參考字節是COH而比較字節是40H時,壓縮代碼給定為「111110」;如圖5i所示,當參考字節向右移一位後再與參考字節相「或」(右移位-「或」,SR-OR)所得結果與比較字節相同時,如圖中的參考字節是80H而比較字節是COH那樣,壓縮代碼給定為「10111」;如圖5j所示,當參考字節的第i位之後的各位的狀態均翻轉(翻轉1,REV1)後所得結果與比較字節相同時,也就是說,如圖中的參考字節是OOH而比較字節是1FH那樣將參考字節的第三位之後的各位的狀態翻轉,則壓縮代碼給定為「1010」和「011」;該「011」表示第3位是該第i位;如圖5k所示,當參考字節的第i位之後的各位的狀態均被翻轉後,再將該字節的第j位之後的各位的狀態翻轉所得結果與比較字節相同時,也就是說如圖中的參考字節是OOH而比較字節是1CH那樣,是將參考字節的第3位之後的各位的狀態均翻轉之後再將第6位之後的各位的狀態翻轉(翻轉2,REV2),壓縮代碼給定為「100」、「011」和「110」,該「011」和「110」分別表示第i位為「3」和第j位為「6」;如圖5L所示,當不屬於上述11種情況中的任何一種時,如圖中的參考字節是10H而比較字節是78H那樣,則給定壓縮代碼為「1110」,其比較字節為78H。
圖6為表示根據本發明的壓縮方法來壓縮一組字形數據的方法的信號程序框圖。圖中,首先確定OOH作為一個參考字節,隨後讀出第一列的第一個字節並將它作為一個比較字節同參考字節OOH進行比較,此刻,當比較字節和參考字節相同時,壓縮代碼「0」被存儲到緩衝存儲器1中;當比較字節是OOH時,也就是說,當比較字節的各位全為「白的」時,壓縮代碼「1100」被存儲到緩衝存儲器1中;當比較字節是FFH時,也就是說,當比較字節的各位全為「黑的」時,壓縮代碼「11010」被存儲到緩衝存儲器1中;當參考字節向左移一位(左移位,SL)後與比較字節相同時,壓縮代碼「111111」被存儲到緩衝存儲器1中;當參考字節向右移一位(右移位,SR)後與比較字節相同時,壓縮代碼「11110」被存儲到緩衝存儲器1中;當參考字節向左移一位後再與參考字節相「與」(左移位-「與」,SL-AND)所得結果與比較字節相同時,壓縮代碼「11011」被存儲到緩衝存儲器1中;當參考字節向左移一位後再與參考字節相「或」(左移位-「或」,SL-OR)所得結果與比較字節相同時,壓縮代碼「10110」被存儲到緩衝存儲器1中;當參考字節向右移一位後再與參考字節相「與」(右移位-「與」,SR-AND)所得結果與比較字節相同時,壓縮代碼「111110」被存儲到緩衝存儲器1中;當參考字節向右移一位後再與參考字節相「或」(右移位-「或」,SR-OR)所得結果與比較字節相同時,壓縮代碼「10111」被存儲到緩衝存儲器1中;當參考字節的第i位之後的各位的狀態均翻轉(翻轉1,REVI)所得結果與比較字節相同時,壓縮代碼「1010」被存儲到緩衝存儲器1中,同時,這個「i」也用三位予以存儲;當參考字節的第i位之後的各位的狀態均翻轉後再將第j位之後的各位的狀態翻轉(翻轉2,REV2)所得結果與比較字節相同時,壓縮代碼「100」被存儲到緩衝存儲器1中;同時,這個「i」和「j」也分別以三位依次加以存儲;當不屬於上述11種情況的任何一種時(新情況,NEW),壓縮代碼「1110」被存儲到存儲器1中,同時也將該比較字節存儲到緩衝存儲器2中。
此後,將該比較字節作為參考字節,讀出下一個字節並將其作為比較字節,然後重複進行上述的比較作業,將壓縮代碼存儲到緩衝存儲器1中,同時將未經壓縮的比較字節存儲到緩衝存儲器2中。
如上所述的本發明的壓縮方法的一個應用例子將參照下文的附圖7這一實例予以說明。
圖7是一個有關朝鮮字「
」(Hangeul)的字形的實例圖。圖中,當就第一列的一組字形用本發明的壓縮方法進行壓縮時,就得到如下的表1。
這就是說,因為從第1列的第1個字節到第7個字節的參考字節和比較字節相同,每一個壓縮代碼都給定為「0」;當作為參考字節的第7個字節的第3位之後的各位的狀態均翻轉後再將第6位之後的各位的狀態翻轉所得結果與比較字節-第8個字節相同,從而第8個字節的代碼就給定為「100」;同時給定分別表示該第3位和第6位的非壓縮代碼「011」和「110」;當作為參考字節的第8個字節向右移一位後與比較字節-第9個字節相同時,於是第9個字節的壓縮代碼給定為「11110」;當第1列的所有字節都用這種方法進行壓縮時,其給定的壓縮代碼和非壓縮代碼如上述表1所示。然後將這些壓縮代碼存儲到緩衝存儲器1、而將這些非壓縮代碼存儲到緩衝存儲器2。
這樣,整個第一列的壓縮代碼為61位而非壓縮代碼為9位,其總數為70位。因此,同未被壓縮前的第一列的總位數32×8=256位相比,僅為其27.3%。
正如上面所詳述的那樣,根據本發明,將一組字形數據的每一個字節都進行壓縮後存儲,為存儲經壓縮後的這些數據所需要的存儲器的容量將減少,從而更多的字形數據可以存儲在該存儲器中。其效果還表現在對於40×40個綱點組成的明體「 」字(Hanguel),存儲器的容量可節省達75%左右。
權利要求
1.一種壓縮字形數據的方法,其特徵在於對一個字形列的第一個字節以OOH作為參考字節,對非第一個字節的其它字節以緊鄰其前的那個字節作為參考字節,要被壓縮的該字節作為比較字節,然後,將參考字節和比較字節進行相互比較並根據下述12種情況(1)當參考字節和比較字節相同時;(2)當比較字節是OOH時;(3)當比較字節是FFH時;(4)當參考字節向左移一位後與比較字節相同時;(5)當參考字節向右移一位後與比較字節相同時;(6)當參考字節向左移一位後再與參考字節相「與」所得結果與比較字節相同時;(7)當參考字節向左移一位後再與參考字節相「或」所得結果與比較字節相同時;(8)當參考字節向右移一位後再與參考字節相「與」所得結果與比較字節相同時;(9)當參考字節向右移一位後再與參考字節相「或」所得結果與比較字節相同時;(10)當參考字節的第i位後的各位的狀態被翻轉所得結果與比較字節相同時;(11)當參考字節的第i位後的各位的狀態被翻轉後再將第j位後的各位的狀態翻轉所得結果與比較字節相同時;(12)當不屬於上述11種情況的新情況時;給定相應的各專用壓縮代碼並將其儲存,同時,用三位表示的該第i位和第j位的代碼以及不屬於上述11種情況的新情況的未經壓縮的原字節也都被儲存。
2.根據權利要求1所述的壓縮字形數據的方法,其特徵在於與每種情況相應的專用壓縮代碼分別規定為0、1100、11010、111111、11110、11011、10110、111110、10111、1010、100、1110。
全文摘要
壓縮一組字形的方法是將其分為若干列,在同一列中從頂到底進行掃描,此刻要被壓縮的一組字形數據的某一字節以緊鄰其前的那個字節作為參考字節進行比較,而每列的第一個字節則以00H作為參考字節進行比較(在此,H表示十六進位數),因為第一個字節沒有緊鄰其前的字節作為參考字節。對每個字節都給定與比較結果相應的專用代碼,然後分別存儲到相應的壓縮數據存儲器和非壓縮數據存儲器。
文檔編號B41J5/44GK1037412SQ89103100
公開日1989年11月22日 申請日期1989年3月29日 優先權日1988年3月29日
發明者金正烈 申請人:株式會社金星社