專利名稱:可均勻伸縮數字圖象尺寸的方法及其裝置的制作方法
本申請是1995年7月31日提交的申請?zhí)枮?5109686.9,發(fā)明名稱為“可均勻伸縮數字圖象尺寸的方法及其裝置”的專利申請的分案申請。
本發(fā)明涉及一種圖象處理的方法及其裝置,特別是涉及一種可均勻伸縮數字圖象尺寸的方法及其裝置。
在多媒體電腦的應用中,具有整合數字圖象的能力是非常重要的,將一數字圖象(digital image)與另一數字圖象整合之前,必須將該了圖象先處理,而處理的方法通常是藉由增加該數字圖象尺寸(以下稱為伸展(scaling up))、減少該數字圖象尺寸(以下稱為壓縮(scaling down))、剪裁該數字圖象的一被選擇部分、平移該數字圖象的一被選擇部份至另一區(qū)域等來完成。
上述數字圖象的伸展與壓縮是藉由特別規(guī)劃的電腦來完成,該數字圖象包括多數條掃描線,每一條掃描線更包括多數個象素數據(pixel data),該數字圖象的伸展是藉由在每兩條掃描線之間執(zhí)行線性內插(linear interpolation),而得到介于兩掃描線間的至少一條插補掃描線,及藉由在每兩個掃描象素之間執(zhí)行線性內插,而得到介于兩掃描象素間的至少一個插補象素數據。而該數字圖象的壓縮則是藉由刪除數字圖象的部份掃描線及藉刪除每一個被保留的掃描線的部份象素數據來達成。
對于數字圖象的伸展來說,藉電腦處理原始圖象數據的線性內插是相當慢的,因此,如歐洲專利第0079542A2號及英國專利第GB2226471A號所揭示的不同處理功能的硬體裝置,已經被發(fā)展至允許對數字圖象作即時伸展處理。
這些不同處理功能的硬體裝置的一個缺點在于它們只能有限度地伸展數字圖象,當伸展一個具有N條掃描線的數字圖象時,被插入的掃描線的總數必須是N-1的整數倍,以允許插入在該原始掃描線的每兩條掃描線間的插補掃描線具有相同數目,使伸展后的圖象仍能維持均勻,相同地,當伸展一個具有N′個象素數據也是一樣。因此,如果該插補掃描線(或每一掃描線的插補象素數據)的總數不是N-1(或N′-1)的整數倍時,以往的圖象伸展裝置就不能均勻地伸縮一個具有N條掃描線的數字圖象(或每一掃描線的N′個象素數據)。而且,以往的圖象伸展裝置只能在水平方向及垂直方向進行圖象伸展,而不能對任一個水平方向或垂直方向壓縮數字圖象。
因此,本發(fā)明的一個主要目的在提供一種可均勻伸縮數字圖象尺寸的方法及其裝置,當插補掃描線的總數或每一條掃描線的插補象素數據的總數不是原始掃描線總數減1的整數倍或每一條掃描線的象素數據的原始總數減1的整數倍時,仍能在水平方向或垂直方向的至少一個方向上均勻地伸展一個數字圖象。
本發(fā)明的另一個主要目的在提供一種可以在水平方向或垂直方向任一方向上均勻地壓縮數字圖象尺寸的方法及其裝置。
根據本發(fā)明的一主要特征,在于提供一種處理原始數字圖象而得到均勻伸縮的目的數字圖象的方法,該原始數字圖象具有N個連續(xù)的原始圖象數據,該目的數字圖象具有M個連續(xù)的目的圖象數據,且M大于N,上述均勻伸縮數字圖象尺寸的方法包括下列步驟
提供一個線性內插器;以及控制該線性內插器,以便在(M-N)除以(N-1)得到一個余數S且n為滿足條件(n+1)×(S)≥(s)×(N)的最小值時,執(zhí)行第n個及第n+1個原始圖象數據的線性內插,產生一個插在其間的殘余插補圖象數據,其中s的范圍為1至S。
本發(fā)明的另一主要特征在于該均勻伸縮數字圖象尺寸的方法包括下列步驟(I-1)將該原始圖象的N個原始圖象數據存儲在一個存儲器單元中;(I-2)提供一個地址產生器,該地址產生器控制該存儲器單元來輸出該原始圖象的第一原始圖象數據;(I-3)將該數值N除以數值M所得到的余數U儲存在一個數據寄存器中;(I-4)將該余數U與儲存在該數據寄存器中的數值相加,而得到一個和數;(I-5)比較上述和數及數值M;(I-6)啟動該地址產生器去控制該存儲器單元輸出另一原始圖象數據,當該和數小于該數值M時,該另一原始圖象數據是與前一圖象數據相差V個圖象數據,其中V等于M除以N的商數,而當該和數大于等于該數值M時,該另一原始圖象數據則與前一圖象數據相差V+1個圖象數據;(I-7)當該和數至少等于該數值M時,由該和數減去M,并將得到的差值儲存在該數據寄存器中,而當該和數小于該數值M時,就將該和數儲存在該數據寄存器中;(I-8)重復上述步驟(I-4)至步驟(I-7),直到該存儲器單元完成M個原始圖象數據輸出為止。
本發(fā)明的再一特征在于提供一種用來處理一原始數字圖象得到一均勻伸縮的目的數字圖象的裝置,該原始數字圖象具有N個連續(xù)的原始圖象數據,該目的數字圖象具有M個連續(xù)的目的圖象數據,且M大于N,上述均勻伸縮數字圖象尺寸裝置包括一個線性內插器及一個控制裝置,該控制裝置與該線性內插器成電氣連接,以控制該線性內插器,使其在(M-N)除以(N-1)得到一個余數S且n為滿足條件(n+1)×(S)≥(s)×(N)的最小值時,執(zhí)行第n個及第n+1個原始圖象數據的線性內插,產生一個插在其間的殘余插補圖象數據,其中s的范圍為1至S。
本發(fā)明的另一主要特征在于提供一種用來處理一原始數字圖象得到一均勻伸縮的目的數字圖象的裝置,其中原始數字圖象具有N個連續(xù)的原始圖象數據,該目的數字圖象具有M個連續(xù)的目的圖象數據,且M小于N,上述均勻伸縮數字圖象尺寸的裝置更包括一個存儲器單元,用來儲存上述原始圖象的N個原始圖象數據;一個地址產生器,連接于該存儲器單元,用來控制該存儲器單元輸出該原始圖象的第一原始圖象數據;一個余數產生裝置,產生一個數值U,該數值U為該數值N除以該數值M得到的余數;
一個數據寄存器;一個加法器裝置,連接于該余數產生裝置及該數據寄存器,將該余數U與儲存在該數據寄存器中的數值相加,而得到一個和數;以及一個計算裝置,與該加法器裝置、該地址產生器及該數據寄存器連接,用來比較該和數及該數值M,并啟動該地址產生器去控制該存儲器單元輸出該原始圖象數據的另一原始圖象數據,當和數小于該數值M時,該另一原始圖象數據與前一圖象數據相差V個圖象數據,其中V等于N除以M的商數,而當該和數大于等于該目的圖象數據量M時,該另一原始圖象數據則與前一圖象數據相差V+1個圖象數據。
該計算裝置在當和數大于等于該數值M時,將該和數與數值M的差值儲存在該數據寄存器中,而當該和數小于該數值M時,則將該和數儲存在該數據寄存器中。
下面結合附圖及實施例對本發(fā)明進行詳細說明
圖1是本發(fā)明較佳實施例的伸縮裝置的電路方塊圖。
圖2是本發(fā)明較佳實施例的雙線性加法器的電路方塊圖。
圖3是本發(fā)明較佳實施例的伸縮控制器的電路方塊圖。
圖4是本發(fā)明較佳實施例的伸縮控制器的殘余分布器的電路方塊圖。
圖5是本發(fā)明較佳實施例的伸縮控制器的α串列產生器的電路方塊圖。
圖6是本發(fā)明較佳實施例的伸縮控制器的地址產生器的電路方塊圖。
圖7是當N=5且ΔN=2時,本發(fā)明較佳實施例作伸展處理的時序圖。
圖8是當N=5且ΔN=6時,本發(fā)明較佳實施例作伸展處理的時序圖。
圖9是當N=5且ΔN=2時,本發(fā)明較佳實施例作壓縮處理的時序圖。
如圖1所示,本發(fā)明的均勻伸縮數字圖象尺寸的裝置包括一個垂直伸縮單元及一個水平伸縮單元。該垂直伸縮單元可在垂直方向伸展或壓縮數字圖象數據,包括一個線存儲器3(linememory)、一個線緩沖器4(line buffer)、一個雙線性加法器5(bilinear adder)及一個垂直伸縮控制器6(vertical scalingcontroller)。該水平伸縮單元可在水平方向伸展或壓縮數字圖象數據,包括一個點寄存器7(dot register)、一個點緩沖器8(dotbuffer)、一個雙線性加法器9(bilinear adder)及一個水平伸縮控制器10(horizontal scaling controller)。
使用時,經由本發(fā)明的裝置所處理的一數字圖象最初是被儲存在一個幀存儲器2(frame memory)中,而該數字圖象可以來自一圖象解碼器或是來自一圖象捕捉系統(tǒng)等數字圖象數據源1。該垂直伸縮控制器6控制該幀存儲器2,以提供該數字圖象的一被選擇掃描線至該線存儲器3。該垂直伸縮控制器6進一步地控制該線緩沖器4,以儲存來自該線存儲器3中的前一掃描線。該雙線性加法器5接收來自該線存儲器3及該線緩沖器4的掃描線數據,并根據來自該垂直伸縮控制器6的一對加權系數α、1-α執(zhí)行雙線性內插。
如圖2所示,是該雙線性加法器5的電路方塊圖,來自該線緩沖器4且與儲存在該幀存儲器2的數字圖象的第n條掃描線所對應的掃描線數據經一個寄存器501及一個乘法器502被乘以該系數1-α,而來自該線存儲器3且與儲存在該幀存儲器2的數字圖象的第n+1條掃描線對應的掃描線數據經另一個寄存器503及另一個乘法器504被乘以系數α。當該系數α為分數時(也就是α不等于1也不等于0),將以上得到的乘積經一個加法器505相加,則得到一條插補掃描線。該雙線性加法器5的操作將在下文中詳細敘述。
如圖3所示,該垂直伸縮控制器6包括一個可編程的寄存器組30(programmable register set)、一個第一計算電路31(computing circuit)、一個第二計算電路32、一個第三計算電路33、一個選擇器34(two-input selector)、一個殘余分布器35(residue distributor)、一個α串列產生器36(alpha seriesgenerator)及一個地址產生器37(address generator)。
該可編程的寄存器組30包括有一個第一寄存器301、一個第二寄存器302及一個第三寄存器303,該第一寄存器301可儲存該框存儲器2中的數字圖象的原始掃描線數據量N,該第二寄存器302儲存被插入或被刪除的掃描線量ΔN,該第三寄存器303儲存一個INC/DEC旗標38,前述INC/DEC旗標38用來指示在垂直方向時,該數字圖象數據的伸展或者壓縮被執(zhí)行。該第一計算電路31、第二計算電路32及第三計算電路33分別讀取儲存在該第一寄存器301、第二寄存器302及第三寄存器303的內容,而該第一計算電路31可輸出ΔN除以N-1所得到的商數T,該第二計算電路32可輸出ΔN除以N-1所得到的余數S。因此,當該數字圖象在做伸展處理時,該商數T相當于被插入該數字圖象的每兩條相鄰掃描線間的插補掃描線的最小數,該余數S相當于均勻分布在該數字圖象的原始掃描線間的殘余插補掃描線的總數。該第三計算電路33可輸出N除以N-ΔN的余數U,當該數字圖象被壓縮時,該余數U相當于被刪除的殘余掃描線的總數。
該選擇器34包括接收來自該第三計算電路33的余數U的一個第一輸入端及接收來自該第二計算電路的余數S的一個第二輸入端,該選擇器34更包括一個控制輸入端,該控制輸入端接收來自該第三寄存器303的INC/DEC旗標38,該選擇器34的輸出端42與該殘余分布器35連接,該殘余分布器35接收來自該第一計算電路31的商數T,且包括接收來自該第三寄存器303的INC/DEC旗標38的一個控制輸入端及與該α串列產生器36及該地址產生器37相連接的控制輸出端39。該殘余分布器35決定在該數字圖象做伸展處理期間、何時執(zhí)行殘余內插步驟及當數字圖象做壓縮處理期間,何時刪除一殘余掃描線。該α串列產生器36接收來自該第一計算電路31的商數T及來自該第三寄存器303的INC/DEC旗標38,并且產生該雙線性加法器5的系數α、1-α及該線緩沖器4(如圖1)的一個儲存指令信號。該地址產生器37同樣地也接收來自該第三寄存器303的INC/DEC旗標38并且提供線地址數據給該框存儲器2。
如圖4所示,該殘余分布器35包括一個計算電路40(computing circuit)、一個雙輸入的選擇器41(two-inputselector)、一個中間數據寄存器56(medial dataregister)、一個雙輸入的加法器43(two-input adder)、一個計算電路44、一個雙輸入的選擇器45、一個時鐘調變電路46(clock modifying circuit)及一個選擇器47。
該計算電路40可輸出N與ΔN的差值,該選擇器41具有接收該計算電路40輸出的一個第一輸入端、接收來自第一寄存器301的數值N的一個第二輸入端以及接收來自該第三寄存器303的INC/DEC旗標38的控制輸入端。該中間數據寄存器56接收該選擇器34的輸出42(如圖3),且具有連接至該雙輸入加法器43一輸入端的一個輸出端。該加法器43的另一個輸入端則接收該選擇器34的輸出端42,該加法器43的輸出端與該選擇器41的輸出端為一計算電路44的輸入端,該計算電路44將該加法器43的輸出扣除該選擇器41的輸出,當該加法器43的輸出大于或等于該選擇器41的輸出時,該計算電路44在它的一個控制輸出端39產生一個致能信號。該雙輸入選擇器45包括接收該加法器43的一個第一輸入端、接收來自該計算電路44的該加法器43與該選擇器41的輸出差值的一個第二輸入端與該計算電路44的控制輸出端39連接的一個控制輸入端,以及與該中間數據寄存器56連接的一個輸出端。
該時鐘調變電路46接收該原始輸入線時鐘(original inputline clock),且依據該控制輸出端39的信號及來自該第一計算電路31的商數T來調變該原始輸入線時鐘。當該控制輸出端39在高邏輯位準狀態(tài)時,該時鐘調變電路46輸出一個除以T+2時鐘(divide-by-(T+2)clock),且該除以T+2時鐘具有該原始輸入線時鐘的T+2倍的時間延遲,而當該控制輸出端39在低邏輯位準狀態(tài)時,該時鐘調變電路46輸出一個除T+1時鐘(該除以T+1時鐘具有該原始輸入線時鐘的T+1倍的時間延遲)。該時鐘調變電路46的輸出端及該原始輸入線時鐘與該選擇器47的輸入端連接,而來自該第三寄存器303的INC/DEC旗標38則用來作為該選擇器47的控制輸入。該中間數據寄存器56包括一個負載端LD(load pin),該負載端LD接收來自該選擇器47輸出的時鐘信號mClock1。
如圖5所示,該α串列產生器36包括一個系數產生器363(coefficient generator)、一個選擇器364(selector)及一個減法器電路365(subtracting circuit)。
該系數產生器363與該計算電路44的控制輸出端39連接且接收該原始輸入線時鐘及來自該第一計算電路31的商數T。當該控制輸出端39在高邏輯位準狀態(tài)時,該系數產生器363在連續(xù)的(T+2)個原始輸入線時鐘周期中分別地產生連續(xù)的α系數1、1/(T+2)、2/(T+2)、…、(T+1)/(T+2);當該控制輸出端39在低邏輯位準狀態(tài)時,該系數產生器363在連續(xù)的(T+1)個原始輸入線時鐘周期中分別地產生連續(xù)的α系數1、1/(T+1)、2/(T+1)、…、T/(T+1)。該選擇器364包括被固定為1的一個第一輸入端、接收該系數產生器363的輸出的一個第二輸入端及接收該INC/DEC旗標38的一個控制輸入端,該選擇器363的輸出為系數α且充當作該減法器電路365的一個輸入,該減法器電路365的另一個輸入端被固定為1。該減法器電路365的一個輸出端為輸出系數1-α,另一個輸出端則輸出該線緩沖器4(如圖1)的儲存指令信號。當該減法器電路365系數1-α等于0時(α=1),該減法器電路365產生該儲存指令信號。
如圖6所示,該地址產生器37包括一個計算電路371、一個加法器372、一個選擇器373、一個加法器374、一個地址寄存器375、一個鎖存電路376(latch circuit)、一個時鐘調變電路377及一個選擇器378。
該計算電路371可輸出N除以N-ΔN所得到的商數V,該商數V相當于當該數字圖象數據被壓縮時,在該框存儲器2的數字圖象的兩個被選擇掃描線的差數(offest number)),該商數V及該控制輸出39作為該加法器372的輸入端,而該加法器372的輸出端則作為該選擇器373的一個輸入端,該選擇器373的另一個輸入端則被固定為1,該INC/DEC旗標38作為該選擇器373的一個控制輸入端。該選擇器373所產生的一個差數(offestnumber)則被遞送至該加法器374。該加法器374的輸出端連接至該地址寄存器375,該地址寄存器375的輸出端再被連接至該加法器374,該地址寄存器375有一起始輸入端(START),用來設定該幀存儲器2中第一條掃描線的地址,而該地址寄存器375具有一負載輸入端LD,用以控制下一地址的更新。
該鎖存電路376根據該原始輸入線時鐘對該控制輸出端39作取樣及保持,該時鐘調變電路377接收該原始輸入線時鐘并根據該鎖存電路376的輸出與來自該第一計算電路31的商數T來調變該原始輸入線時鐘。當該鎖存電路376的輸出在高位準邏輯狀態(tài)時,該時鐘調變電路377輸出一個除以T+2時鐘(divide-by-(T+2)clock),該除以T+2時鐘具有該原始輸入線時鐘的T+2倍的時間延遲;當該鎖存電路376的輸出在低邏輯位準狀態(tài)時,該時鐘調變電路377輸出一個除以T+1時鐘(divide-by-(T+1)clock),該除以T+1時鐘具有該原始輸入線時鐘的T+1倍的時間延遲。該選擇器378接收該原始輸入線時鐘及該時鐘調變電路377的輸出,并受該INC/DEC旗標38控制而輸出一時鐘輸出mClock2,而該時鐘輸出mClock2則被該地址寄存器375的負載輸入端LD所接收。
該垂直伸縮單元的操作描述如下(1)為了方便說明本發(fā)明實施例的伸展操作,假設以一個具有五條原始掃描線的原始數字圖象被伸展而得到一個具有七條目的掃描線的目的數字圖象。
如圖3所示,該可程式的寄存器組30最初被設定為在該第一寄存器301中儲存數字“5”、在該第二寄存器302中儲存數字“2”及在該第三寄存器303中儲存一邏輯“1”。該數字“5”相當于在該幀存儲器2的該原始圖象數據的原始掃描線量N,該數字“2”相當于被插入的掃描線總數ΔN,在該第三寄存器303的該邏輯1則指示該數字圖象數據的伸展被執(zhí)行。
該第一計算電路31輸出ΔN除以N-1所得到的商數T,因為ΔN小于N-1,所以該商數T等于0。該第二計算電路32輸出ΔN除以N-1所得到的余數S,在這個例子中,該余數S等于2。該第三計算電路33則為不相關的,因為在伸展操作期間,該選擇器34提供該第二計算電路32的輸出給該殘余分布器35。
如圖1、3-7所示,該地址產生器37的地址寄存器375最初設定儲存在該幀存儲器2的該原始掃描線的第一原始掃描線的線地址,并且控制該幀存儲器2來提供該原始掃描線的第一原始掃描線至該線存儲器3,同時,該余數S被存入該中間數據寄存器56,而后該加法器43再將該余數S及該中間數據寄存器56的內容相加。因為該加法器43的輸出為4而小于N(N等于5),因此該計算電路44的控制輸出端39處于低邏輯位準狀態(tài)。該選擇器45將該加法器43的輸出提供給該中間數據寄存器56,且提供給中間數據寄存器56的時鐘輸入mClock1為一除以T+1時鐘,因為該商數T等于0,所以該時鐘輸入mClock1恰好與該原始輸入線時鐘相同。
因為該控制輸出端39處于低邏輯狀態(tài)且因該商數T等于0,所以該系數產生器363提供數字“1”給該選擇器364。因該INC/DEC旗標38位在邏輯“1”,該選擇器364選擇該系數產生器363的輸出當作加權系數α。因該系數α等于1,該系數1-α等于0,且產生該儲存指令信號,以便控制該線緩沖器4儲存來自該線存儲器3的原始掃描線的第一原始掃描線。在這階段中該雙線性加法器5的輸出為該原始掃描線的第一原始掃描線。
該選擇器373提供一個等于1的差值給該加法器374,因此,當下一個線時鐘mClock2到達時,該加法器374會使該地址寄存器375的輸出增加一個單位,藉此控制該幀存儲器2提供該原始掃描線的第二條掃描線至該線存儲器3。
當下一個線時鐘mclock1到達時,該中間數據寄存器56儲存該加法器43先前的輸出(該輸出等于4),此時,該加法器43的輸出(等于6)大于N(等于5),使該計算電路44的控制輸出端39處在高邏輯狀態(tài)。該選擇器45提供該加法器43的輸出及該選擇器41的輸出的差值給該中間值數據寄存器56,此時該時鐘輸入mClock1為除以T+2時鐘,具有該原始輸入線時鐘兩倍的延遲時間。
此時,該控制輸出端39處在高邏輯狀態(tài),該系數產生器363在一時脈mClock1(也就是兩連續(xù)的原始輸入線時鐘)期間產生連續(xù)的兩個輸出1及1/2。當在該第一原始輸入線時鐘期間內,因為該系數α等于1,所以該雙線性加法器5輸出該原始掃描線的第二原始掃描線,且同時將該第二原始掃描線儲存在該線緩沖器4中。在該第二原始輸入線時鐘的期間,該地址寄存器375的內容在下一個時鐘輸入mClock2時會被增加一個單位,此時該系數產生器363的輸出等于1/2,該系數α等于1/2,該系數1-α等于1/2,所以未產生儲存指令信號。因此,原始掃描線中的第二原始掃描線保留在該線緩沖器4中,在這一階段中該雙線性加法器5的輸出為原始掃描線中的第二原始掃描線及第三原始掃描線的雙線性內插。
該中間數據寄存器56的內容在下一時鐘輸入mClock1到達時被更新為1,也就是該加法器43及該數字N的差值,該加法器43的輸出小于N(該輸出為3),使該控制輸出端39位在低邏輯狀態(tài)。該選擇器45提供該加法器43的輸出給該中間數據寄存器56,且提供給該中間數據寄存器56的時鐘輸入mClock1為除以T+1時鐘,且來自該α串列產生器36的系數α等于1。該雙線性加法器5的輸出為該原始掃描線的第三原始掃描線,因該系數α等于1,因此該原始掃描線的第三原始掃描線被儲存在該線緩沖器4中。
而后接續(xù)的步驟與前述相同,一直至該原始掃描線數據的第五原始掃描線數據由該雙線性加法器5輸出為止。
如圖7所示,為本發(fā)明上述實施例的時序圖,其中N=5、ΔN=2。
由上所述可知,該垂直伸縮控制器6控制該雙線性加法器5執(zhí)行該原始掃描線的第n條及第n+1條掃描線的雙線性內插,其中該第n條掃描線儲存在該線緩沖器4中,而該第n+1條掃描線儲存在該線存儲器3中,以便當ΔN除以N-1得到一余數S,在n為滿足條件(n+1)×(S)≥(s)×(N)的最小值(其中s從1至S)時,可制造一條插在該原始掃描線第n條及第n+1條原始掃描線間的殘余插補掃描線。
在前述的例子中,ΔN除以N-1所得到商數T為0,如果該商數不等于0,也就是說,ΔN大于或等于N-1,該垂直伸縮控制器6更控制該雙線性加法器5執(zhí)行該原始掃描線第n條及第n+1條原始掃描線的雙線性內插,以制造T個附加的連續(xù)插補掃描線插入該原始掃描線第n條及第n+1條原始掃描線之間,如圖8所示,為當N=5且ΔN=6時,本發(fā)明較佳實施例執(zhí)行伸展操作的時序圖,在這個例子中,該商數等于1,且該余數等于2,很明顯地,除了兩條殘余插補掃描線之外,在該等原始掃描線的每兩條相鄰掃描線之間均有一條附加的插補掃描線。
(2)為了便于說明本發(fā)明較佳實施例執(zhí)行壓縮操作,假設以一個具有五條原始掃描線的原始數字圖象被壓縮得到一個具有三條目的掃描線的目的數字圖象。
如圖3所示,該可程式的寄存器組30最初被設定為在該第一寄存器301中儲存數值“5”、該第二寄存器302中儲存數值“2”及在該第三寄存器303中儲存一邏輯“0”,該數值“5”相當于在該幀存儲器2中的該原始圖象數據的原始掃描線量N,該數值“2”相當于被刪除的掃描線總數ΔN,在該第三寄存器303的該邏輯0則為該數字圖象數據的執(zhí)行壓縮操作。
在壓縮操作期間時,該第一、二計算電路31、32的輸出是不相關的,該第三計算電路33可輸出N除以N-ΔN所得到的余數U,其中N-ΔN為被保留的該原始掃描線的數目,在此例子中,該余數U等于2,該選擇器34提供該第三計算電路33的輸出給該殘余分布器35。
如圖1、3、6、9所示,該地址產生器37的地址寄存器375最初設定儲存在該幀存儲器2中的該原始掃描線的第一原始掃描線的線地址,且在一起始線時鐘期間控制該框存儲器3,同時,該余數U被儲存在該中間數據寄存器56中,而后該加法器43再將該余數U與該中間數據寄存器56的內容相加。該計算電路44將來自該加法器43的輸出減去來自該選擇器41的數值N-ΔN,因為該加法器43的輸出在此時等于4且大于N-ΔN(等于3),因此該計算電路44的控制輸出端39處于高邏輯狀態(tài),該選擇器45提供該加法器43的輸出與該選擇器41的輸出間的差值給中間數據寄存器56,而該原始線時鐘藉該選擇器47被供給至該中間數據寄存器56。
如圖3、5所示,因為一邏輯“0”被儲存在該第三寄存器303中,因此該選擇器364維持該系數α為1,而系數1-α等于0,該儲存指令信號持續(xù)產生,以便作動該線緩沖器4持續(xù)地由該線存儲器3儲存一原始掃描線,另外,該雙線性加法器5的輸出一直是該線存儲器3的輸出。
如圖6所示,該計算電路371輸出N除以N-ΔN所得到的商數V,在這個例子中,該商數V等于1,該加法器372產生該商數V與該控制輸出端39的邏輯狀態(tài)的和數(sum),此時的邏輯狀態(tài)為高邏輯狀態(tài)。該選擇器373選擇該加法器372的輸出(等于2),并且提供相同的輸出給該加法器374,如此,該地址寄存器375的輸出在下一時鐘輸入mClock2到達時會增加兩個單位,藉此控制該幀存儲器2提供該原始掃描線的第三原始掃描線至該線存儲器3。
如圖4所示,直到下一個線時鐘到達時,該中間數據寄存器56儲存由該計算電路44計算得到的前一差數“1”,此時,該加法器43的輸出(等于3)等于該選擇器41的輸出,該計算電路44的控制輸出端39位在高邏輯狀態(tài),且該選擇器45提供該加法器43的輸出與該選擇器41的輸出間的差數給該中間數據寄存器56。
如圖6所示,該加法器372再一次地產生該商數V與該控制輸出端39的邏輯狀態(tài)的和數(sum),該加法器372的輸出(等于2)藉該選擇器373被提供至該加法器374,如此,該地址寄存器375的輸出在當下一時鐘輸入mClock2到達時將再被增加兩個單位,藉此控制該幀存儲器2以提供該原始掃描線的第五原始掃描線給該線存儲器3。如圖9所示,即為本發(fā)明上述實施例執(zhí)行壓縮處理的時序圖。
承上所述,該地址產生器37控制該幀存儲器2只輸出該原始掃描線中被選擇的掃描線,而在該幀存儲器2中未被輸出的原始掃描線事實上是被拋棄的,值得注意的是,當該加法器43的輸出小于該N-ΔN的差數時,由該幀存儲器2中被輸出的原始掃描線與之前由該幀存儲器2輸出的原始掃描線的差數5值為V,及當加法器43的輸出至少等于該差數N-ΔN時,由該幀存儲器2中被輸出的原始掃描線與之前由該幀存儲器2輸出的原始掃描線的差數值為V+1。
水平伸縮單元的結構與操作描述如下。
該雙線性加法器5的輸出被該點寄存器7所接收,該水平伸縮控制器10控制該點緩沖器8來儲存由該點寄存器7輸出的一前一象素數據,該雙線性加法器9接收來自該點寄存器7及該點緩沖器8的象素數據,并且根據來自該水平伸縮控制器10的一對加權系數α、1-α來執(zhí)行雙線性內插。該雙線性加法器9的結構與圖2的該雙線性加法器5的結構相似,而在該雙線性加法器9中,來自該點緩沖器8的象素數據為對應于一掃描線數據的第n′個象素數據,其將被乘以系數1-α,來自該點寄存器7的象素數據為對應一掃描線數據第n′+1個象素數據,其將被乘以系數α,如此,該點寄存器7相當于該垂直伸縮單元的線存儲器3,而該點緩沖器8相當于該垂直伸縮單元的線緩沖器4。
該水平伸縮控制器10的結構同樣地類似如圖3到圖6所示的該垂直伸縮控制器6,但是該垂直伸縮控制器6與該水平伸縮控制器10仍有一些差異,例如,在該水平伸縮控制器10中,該可編程的寄存器組的第一寄存器被使用來儲存該位在幀存儲器2中的數字圖象的每一條掃描線的象素數據量N′,該第二寄存器被使用來儲存該每一條掃描線被插入或刪除的象素數據量ΔN′,該第三寄存器儲存一INC/DEC旗標,而該INC/DEC旗標作為指示在水平方向上的象素數據的伸展或者壓縮何時被執(zhí)行,該時鐘輸入至該地址產生器、該α串列產生器及該殘余分布器為原始象素時鐘,該水平伸縮控制器10的地址寄存器的地址輸出為一點地址,該點地址用來控制該線存儲器3及該線緩沖器4,如此,在水平方向的伸展期間,該原始掃描線的第n條及第n+1條原始掃描線及在其間的插補掃描線的所有象素數據會通過該雙線性加法器5。當在垂直方向及水平方向都壓縮時,只有該原始掃描線中被選擇原始掃描線的被選擇象素數據通過該雙線性加法器5。
綜上所述,本發(fā)明確實可均勻地伸縮數字圖象數據,而且,對于插補掃描線或每一掃描線的插補象素數據的總數不是N-1(或N′-1)的倍數,本發(fā)明也可以對具有N條掃描線(或每一掃描線的N′個象素數據)均勻地伸縮,進一步來說,本發(fā)明的伸縮裝置可以在任何水平方向或垂直方向上選擇地伸展或壓縮數字圖象。
權利要求
1.一種處理原始數字圖像以獲得均勻縮放的期望數字圖像的方法,該原始數字圖像具有N個連續(xù)的原始圖像數據,該期望數字圖像具有M個連續(xù)的期望圖像數據,M大于N,所述方法包括以下步驟提供第一線性內插器;控制所述第一線性內插器,以便在(M-N)除以(N-1)得到一個余數S且n為滿足條件(n+1)×(S)>(s)×(N)的最小值時,執(zhí)行第n個及第n+1個原始圖像數據的線性內插,產生一個插在其間的殘余插補圖像數據,其中s的范圍為1至S;該原始圖像數據為一個掃描線的原始像素數據。
2.一個處理原始數字圖像以獲得均勻縮放的期望數字圖像的裝置,該原始數字圖像具有N個連續(xù)的原始圖像數據,該期望數字圖像具有M個連續(xù)的期望圖像數據,M大于N,所述裝置包括第一線性內插器;以及第一控制器裝置,與所述第一線性內插器連接,用于控制所述第一線性內插器,以便在(M-N)除以(N-1)得到一個余數S且n為滿足條件(n+1)×(S)>(s)×(N)的最小值時,執(zhí)行第n個及第n+1個原始圖像數據的線性內插,產生一個插在其間的殘余插補圖像數據,其中s的范圍為1至S;該原始圖像數據為一個掃描線的像素數據。
全文摘要
一種均勻伸縮數字圖象尺寸的方法及其裝置,處理原始數字圖象,得到均勻伸縮的目的數字圖象,該原始數字圖象有連續(xù)的原始圖象數據量N,目的數字圖象有目的圖象數據量M,當M大于N時,其方法包括提供一線性內插器及控制線性內插器去執(zhí)行第n個及第n+1個的原始圖象數據的線性內插,當(M-N)除以(N-1)得到余數S且當(n+1)×(S)≥(s)×(N)的條件下,n為最小值時,產生一個插入在第n個及第n+1個原始圖象數據間的殘余插補圖象數據,s的范圍由1至S。
文檔編號G06T7/00GK1343958SQ0112309
公開日2002年4月10日 申請日期2001年7月24日 優(yōu)先權日2001年7月24日
發(fā)明者徐榮富, 張鳳玲 申請人:華邦電子股份有限公司