專利名稱:高分辨率字形高速旋轉的方法
本發明屬于漢字信息處理領域。
激光直接制版機被稱為第五代照排機,是用激光束直接打在版材上,感光的版材經處理后可以上膠印輪轉機印刷;這樣避免了出底片、顯影、定影、制版等工序,將進一步降低成本和提高效率。美國已有脫機方式的激光制版設備,其工作流程如下先用第三代CRT照排機在相紙上輸出一本書或報紙的各個頁的版面,再手工拚成完整的一塊四開版面的版樣(例如圖5所示),然后用傳真方式掃描此版樣,把“0”,“1”信息送給激光制版設備在版材上形成最終版面。這種脫機方式若應用于近距離內,則顯得工序多,效率低;若應用于遠距離,由于傳送的版面信息量很大,將較長時間地占用遠距離通訊線路。我們研制的是計算機-激光直接制版系統根據排版要求,由計算機和照排機的控制器形成版面供激光直接制版機輸出;這一版面即最終的印刷版面,應適合膠印輪轉機和現有各種開本折頁機的規格,其形式如圖5所示。這樣的系統國外還沒有。
圖5(1)表示四開大報的版面,僅一頁;虛箭頭表示旋轉鏡主掃描方向,實箭頭表示輸出過程中版材慢速移動的方向(副掃描方向)。此時字的方向朝上,即漢字的上方與副掃描方向一致,我們稱為0°字。
圖5(2)是八開小報的版面,共兩頁。字的方向朝左,與副掃描方向相差90°,稱為90°字。
圖5(3)是十六開書版版面,共四頁。為了適應現有折頁機,上面兩頁的字朝下,即180°,下面兩頁的字朝上,即0°。
圖5(4)是三十二開書版版面,共八頁。為了適應現有折頁機,左邊四頁的字朝右,即270°,右邊四頁的字朝左,即90°。
激光直接制版機在掃描輸出過程中只有主掃描和副掃描兩個機械動作。為了簡化機械,不宜用機械方法對版材作90°,180°和270°的旋轉;而應該依靠控制器實時地產生圖5所示的四種形式的版面。常規的字形旋轉方法往往是在產生了一種方向(一般0°)的字形點陣后再使點陣旋轉,這一旋轉無論用程序還是微程序實現,速度都很慢;而我們希望產生90°,180°,270°的漢字點陣速度與產生0°漢字點陣速度差不多。在EPOO95536A1中,我們提出了把漢字字形壓縮信息復原成點陣的方法;在中國專利申請85100285中,我們提出了實現這一方法的一個節省的設備方案。在中國專利申請85100275中,我們提出了字形發生器和控制器共享設備的方案。本發明是上述三項發明的進一步發展。目的是高速度產生出排板需要的四種角度的字形。為了產生90°,180°,270°字,我們對85100285所述的WI〔9〕和WA〔8〕這兩個部件(可以是門陣列)增加若干器件以擴充功能。下面敘述詳細方案。本發明的附圖1-4引自85100285和85100275。
EP0095536AI的第17頁和85100285第5頁敘述了把一個高分辨率漢字字形壓縮信息復原成漢字點陣的步驟(a),(b),(c)。經過復原步驟(a),(b)后,在標記點陣存儲器WS中形成了一個漢字的標記點陣(見85100285的第6頁),這一標記點陣可以認為是一個0°的標記點陣。不管字的角度如何,復原步驟(a)(b)都一樣,形成的標記點陣也一樣,差別在于步驟(c)的執行過程。我們要求在執行步驟(c)過程中,把0°的標記點陣轉換成0°,90°,180°,或270°四種角度的最終點陣,并以合適的順序寫入主存儲器SS的掃描緩沖區的合適單元中去。
圖6列出一個96×96的點陣。為了下面敘述方便起見,對于點陣的每個點,我們用兩個坐標指示。例如(2,7)指示點陣中第2行,第7列的點。
1.一線掃描,0°字的復原步驟(c)的執行次序我們先討論激光直接制板機主掃描方向每次掃一條線的情況(稱為一線掃描)。對于一線掃描0°字,我們在85100285的第25~26頁中詳細列出了微程序流程,著重分析了轉換16點循環中各個部件平行協調工作的情況。下面我們再一次列出0°字的復原步驟(c),對照圖5(1)和圖6,著重分析執行次序和FD輸出形式。
0→Len 步驟(c)永遠從(0,0)點(見圖6)開始。
FWE 把標記點陣的(0,0),(0,1)(0,2),(0,3)四點讀入WSD。
FDSH,Len+1FI對(0,0),(0,1)轉換,產生FT1,FT0送FD最低兩位,FD往高移兩位;Len指向WS中(0,4)點。
FWE且FDSL對(0,2),(0,3)轉換,產生FT1,FT0送RD最低兩位,FD往高移兩位;把(0,4),(0,5),(0,6),(0,7)四點讀入WSD。
FDSH,Len+1對(0,4),(0,5)轉換。
FWE且FDSL對(0,6)(0,7)轉換;讀(0,8),(0,9),(0,10),(0,11)四點。
FDSH,Len+1對(0,8),(0,9)轉換。
FWE且FDSL對(0,10),(0,11)轉換;讀(0,12),(0,13),(0,14),(0,15)四點。
FDSH對(0,12),(0,13)轉換。
FDSL對(0,14),(0,15)轉換。
上面流程執行完后,FD內容呈下面形式(左邊為高位)(0,0)(0,1)(0,2)(0,3)(0,4)(0,5)(0,6)(0,7)(0,8)(0,9)(0,10)(0,11)(0,12)(0,13)(0,14)(0,15)對照圖5(1)和圖6,可以看出,FD的這一形式正是我們所需的,與激光主掃描的方向和次序一致,下面應該把FD內容送SS的掃描緩沖區,SS的地址應加1。接著需要轉換的是(0,16)~(0,31)這16個點,因而Len仍應該加1。這些操作對應的微程序我們從略。下面開始轉換(0,16)-(0,31)這16個點。
FWE 讀(0,16),(0,17),(0,18),(0,19)四點。
FDSH,Len+1 對(0,16),(0,17)轉換。
FWE且FDSL 對(0,18),(0,19)轉換;讀(0,20)~(0,23)四點。
FDSH,Len+1 對(0,20),(0,21)轉換。
FWE且FDSL 對(0,22),(0,23)轉換;讀(0,24)~(0,27)四點。
FDSH,Len+1 對(0,24),(0,25)轉換。
FWE且FDSL 對(0,26),(0,27)轉換;讀(0,28)~(0,31)四點。
FDSH 對(0,28),(0,29)轉換。
FDSL 對(0,30),(0,31)轉換。
此時FD內容如下(左邊為高位)(0,16)(0,17)(0,18)(0,19))(0,20)(0,21)(0,22)(0,23)(0,24)(0,25)(0,26)(0,27)(0,28)(0,29)(0,30)(0,31)應送入SS,SS地址加1……。
按上順序轉換,直到第0行的最右邊(即最未)四個點(0,92)(0,93),(0,94),(0,95)轉換完為止。此時應開始轉換下一行(即第1行),為此應把Len最低7位清成0,然后Len+128,使之指向WS中的(1,0)點。與此對應的SS地址也應適當調整。按照上述順序執行步驟(C)直到一個漢字的最終點陣全部形成為止。
上述順序實際上已在85100285中說過,這里重新列出是為了和下面的敘述作比較。
2.WI中增加的電路。
為了產生90°,180°,270°的字,WI中增加下列電路(見圖7)(1)狀態寄存器FS(6位)〔9-11〕分下列三段LN1-0,WD1-0,SH1-0LN=00 一線掃描,LN=01 二線掃描LN=1X 四線掃描。
二線掃描指主掃描方向有兩束激光平行掃描,四線掃描指主掃描方向有四束激光平行掃描。多路平行掃描有利于提高實際輸出速度。
WD=00 0°字WD=01 180°字WD=10 90°字
WD=11 270°字SH的意義第6節中解釋。
WIOP表示的16種操作中有29116y5~0→FS,可以把當前的狀態置入FS中。
(2)BFD移位寄存器(16位)〔9-12〕其用途下面解釋。
(3)16組層次計數器FL(16×2位)〔9-13〕〔9-14〕85100285第19頁提出了兩位的FL。對于一線掃描0°字,兩位FL已足夠;但對于二線或四線掃描,對于90°,180°,270°字,需要多組FL。這16組FL分別記為OFL,1FL,2FL……15FL。
(4)16位三中選一的選擇器CFDMUX〔9-15〕(5)FD的四位一段循環移位電路FDCS〔9-16〕這些電路后面詳細解釋。
3.一線掃描,180°字的復原步驟(C)的執行次序。
首先要強調,按照EP0095536A1的原理,復原步驟(C)必須從標記點陣的左邊開始。另一方面,對照圖5(3)和圖6,可以看出對于180°字,字的左端卻出現在版面中的右端(從左到右作主掃描)。由此可推出,第一次寫入SS的16位應呈下面形式(左邊為高位)(0,15)(0,14)(0,13)(0,12)(0,11)(0,10)(0,9)(0,8)(0,7)(0,6)(0,5)(0,4)(0,3)(0,2)(0,1)(0,0)第二次寫入SS的16位應是(0,31)(0,30)(0,29)(0,28)(0,27)(0,26)(0,25)(0,24)(0,23)(0,22)(0,21)(0,20)(0,19)(0,18)(0,17)(0,16)每次寫入SS時,SS地址減1(而不是加1),直到第0行的最后一點(0,95)轉換完為止。
分析上面形式與第1節所述0°字的寫入形式的差別,可以看出兩者微程序完全相同,僅有下列區別①當WD=01條件下,WI在執行FDSH和FDSL操作時將把FI電路產生的FT0FT1送FD最高兩位(不是最低兩位),同時FD往低(不是往高)移兩位。
②寫入SS時,SS地址減1,使得字的右端(晚轉換)出現在版面的左端(SS地址較小的單元)。
當第0行轉換完后,對Len的操作與0°字情況相同;對SS地址需作調整,這一調整將使SS地址變得更小。注意此時字是反的,字的下端出現在版面的上端(即SS地址較小的單元)。對SS地址的調整,以及SS地址加1、減1都依靠Am29116內部操作,對R9,R10進行,與WI電路無關。
從本節敘述可看出,為了產生180°字,WI中只需增加下述電路。
①FD不僅能往高移兩位,而且能往低移兩位;
②FI的輸出FT0,FT1可送入FD的最高兩位。
③FDSH和FDSL操作的內容應受WD狀態的控制。
4.一線掃描,90°字的復原步驟(C)的執行次序。
對照圖5(2)和圖6,可以看出第一次寫入SS的16位應是(0,0)(1,0)(2,0)(3,0)(4,0)(5,0)(6,0)(7,0)(8,0)(9,0)(10,0)(11,0)(12,0)(13,0)(14,0)(15,0)注意這16個點分屬標記點陣的16行,而不象上面第1,3節那樣,寫入16位屬于標記點陣的同一行。這樣需要16組FL,分別錄記這16行的層次值。雖然這16個點分屬標記點陣的16行,但激光掃描時,卻屬同一掃描線。因為字是90°的,標記點陣的一列對應于激光掃描的一條掃描線,上述16個點屬于標記點陣的第0列。
第二次寫入SS的16位應是(0,1)(1,1)(2,1)(3,1)(4,1)(5,1)(6,1)(7,1)(8,1)(9,1)(10,1)(11,1)(12,1)(13,1)(14,1)(15,1)第三次寫入SS的16位應是(0,2)(1,2)(2,2)(3,2)(4,2)(5,2)(6,2)(7,2)(8,2)(9,2)(10,2)(11,2)(12,2)(13,2)(14,2)(15,2)假定第一次寫入SS時的SS地址為ADR,則每次寫入SS時,SS的地址應減一個常數(注意既非加1,也非減1)。
需要強調,第二次寫入SS的16位絕不能是(16,0)(17,0)(18,0)(19,0)(20,0)(21,0)(22,0)(23,0)(24,0)(25,0)(26,0)(27,0)(28,0)(29,0)(30,0)(31,0)否則16組FL還不夠,需要更多更多組FL,硬件代價太大。因而我們采用上述順序,只需16組FL。
繼續下去,第96次寫入SS的16位將是(0,95)(1,95)(2,95)(3,95)(4,95)(5,95)(6,95)(7,95)(8,95)(9,95)(10,95)(11,95)(12,95)(13,95)(14,95)(15,95)這樣,標記點陣的頭16行全部轉換完,16組FL應該歸0。接著轉換下面16行,寫入SS的將是(16,0)(17,0)(18,0)(19,0)(20,0)(21,0)(22,0)(23,0)(24,0)(25,0)(26,0)(27,0)(28,0)(29,0)(30,0)(31,0)這16位應寫入地址為ADR+1的SS單元中去。因此每當轉換完標記點陣的16行時,應對SS地址作調整,即在ADR基礎上加1。
以此類推,直到整個漢字轉換完成為止。
WI中的16組FL按下述方式組成15FL0,14FL0,13FL0,12FL0,……,1FL0,0FL0這16個觸發器組成一個循環移位的寄存器FL0〔9-13〕,其中15FL0是最高位,FL0每次往高循環移一位。
15FL1,14FL1,13FL1,12FL1,……1FL1,0FL1這16個觸發器組成一個循環移位的寄存器FL1〔9-14〕,其中15FL1是最高位,FL1每次往高循環移一位。
15FL0,15FL1這兩位作為FI電路的輸入,也即15FL0,15FL1指示標記點陣當前那行的層次值。當需要轉換下一行時,應使FL0和FL1往高循環移一位。
WIOP增加下列操作(1)→WSD
本拍結束時把WS讀出的8位打入WSD,但不發WS的“寫電位”,因而WS原內容不變。
(2)FDSH*帶*號表示除執行FDSH外,使FL0,FL1循環移一位,準備轉換下一行。
(3)FDSL*除執行FDSL外,使FL0,FL1循環移一位。
需要注意FDSH和FDSL操作內容是受WD控制的。當WD=10(即90°字),WI在執行FDSH或FDSL時,把FI產生的FT1送FD的最低位,同時FD往高移一位(而不是移兩位);同一拍內把FI產生的FT0送BFD的最低位,同時BFD往高移一位。
(4)FD→ 選FD作為WI的輸出(16位)。
(5)BFD→ 選BFD作為WI的輸出(16位)。
有了上述操作后,步驟(C)的微程序流程如下0→Len 指向(0,0)點。
→WSD 把(0,0),(0,1),(0,2),(0,3)四點讀入WSD。
FDSH*,Len+128 (0,0)送FD最低位,(0,1)送BFD最低位;Len指向下一行,FL0,FL1移一位。
→WSD 把(1,0),(1,1),(1,2),(1,3)四點讀入WSD,此時(0,2),(0,3)兩點尚未轉換,卻被沖掉,留待以后處理。
FDSH*,Len+128 (1,0)送FD,(1,1)送BFD。
→WSD 把(2,0),(2,1),(2,2),(2,3)四點讀入WSD。
FDSH*,Len+128 (2,0)送FD,(2,1)送BFD。
→WSD 把(3,0),(3,1),(3,2),(3,3)四點讀入WSD。
FDSH*,Len+128(3,0)送FD,(3,1)送BFD。
→WSD 把(4,0),(4,1),(4,2),(4,3)四點讀入WSD。
FDSH*,Len+128 (4,0)送FD,(4,1)送BFD。
→WSD 把(5,0),(5,1),(5,2),(5,3)四點讀入WSD。
FDSH*,Len+128 (5,0)送FD,(5,1)送BFD。
→WSDFDSH*,Len+128 (6,0)送FD,(6,1)送BFD。
→WSDFDSH*,Len+128 (7,0)送FD,(7,1)送BFD。
→WSDFDSH*,Len+128 (8,0)送FD,(8,1)送BFD。
→WSDFDSH*,Len+128→WSDFDSH*,Len+128→WSDFDSH*,Len+128→WSDFDSH*,Len+128 (12,0)送FD,(12,1)送BFD。
→WSDFDSH*,Len+128→WSDFDSH*,Len+128 (14,0)送FD,(14,1)送BFD。
→WSD 把(15,0),(15,1),(15,2),(15,3)讀入WSD。
FDSH*(15,0)送FD,(15,1)送BFD。
此時,第一次寫入SS的16位已在FD中,而第二次寫入SS的16位已在BFD中。下面的流程是FD→29116 DLATCH
{寫入SS,SS地址減常數} 具體拍節略BFD→29116 DLATCH{寫入SS,SS地址減常數} 具體拍節略清Len7~10 使Len重新指向(0,0)點FWE 把(0,0),(0,1),(0,2),(0,3)讀入WSD,寫回全0。
FDSL*,Len+128把(0,2)送FD最低位,(0,3)送BFD最低位,FD和BFD往高移一位,FL0,FL1移一位。
FWE 把(1,0),(1,1)(1,2),(1,3)讀入WSD,寫回全0。
FDSL*,Len+128 (1,2)送FD,(1,3)送BFD。
FWEFDSL*,Len+128 (2,2)送FD,(2,3)送BFD。
FWEFDSL*,Len+128 (3,2)送FD,(3,3)送BFD。
FWEFDSL*,Len+128FWEFDSL*,Len+128FWEFDSL*,Len+128FWEFDSL*,Len+128FWEFDSL*,Len+128FWEFDSL*,Len+128FWEFDSL*,Len+128FWE
FDSL*,Len+128FWEFDSL*,Len+128 (12,2)送FD,(12,3)送BFD。
FWEFDSL*,Len+128FWEFDSL*,Len+128 (14,2)送FD,(14,3)送BFD。
FWE 把(15,0,(15,1),(15,2),(15,3)讀入WSD并寫回全0。
FDSL*(15,2)送FD,(15,3)送BFD。
此時,第三次寫入SS的16位已在FD中,而第四次寫入SS的16位已在BFD中。下面的流程是FD→29116 DLATCH{寫入SS,SS地址減常數} 具體拍節略。
BFD→29116 DLATCH{寫入SS,SS地址減常數} 具體拍節略。
清Len7~10,且Len+1 使Len指向(0,4)點。
→WSD 把(0,4),(0,5),(0,6),(0,7)讀入WSD。
FDSH*,Len+128 (0,4)送FD,(0,5)送BFD。
……以此類推,直到頭16行全部轉換完為止。下面16行的轉換與此類似。
以上列出的是流程,并不是實際的微程序,實際的微程序將短得多,因為可以編成循環程序。從上述流程中可以看出增加的五種WIOP操作及相應電路的用途。
5,一線掃描,270°字的復原步驟(C)的執行次序。
對照圖5(4)和圖6,可以看出第一次寫入SS的16位應是(15,0)(14,0)(13,0)(12,0)(11,0)(10,0)(9,0)(8,0)(7,0)(6,0)(5,0)(4,0)(3,0)(2,0)(1,0)(0,0)第二次寫入SS的16位應是(15,1)(14,1)(13,1)(12,1)(11,1)(10,1)(9,1)(8,1)(7,1)(6,1)(5,1)(4,1)(3,1)(2,1)(1,1)(0,1)第三次寫入SS的16位應是(15,2)(14,2)(13,2)(12,2)(11,2)(10,2)(9,2)(8,2)(7,2)(6,2)(5,2)(4,2)(3,2)(2,2)(1,2)(0,2)與90°字情況對照可以發現,每次寫入的16個點與90°時相同,只是高位低位正好顛倒。這意味著WD=11(270°字)條件下,WI在執行FDSH*或FDSL*操作時,將把FI產生的FT1送FD最高位,同時FD往低移一位;把FI產生的FT。送BFD最高位,同時BFD往低移一位;每次還要使FL0,FL1循環往高移一位。
另外的差別是寫入SS時,SS地址加一常數(而不是減一常數);當標記點陣的16行全部轉換完后,SS地址應作調整,即在ADR基礎上減1,這里ADR是第一次寫入SS時的SS地址。6,四線掃描,0°字的復原步驟(c)的執行次序。
當激光直接制版機或激光照排機為四路平行掃描時,LD〔15〕的16位在底片上呈下述圖形第一路 LD16LD14LD13LD12第二路 LD11LD10LD9LD8第三路 LD7LD6LD5LD4第四路 LD3LD2LD1LD0這里LD16指LD移位寄存器的最高位,LD0指最低位。上述形式表明SS一個單元應存4×4個點。當四路平行掃描時,Lclock仍使LD〔15〕移位,但LD移四次后,即當LSN〔17〕變4時,就置LR〔18〕為1,再從SS取出16位送LB〔16〕緩沖。
根據上述分析,對照圖5(1)和圖6,可以看出第一次寫入SS的16位應是(0,0)(0,1)(0,2)(0,3)(1,0)(1,1)(1,2)(1,3)(2,0)(2,1)(2,2)(2,3)(3,0)(3,1)(3,2)(3,3)第二次寫入SS的16位應是(0,4)(0,5)(0,6)(0,7)(1,4)(1,5)(1,6)(1,7)(2,4)(2,5)(2,6)(2,7)(3,4)(3,5)(3,6)(3,7)直到標記點陣的頭四行轉換完畢,再轉換下四行。每次寫入SS時,SS地址加1;當四行轉換完后,SS地址應加一常數。微程序流程如下0→Len 指向(0,0)點。
FWE 把(0,0),(0,1),(0,2),(0,3)四點讀入WSD。
FDSH,Len+128 轉換(0,0),(0,1),送FD最低兩位。
FWE且FDSL*轉換(0,2),(0,3),FL0,FL1移一位;
讀(1,0)(1,1)(1,2)(1,3)。
FDSH,Len+128 轉換(1,0),(1,1)FWE且FDSL*讀(2,0),(2,1),(2,2),(2,3)。
轉換(1,2),(1,3);
FDSH,Len+128 轉換(2,0),(2,1)。
FWE且FDSL*讀(3,0),(3,1),(3,2),(3,3)。
FDSH 轉換(3,0),(3,1)。
FDSL*轉換(3,2),(3,3);FL0,FL1移一位。
此時FD內容即上述第一次寫入SS的16點。然后應作清Len7~8,Len+1使Len指向(0,4)點。
四線掃描時需用4組FL,因此當LN1=1(表示四線,即四路平行掃描)時,FDSH*或FDSL*操作將使FL0和FL1的最高四位作循環移一位,也即只用到12FL,13FL,14FL,15FL這4組FL。
85100285的第23頁中我們提到了允許一個漢字出現在版面的任何位置上。
因而把FD讀入Am29116后,應作移位,并與上一循環的尾巴(在R2內)邏輯加然后再寫入ss。現在是四線掃描,需要對FD內容分四段,每段循環移SH位(SH=0,1,2,3)。這樣,才能把本循環應該寫入ss的那幾位析出,與上一循環的尾巴(在R2內)邏輯加后寫入ss;并把本循環的尾巴留R2。例如,若SH=1,第一次寫入ss的16位應變成○(0,0)(0,1)(0,2)○(1,0)(1,1)(1,2)○(2,0)(2,1)(2,2)○(3,0)(3,1)(3,2)在R2中留下的尾巴則是(0,3)○○○(1,3)○○○(2,3)○○○(3,3)○○○也即FD的內容應分四段(每段四位),每段往低循環移SH位(這里SH=1)。
Am29116很難實現四位一段的循環移位,若不用外加電路協助,微指令拍節數很多,嚴重影響漢字復原速度。本發明采取下述措施①狀態寄存器FS〔9-11〕中有SH兩位,指示FD分段移位的移位數,事先可以置入。
②WI中有四位一段的循環移位電路FDCS〔9-16〕,FD經分段移位后再輸出。FDCS實際上是一個16位的四中選一的選擇器。
上面各節討論的都是一線掃描情況,由于允許漢字出現在版面的任何位置,因而把FD讀入Am29116后需對整個16位作循環移位(移0位至15位)。Am29116作一個字節或16位的循環移位是很方便的,有專門的指令。因而對一線掃描或二線掃描而言,FDCS是沒有用的,此時永遠把SH置成0。
7.四線掃描,180°字的復原步驟(c)的執行次序。
當LN1=1,WD=01時,第一次寫入ss的是(3,3)(3,2)(3,1)(3,0)(2,3)(2,2)(2,1)(2,0)(1,3)(1,2)(1,1)(1,0)(0,3)(0,2)(0,1)(0,0)第二次寫入ss的是(3,7)(3,6)(3,5)(3,4)(2,7)(2,6)(2,5)(2,4)(1,7)(1,6)(1,5)(1,4)(0,7)(0,6)(0,5)(0,4)與第6節對比可看出,每次寫入的16點與0°時相同,只是高位、低位正好顛倒。這意味著LN1=1和WD=01條件下,FDSH或FDSL*操作時,將把FI產生的FT1,FT0送FD的最高兩位,同時FD往低移兩位。
8.四線掃描,90°字的復原步驟(c)的執行次序當LN1=1,WD=10時,第一次寫入ss的是(0,3)(1,3)(2,3)(3,3)(0,2)(1,2)(2,2)(3,2)(0,1)(1,1)(2,1)(3,1)(0,0)(1,0)(2,0)(3,0)
第二次寫入ss的是(0,7)(1,7)(2,7)(3,7)(0,6)(1,6)(2,6)(3,6)(0,5)(1,5)(2,5)(3,5)(0,4)(1,4)(2,4)(3,4)寫入ss時,ss地址減一常數。當標記點陣的頭四行轉換完時,再轉換下面四行。
為了簡化FD的移位線路及其控制。我們把LN1=1和WD=10條件下的FDSH,FDSL操作定義成與LN1=1和WD=00條件下一模一樣FT1,FT0送FD最低兩位,FD往高移兩位。這樣,轉換頭16個點時,在FD內形成下面內容(0,0)(0,1)(0,2)(0,3)(1,0)(1,1)(1,2)(1,3)(2,0)(2,1)(2,2)(2,3)(3,0)(3,1)(3,2)(3,3)這與應該寫入ss的內容在點的次序上有很大差異。我們用CFDMUX〔9-15〕把FD中原有的次序變成應該寫入ss的次序。CFDMUX兼用來選擇FD還是選擇BFD作為WI的16位輸出(準備送入Am29116)。因此CFDMUX是16位的三中選一的選擇器,其輸出稱為CFD0~15,輸出關系如下
選擇條件 CFD15CFD14CFD13CFD12CFD11CFD10CFD9CFD8CFD7CFD6CFD5CFD4CFD3CFD2CFD1CFD0①BFD→ BFD15BFD14BFD13BFD12BFD11BFD10BFD9BFD8BFD7BFD6BFD5BFD4BFD3BFD2BFD1BFD0②
LN1·WD1·FD→ FD15FD14FD13FD12FD11FD10FD9FD8FD7FD6FD5FD4FD3FD2FD1FD0③LN1·WD1·FD→ FD12FD8FD4FD0FD13FD9FD5FD1FD14FD10FD6FD2FD15FD11FD7FD3LN1·WD1表示四線掃描,且90°或180°字,此時應選上面面的第③行。注意輸入和輸出的對應關系,可以發現,CFDMUX選第③行時正好得出需要寫入ss的16位。
9.四線掃描,270°字的復原步驟(c)的執行次序與四線掃描,90°字時相似,只是FDSH,FDSL操作時,FT1,FT0送FD最高兩位,同時FD往低移兩位。從FD輸出時也要經過CFDMUX,選擇第③行,然后再輸出。
10.兩路平行掃描的情況與前面所述類似0°和180°字時,需要兩組FL;90°和270°字時,需要8組FL。
現在總結一下本發明的基本思想。
(1)激光直接制版機輸出的版面應能直接上膠印輪轉機印刷,因而是最終的版面,必然會有圖5形式的四種版面。為了簡化機械,不宜采用機械方法使感光版旋轉90°或180°,而應依靠控制器實時地產生圖5形式的四種版面。
(2)對于0°,90°,180°,270°這四種角度,復原步驟(a)(b)完全相同,WS中的標記點陣永遠是0°字。
(3)SS的掃描緩沖區內的信息排列次序應該與激光主掃描方向的掃描次序完全一致。這樣,激光掃描過程中只需簡單地從SS的掃描緩沖區內逐個單元地讀出信息送LB〔16〕。
(4)執行復原步驟(c)時,微程序的一個循環將轉換標記點陣的16點,并寫入SS;我們只選擇屬于同一個SS單元的那些標記點陣的點進行轉換,通過FD的四種不同方式的移位(往高移兩位、往低移兩位、往高移一位、往低移一位)以及CDMUX〔9-15〕,FDCS〔9-16〕,使得WI最后輸出的,準備寫入SS的16位與激光掃描次序完全一致。處于SS一個單元內的16點若屬于標記點陣WS的i行,則需要i組FL,分別記錄這i行的層次。當一線掃描,90°或270°字時,SS一個單元內的16點分屬WS的16行,因而需16組FL;FL0,FL1在16位范圍內循環移位。當二線掃描,90°或270°字時,SS一個單元內的16點分屬WS的8行,因而需8組FL;FL0,FL1最高8位循環移位。當四線掃描時,SS一個單元內的16點分屬WS的4行,因而需4組FL;FL0,FL1最高4位循環移位。當二線掃描,0°或180°字時,SS一個單元內的16點分屬WS的兩行,因而需兩組FL;FL0,FL1最高兩位循環移位。其余情況下只用一組FL,不需要進行移位。
(5)為了產生90°,180°,270°字,我們增加了復雜的FD移位控制,FL0,FL1的循環移位控制,BFD,CFDMUX和FDCS,這些都必須用外加電路,依靠Am29116則速度太慢。WI本來就應該是一塊門陣列,增加上述電路對WI的復雜程度有所影響,但仍能集成在一片內(門數不超過2500),而且引腿數并未增加。因而,產生90°,180°,270°字并未增加字形發生器的器件數量。
(6)由于在執行步驟(c)過程中直接產生90°,180°,270°字,并未作實際的矩陣轉置式的點陣旋轉,因而速度很快。
本發明只能產生0°,90°,180°,270°這四種角度的字,不適用于產生任意角度的字。
本說明書有七個附圖〔1〕 微處理器Am29116;
〔2〕 微程序控制器Am2910;
〔3〕 微程序存儲器Am27S43;
〔4〕 主存儲器SS;
〔5〕 主存儲器的地址寄存器SSA;
〔6〕 主存儲器的數據寄存器SSD;
〔7〕 標記點陣存儲器WS;
〔8〕 門陣到WA;
〔9〕 門陣到WI;
〔10〕 變倍用AT;
〔11〕 狀態檢測選擇器CCS;
〔12〕 控制信號產生器CCG;
圖2門陣列WA邏輯框圖。
〔8-1〕 坐標計數器X;
〔8-2〕 坐標計數器Y;
〔8-3〕 長度計數器Len;
〔8-4〕 狀態寄存器VECD;
〔8-5〕 狀態寄存器VECD*;
〔8-6〕 狀態觸發器N;
〔8-7〕 狀態觸發器GS;
〔8-8〕 狀態觸發器GS*;
〔8-9〕 X計數器的控制電路XC;
〔8-10〕 Y計數器的控制電路YC;
〔8-11〕 Len計數器的控制電路LenC;
〔8-12〕 產生準備寫入的標記點陣ZXG;
〔8-13〕 標記點陣存儲器WS的地址選擇器WSA;
〔8-14〕 門陣列WA的操作譯碼器WAOP;
〔8-15〕 全等比較并且產生結束電位ENDG;
圖3門陣列WI邏輯框圖。
〔9-1〕 標記點陣WS的數據緩沖寄存器WSD;
〔9-2〕 二中選一的選擇器WSDMUX;
〔9-3〕 層次計數器FL;
〔9-4〕 標記點陣轉換成最終輸出點陣FI;
〔9-5〕 移位寄存器FD;
〔9-6〕 門陣列WI的操作譯碼器WIOP;
〔9-7〕 鎖定器MC0MC1;
〔9-8〕 選擇器MCMUX;
〔9-9〕 產生最終的標記點陣XMG;
〔9-10〕 產生寫電位WE的電路WEG;
圖4照排機和印字機共享的字形發生器和控制器框圖。
〔1〕 微處理器Am29116;
〔2〕 微程序控制器Am2910;
〔3〕 微程序存儲器Am27S43;
〔4〕 主存儲器SS;
〔5〕 主存儲器的地址寄存器SSA;
〔6〕 主存儲器的數據寄存器SSD;
〔7〕 標記點陣存儲器WS;
〔8〕 門陣列WA;
〔9〕 門陣列WI;
〔10〕 變倍用AT;
〔11〕 狀態檢測選擇器CCS;
〔12〕 控制信號產生器CCG;
〔13〕 數據選擇器DS;
〔14〕 外部觸發器P/L;
〔15〕 掃描移位寄存器LD;
〔16〕 緩沖寄存器LB;
〔17〕 移位計數器LSN;
〔18〕 數據請求觸發器LR;
〔19〕 產生輸出信號的寄存器LSG;
〔20〕 圖片照片信息緩沖寄存器GD;
〔21〕 圖片觸發器GR;
圖5適合膠印輪轉機和現有各種開本折頁機的最終印刷版面。
〔1〕 四開大報的版面,僅一頁。
〔2〕 八開小報的版面,共兩頁。
〔3〕 十六開書版版面,共四頁。
〔4〕 三十二開書版版面,共八頁。
圖6一個漢字96×96的點陣。
圖7為了產生90°、180°、270°、的字,門陣列WI的邏輯框圖。
〔9-1〕 標記點陣WS的數據緩沖寄存器WSD;
〔9-2〕 二中選一的選擇器WSDMUX;
〔9-4〕 標記點陣轉換成最終輸出點陣FI;
〔9-5〕 移位寄存器FD;
〔9-6〕 門陣列WI的操作譯碼器WIOP;
〔9-7〕 鎖定器MC0,MC1;
〔9-8〕 選擇器MCMUX;
〔9-9〕 產生最終的標記點陣XMG;
〔9-10〕 產生寫電位WE的電路WEG;
〔9-11〕 狀態寄存器FS;
〔9-12〕 移位寄存器BFD;
〔9-13〕 十六組層次計數器FL0;
〔9-14〕 十六組層次計數器FL1;
〔9-15〕 三中選一的選擇器CFDMUX;
〔9-16〕 每四位為一段的循環移位電路FDCS。
權利要求
1.一種高速產生0°,90°,180°,270°四種角度的、分辨率為10線/毫米-60線/毫米的字形點陣的方法,其特征為(1)采用EP0095536A1所述的把漢字字形壓縮信息復原成點陣的復原步驟。(2)對于四種角度的字,標記點陣的形式相同;直到形成標記點陣為止,四種角度字的復原步驟完全相同,不加區別。(3)把標記點陣轉換成最終點陣時,每次只轉換那些在激光掃描輸出時屬于同一個SS單元的點,并使WI輸出的16位(或8位,或32位)最終點陣的位置次序與激光掃描次序一致。
2.根據權利要求
1所述把標記點陣轉換成最終點陣的方法,其特征在于(1)使用多組層次計數器,以分別記錄屬SS同一單位但屬於標記點陣不同行的那些層次值。(2)用FD移位控制的辦法實現一線、二線、四線平行掃描時產生四種角度的字形。
3.一種為產生90°、180°、270°的字所需的設備,其特征在于在WI〔9〕中再增加下列器件和電路(1)狀態寄存器FS〔9-11〕;(2)移位寄存器BFD〔9-12〕;(3)16組層次計數器FL〔9-13〕、〔9-14〕;(4)三中擇一選擇器CFDMUX〔9-15〕;(5)循環移位電路FDCS〔9-16〕。
專利摘要
高分辨率字形高速旋轉的方法屬于漢字信息處理領域。本發明在高分辨率漢字字形發生器及照排機和印字機共享的字形發生器和控制器兩項發明的基礎上,進一步提出了一項可高速產生出排版所需的0°、90°、180°、270°字形的方法以適應膠印輪轉機和現有各種開本折頁機要求的版面規格,它的特點是僅擴充少量器件及有關控制電路,不采用軟件對字形點陣旋轉也不需排版機作機械轉動而實現了快速、簡化設備的目的。
文檔編號G06F3/12GK85103268SQ85103268
公開日1986年2月10日 申請日期1985年4月30日
發明者王選, 呂之敏, 湯玉海, 向陽 申請人:北京大學, 濰坊計算機公司電子計算機廠導出引文BiBTeX, EndNote, RefMan