本發(fā)明涉及觸控技術(shù)領(lǐng)域,特別是涉及一種觸控筆筆跡的優(yōu)化方法及系統(tǒng)。
背景技術(shù):
隨著科技的進步和互聯(lián)網(wǎng)行業(yè)的不斷發(fā)展,觸控技術(shù)已逐漸普及。目前觸控筆可大概歸為兩種類型:電阻式觸控筆和電容式觸控筆,不同類型的觸控筆分別適用于電阻式和電容式觸摸屏終端。觸控筆筆頭采用導(dǎo)電材質(zhì),能代替人手在觸摸屏終端的屏幕上輕松、快捷、準(zhǔn)確地輸入信息;觸控筆由于其精細準(zhǔn)確和流暢的操作,已被用戶所廣泛接受。
觸摸屏終端對觸控筆的識別是通過獲取觸控筆在接觸到觸摸屏終端發(fā)出的一系列的壓感數(shù)據(jù),由于觸控筆的硬件調(diào)節(jié)的限制或者工藝限制,在使用過程中常常會出現(xiàn)明顯的數(shù)據(jù)抖動,上層應(yīng)用在對這種抖動較大的壓感數(shù)據(jù)進行識別和顯示的過程中,會出現(xiàn)明顯的竹節(jié)效應(yīng),即筆跡變化突兀,導(dǎo)致書寫效果很差。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明的一個目的在于提出一種觸控筆筆跡的優(yōu)化方法,解決現(xiàn)有技術(shù)筆跡變化突兀,書寫效果差的問題。
根據(jù)本發(fā)明實施例的觸控筆筆跡的優(yōu)化方法,包括:
依次讀取觸控筆的壓感數(shù)據(jù),將獲取到的多個所述壓感數(shù)據(jù)形成壓感數(shù)據(jù)組;
擴大所述壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,所述數(shù)據(jù)區(qū)間為所述壓感數(shù)據(jù)組中最大壓感數(shù)據(jù)和最小壓感數(shù)據(jù)組成的區(qū)間;
當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)之間的差值大于所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中預(yù)設(shè)的最大間隔時,在所述連續(xù)兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)。
根據(jù)本發(fā)明實施例的觸控筆筆跡的優(yōu)化方法,能夠從軟件角度解決觸控筆硬件方面的缺陷和限制,首先通過擴大原始壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)的差值較大時,在該連續(xù)兩次壓感數(shù)據(jù)直接補充新的壓感數(shù)據(jù),最終將原始的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)變的更加平滑,上層應(yīng)用在接收到優(yōu)化后的壓感數(shù)據(jù)后,筆跡變化不再突兀,從而實現(xiàn)更好的書寫效果。
另外,根據(jù)本發(fā)明上述實施例的觸控筆筆跡的優(yōu)化方法,還可以具有如下附加的技術(shù)特征:
進一步地,在本發(fā)明的一個實施例中,所述當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)之間的差值大于所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中預(yù)設(shè)的最大間隔時,在所述連續(xù)兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)的步驟具體包括:
所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第一個壓感數(shù)據(jù)直接插入待發(fā)送阻塞隊列,所述待發(fā)送阻塞隊列中的數(shù)據(jù)用于發(fā)送給上層應(yīng)用;
從所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第二個壓感數(shù)據(jù)起,比較當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值與所述最大間隔的大小;
當(dāng)所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值大于所述最大間隔時,在所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)之間補充數(shù)據(jù)間隔為A/(A/G+1)、數(shù)量為(A/G+1)的新的壓感數(shù)據(jù),并將所述新的壓感數(shù)據(jù)和當(dāng)前的壓感數(shù)據(jù)插入所述待發(fā)送阻塞隊列,其中,A為所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值,G為所述最大間隔。
進一步地,在本發(fā)明的一個實施例中,所述從所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第二個壓感數(shù)據(jù)起,比較當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值與所述最大間隔的大小的步驟之后,所述方法還包括:
當(dāng)所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值小于或等于所述最大間隔時,所述當(dāng)前的壓感數(shù)據(jù)直接插入所述待發(fā)送阻塞隊列。
進一步地,在本發(fā)明的一個實施例中,所述在所述連續(xù)兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)的步驟之后,所述方法還包括:
在補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中,根據(jù)數(shù)據(jù)相關(guān)度對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行擬合。
進一步地,在本發(fā)明的一個實施例中,所述在補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中,根據(jù)數(shù)據(jù)相關(guān)度對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行擬合的步驟具體包括:
定義初始數(shù)據(jù)組和相關(guān)度權(quán)重數(shù)組;
將所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)依次代入所述初始數(shù)據(jù)組中,并根據(jù)所述相關(guān)度權(quán)重數(shù)組對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行平衡,以獲得平衡后的壓感數(shù)據(jù)。
本發(fā)明的另一個目的在于提出一種觸控筆筆跡的優(yōu)化系統(tǒng),解決現(xiàn)有技術(shù)筆跡變化突兀,書寫效果差的問題。
根據(jù)本發(fā)明實施例的觸控筆筆跡的優(yōu)化系統(tǒng),包括:
讀取模塊,用于依次讀取觸控筆的壓感數(shù)據(jù),將獲取到的多個所述壓感數(shù)據(jù)形成壓感數(shù)據(jù)組;
擴大模塊,用于擴大所述讀取模塊獲取的壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,所述數(shù)據(jù)區(qū)間為所述壓感數(shù)據(jù)組中最大壓感數(shù)據(jù)和最小壓感數(shù)據(jù)組成的區(qū)間;
補充模塊,用于當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)的差值大于所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中預(yù)設(shè)的最大間隔時,在所述聯(lián)系兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)。
另外,根據(jù)本發(fā)明上述實施例的觸控筆筆跡的優(yōu)化系統(tǒng),還可以具有如下附加的技術(shù)特征:
進一步地,在本發(fā)明的一個實施例中,所述補充模塊包括第一插入模塊、比較模塊、補充子模塊和第二插入模塊;
所述第一插入模塊用于將所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第一個壓感數(shù)據(jù)直接插入待發(fā)送阻塞隊列,所述待發(fā)送阻塞隊列中的數(shù)據(jù)用于發(fā)送給上層應(yīng)用;
所述比較模塊用于從所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第二個壓感數(shù)據(jù)起,比較當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值與所述最大間隔的大??;
所述補充子模塊用于當(dāng)所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值大于所述最大間隔時,在所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)之間補充數(shù)據(jù)間隔為A/(A/G+1)、數(shù)量為(A/G+1)的新的壓感數(shù)據(jù),其中,A為所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值,G為所述最大間隔;
所述第二插入模塊用于在所述補充子模塊補充了新的壓感數(shù)據(jù)后,將所述新的壓感數(shù)據(jù)和當(dāng)前的壓感數(shù)據(jù)插入所述待發(fā)送阻塞隊列。
進一步地,在本發(fā)明的一個實施例中,所述優(yōu)化系統(tǒng)還包括:
第三插入模塊,用于當(dāng)所述比較模塊比較到所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值小于或等于所述最大間隔時,將所述當(dāng)前的壓感數(shù)據(jù)直接插入所述待發(fā)送阻塞隊列。
進一步地,在本發(fā)明的一個實施例中,所述優(yōu)化系統(tǒng)還包括:
擬合模塊,用于在補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中,根據(jù)數(shù)據(jù)相關(guān)度對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行擬合。
進一步地,在本發(fā)明的一個實施例中,所述定義模塊用于定義初始數(shù)據(jù)組和相關(guān)度權(quán)重數(shù)組;
所述平衡模塊用于將所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)依次代入所述初始數(shù)據(jù)組中,并根據(jù)所述相關(guān)度權(quán)重數(shù)組對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行平衡,以獲得平衡后的壓感數(shù)據(jù)。
本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是根據(jù)本發(fā)明一實施例的觸控筆筆跡的優(yōu)化方法的流程圖;
圖2是根據(jù)本發(fā)明另一實施例的觸控筆筆跡的優(yōu)化方法的流程圖;
圖3是圖2中在兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)的流程圖;
圖4是根據(jù)本發(fā)明另一實施例的觸控筆筆跡的優(yōu)化系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1,本發(fā)明一實施例提出的觸控筆筆跡的優(yōu)化方法,至少包括以下步驟:
S101,依次讀取觸控筆的壓感數(shù)據(jù),將獲取到的多個所述壓感數(shù)據(jù)形成壓感數(shù)據(jù)組;
其中,觸控筆是用來輸入指令到電腦屏幕、移動設(shè)備、繪圖板等具有觸摸屏的終端設(shè)備,用戶可以通過觸控筆點擊終端設(shè)備的觸控屏來選取文件或繪畫,觸控筆接觸觸摸屏?xí)r會產(chǎn)生由一系列的壓感數(shù)據(jù)組成的壓感數(shù)據(jù)組,該壓感數(shù)據(jù)組是從觸控筆剛接觸觸摸屏開始至觸控筆離開觸控屏的過程中產(chǎn)生的,該壓感數(shù)據(jù)組原始為二進制數(shù)據(jù),終端設(shè)備中的應(yīng)用軟件會存在一條讀取該壓感數(shù)據(jù)組的線程,同時可以根據(jù)相關(guān)協(xié)議解析該二進制數(shù)據(jù),轉(zhuǎn)化為更容易處理的10進制數(shù)據(jù),最終轉(zhuǎn)化為上層需要的數(shù)據(jù)并發(fā)送出去。
S102,擴大所述壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,所述數(shù)據(jù)區(qū)間為所述壓感數(shù)據(jù)組中最大壓感數(shù)據(jù)和最小壓感數(shù)據(jù)組成的區(qū)間;
其中,數(shù)據(jù)區(qū)間為壓感數(shù)據(jù)組中最大壓感數(shù)據(jù)和最小壓感數(shù)據(jù)組成的區(qū)間,例如,一個壓感數(shù)據(jù)組中的壓感數(shù)據(jù)包括0,1,3,13,28,35,39,47,50,36,30,26,22,18,15,1,0,則該壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間為[0,50],采用數(shù)據(jù)拉伸的方法,將原始數(shù)據(jù)的區(qū)間擴大,以達到使數(shù)據(jù)更加精細的目的,擴大所述壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間具體為整數(shù)倍的擴大該數(shù)據(jù)區(qū)間[0,50],可以理解的,在擴大該壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間時,可以根據(jù)終端設(shè)備的實際處理能力選擇擴大的倍數(shù),對于性能好、處理能力強的終端設(shè)備,擴大的倍數(shù)可以比較高,反之,擴大的倍數(shù)應(yīng)比較小,例如,可以整體擴大4倍,則擴大后的數(shù)據(jù)區(qū)間為[0,200],擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)變?yōu)?,4,12,52,112,140,156,188,200,144,120,104,88,72,60,4,0。
S103,當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)之間的差值大于所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中預(yù)設(shè)的最大間隔時,在所述連續(xù)兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)。
在S103中,首先針對擴大后的數(shù)據(jù)區(qū)間定義一個最大間隔,該最大間隔的可以根據(jù)終端設(shè)備的實際處理能力確定,對于性能好、處理能力強的終端設(shè)備,該最大間隔的數(shù)據(jù)值可以比較小,這樣優(yōu)化后的數(shù)據(jù)會更平滑。然后將擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)的差值與該最大間隔時進行對比,若擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)的差值大于該最大間隔,則通過程序智能補點的方法,在所述連續(xù)兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)。
根據(jù)本發(fā)明實施例的觸控筆筆跡的優(yōu)化方法,能夠從軟件角度解決觸控筆硬件方面的缺陷和限制,首先通過擴大原始壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)的差值較大時,在該連續(xù)兩次壓感數(shù)據(jù)直接補充新的壓感數(shù)據(jù),最終將原始的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)變的更加平滑,上層應(yīng)用在接收到優(yōu)化后的壓感數(shù)據(jù)后,筆跡變化不再突兀,從而實現(xiàn)更好的書寫效果。
請參閱圖2,本發(fā)明另一實施例提出的觸控筆筆跡的優(yōu)化方法,至少包括以下步驟:
S201,依次讀取觸控筆的壓感數(shù)據(jù),將獲取到的多個所述壓感數(shù)據(jù)形成壓感數(shù)據(jù)組;
其中,終端設(shè)備的應(yīng)用軟件軟件中存在一條讀取觸控筆壓感數(shù)據(jù)的線程,同時根據(jù)協(xié)議解析該壓感數(shù)據(jù),該數(shù)據(jù)來自觸控筆硬件,例如依次讀取到觸控筆發(fā)出的壓感數(shù)據(jù)為0,1,3,13,28,35,39,47,50,36,30,26,22,18,15,1,0。
S202,擴大所述壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,所述數(shù)據(jù)區(qū)間為所述壓感數(shù)據(jù)組中最大壓感數(shù)據(jù)和最小壓感數(shù)據(jù)組成的區(qū)間;
其中,采用數(shù)據(jù)拉伸的方法,將原始數(shù)據(jù)的區(qū)間擴大,例如,整體擴大4倍,則擴大后的數(shù)據(jù)區(qū)間為[0,200],擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)對應(yīng)變?yōu)?,4,12,52,112,140,156,188,200,144,120,104,88,72,60,4,0。
S203,當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)之間的差值大于所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中預(yù)設(shè)的最大間隔時,在所述連續(xù)兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù);
其中,首先針對擴大后的數(shù)據(jù)區(qū)間定義一個最大間隔G,例如,定義最大間隔G=10,然后當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的兩次壓感數(shù)據(jù)的差值大于10時,在所述兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)。
請參閱圖3,具體在本實施例中,步驟S203包括:
S2031,所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第一個壓感數(shù)據(jù)直接插入待發(fā)送阻塞隊列,所述待發(fā)送阻塞隊列中的數(shù)據(jù)用于發(fā)送給上層應(yīng)用;
具體實施時,還可以定義一個變量R用于記錄上一次的壓感數(shù)據(jù),再定義一個壓感數(shù)據(jù)待發(fā)送阻塞隊列Q,隊列Q中的數(shù)據(jù)會發(fā)送給上層應(yīng)用,當(dāng)接收到第一個壓感數(shù)據(jù)時,賦值給R,同時將值插入隊列(該數(shù)據(jù)會立即被發(fā)送給應(yīng)用)。
S2032,從所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第二個壓感數(shù)據(jù)起,比較當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值與所述最大間隔的大??;
S2033,當(dāng)所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值大于所述最大間隔時,在所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)之間補充數(shù)據(jù)間隔為A/(A/G+1)、數(shù)量為(A/G+1)的新的壓感數(shù)據(jù),并將所述新的壓感數(shù)據(jù)和當(dāng)前的壓感數(shù)據(jù)插入所述待發(fā)送阻塞隊列,其中,A為所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值,G為所述最大間隔。
具體實施時,接收到第二個壓感數(shù)據(jù)時,比較當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)R的差值A(chǔ)與所述最大間隔G的大小;
若A小于或等于所述最大間隔G,則當(dāng)前的壓感數(shù)據(jù)直接插入所述待發(fā)送阻塞隊列;
若A大于所述最大間隔G,在所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)之間補充數(shù)據(jù)間隔為A/(A/G+1)、數(shù)量為(A/G+1)的新的壓感數(shù)據(jù),其中,基于計算機的數(shù)據(jù)處理機制,當(dāng)A/(A/G+1)或(A/G+1)計算出來結(jié)果不是整數(shù)時,只取小數(shù)點前的整數(shù)位。
下面根據(jù)本實施例中的具體壓感數(shù)據(jù)給出詳細說明:
原始的壓感數(shù)據(jù)為:0,1,3,13,28,35,39,47,50,36,30,26,22,18,15,1,0,數(shù)據(jù)區(qū)間為[1,50];
擴大后的數(shù)據(jù)區(qū)間為[1,200],擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)變?yōu)椋?,4,12,52,112,140,156,188,200,144,120,104,88,72,60,4,0。
定義最大間隔值G為10,
對于第一個壓感數(shù)據(jù)0,直接插入隊列Q;
對于第二個壓感數(shù)據(jù)4,A=4-0=4<G,直接插入隊列Q;
對于第三個壓感數(shù)據(jù)12,A=12-4=8<G,直接插入隊列Q;
對于第四個壓感數(shù)據(jù)52,A=52-12=40>G則需要補充A/G+1=40/10+1=5個點,補充間隔g=A/(A/G+1)=8,則補充20,28,36,44,52這幾個點
.....
以此類推;
最終壓感數(shù)據(jù)變?yōu)椋?/p>
0,4,12,20,28,36,44,52,52,60,68,76,84,92,100,108,112,121,130,139,140,148,156,164,172,180,188,194,200,191,182,173,164,155,146,144,136,128,120,112,104,96,88,80,72,66,60,51,42,33,24,15,6,4,0。
可以看出,壓感數(shù)據(jù)變的更加平滑,根據(jù)本實施例的觸控筆筆跡的優(yōu)化方法,能夠從軟件角度解決觸控筆硬件方面的缺陷和限制,首先通過擴大原始壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的兩次壓感數(shù)據(jù)的差值較大時,在該兩次壓感數(shù)據(jù)直接補充新的壓感數(shù)據(jù),最終將原始的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)變的更加平滑,上層應(yīng)用在接收到優(yōu)化后的壓感數(shù)據(jù)后,筆跡變化不再突兀,從而實現(xiàn)更好的書寫效果。
S204,在補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中,根據(jù)數(shù)據(jù)相關(guān)度對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行擬合。
本實施例,還可以對補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行進一步優(yōu)化,根據(jù)數(shù)據(jù)相關(guān)度對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行擬合,使壓感數(shù)據(jù)的更加平滑。
其中,步驟S204具體包括:
定義初始數(shù)據(jù)組和相關(guān)度權(quán)重數(shù)組;
將所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)依次代入所述初始數(shù)據(jù)組中,并根據(jù)所述相關(guān)度權(quán)重數(shù)組對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行平衡,以獲得平衡后的壓感數(shù)據(jù)。
具體實施時,首先保存一個長度L的數(shù)組(在一次設(shè)置一個軟件中這個長度應(yīng)該是固定的),數(shù)組中每個值代表最近的L個元素的相關(guān)度,比如數(shù)組長度L為5,代表和當(dāng)前數(shù)值和最近的五個值相關(guān)。可以根據(jù)機器的性能和需求,調(diào)整數(shù)組長度和相關(guān)度權(quán)重。具體在本實施例中,相關(guān)度總數(shù)為2的n次方,例如,相關(guān)度總數(shù)為2的5次方,即相關(guān)度總數(shù)為32,各個值相關(guān)度為2,4,7,7,12。首先保存一個壓感數(shù)據(jù)隊列,隊列的每一個新值都是根據(jù)5個值乘以各自權(quán)重,在進行右移n位生成,在用這樣的數(shù)據(jù)進行書寫筆跡會很流暢自然。
下面通過一具體數(shù)據(jù)組進行詳細說明:
接收到的觸控筆的壓感數(shù)據(jù)為:
0,4,12,19,26,33,40,47,52,60,74,76,84,92,100;其中,第11位的壓感數(shù)據(jù)74為突變數(shù)據(jù)。
定義初始數(shù)據(jù)數(shù)組為[0,0,0,0,0],定義權(quán)重數(shù)組為[2,4,7,7,12];
將第1個壓感數(shù)據(jù)0代入初始數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[0,0,0,0,],平衡后的壓感數(shù)據(jù)為(0*0)/2=0;
將第2個壓感數(shù)據(jù)4代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[0,4,0,0,0],平衡后的壓感數(shù)據(jù)為(0*2+4*4)/6=2;
將第3個壓感數(shù)據(jù)12代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[0,4,12,0,0],平衡后的壓感數(shù)據(jù)為(0*2+4*4+12*7)/(2+4+7)=7;
將第4個壓感數(shù)據(jù)19代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[0,4,12,19,0],平衡后的壓感數(shù)據(jù)為(0*2+4*4+12*7+19*7)/(2+4+7+7)=11;
將第5個壓感數(shù)據(jù)26代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[0,4,12,19,26],平衡后的壓感數(shù)據(jù)為(0*2+4*4+12*7+19*7+26*12)/32=17;
將第6個壓感數(shù)據(jù)33代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[4,12,19,26,33],平衡后的壓感數(shù)據(jù)為(4*2+12*4+19*7+26*7+33*12)/32=23;
將第7個壓感數(shù)據(jù)40代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[12,19,26,33,40],平衡后的壓感數(shù)據(jù)為(12*2+19*4+26*7+33*7+40*12)/32=31;
將第8個壓感數(shù)據(jù)47代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[19,26,33,40,47],平衡后的壓感數(shù)據(jù)為(19*2+26*4+33*7+40*7+47*12)/32=38;
將第9個壓感數(shù)據(jù)52代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[26,33,40,47,52],平衡后的壓感數(shù)據(jù)為(26*2+33*4+40*7+47*7+52*12)/32=44;
將第10個壓感數(shù)據(jù)60代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[33,40,47,52,60],平衡后的壓感數(shù)據(jù)為(33*2+40*4+47*7+52*7+60*12)/32=51;
將第11個壓感數(shù)據(jù)74代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[40,47,52,60,74],平衡后的壓感數(shù)據(jù)為(40*2+47*4+52*7+60*7+74*12)/32=60;
將第12個壓感數(shù)據(jù)76代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[47,52,60,74,76],平衡后的壓感數(shù)據(jù)為(47*2+52*4+60*7+74*7+76*12)/32=67;
將第13個壓感數(shù)據(jù)84代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[52,60,74,76,84],平衡后的壓感數(shù)據(jù)為(52*2+60*4+74*7+76*7+84*12)/32=75;
將第14個壓感數(shù)據(jù)92代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[60,74,76,84,92],平衡后的壓感數(shù)據(jù)為(60*2+74*4+76*7+84*7+92*12)/32=82;
將第15個壓感數(shù)據(jù)100代入數(shù)據(jù)數(shù)組中,得數(shù)據(jù)數(shù)組[74,76,84,92,100],平衡后的壓感數(shù)據(jù)為(74*2+76*4+84*7+92*7+100*12)/32=90。
最終平衡后的壓感數(shù)據(jù)為:0,2,7,11,17,23,31,38,44,51,60,67,75,82,90,可以看到,第11位的突變數(shù)據(jù)74為被很好的平衡。最終壓感數(shù)據(jù)得到進一步優(yōu)化,書寫會更加平滑。
可以理解的,由于權(quán)重數(shù)組為會影響最終的壓感數(shù)據(jù),因此還可以通過對平衡后的壓感數(shù)據(jù)組的兩個壓感數(shù)據(jù)之間做向量,兩個向量之間做運算,如果變化過大,可以動態(tài)調(diào)整權(quán)重數(shù)組,使最終的壓感數(shù)據(jù)更加接近自然書寫的狀態(tài)。
請參閱圖4,基于同一發(fā)明構(gòu)思,本發(fā)明另一實施例提出了一種觸控筆筆跡的優(yōu)化系統(tǒng),包括:
讀取模塊,用于依次讀取觸控筆的壓感數(shù)據(jù),將獲取到的多個所述壓感數(shù)據(jù)形成壓感數(shù)據(jù)組;
擴大模塊,用于擴大所述讀取模塊獲取的壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,所述數(shù)據(jù)區(qū)間為所述壓感數(shù)據(jù)組中最大壓感數(shù)據(jù)和最小壓感數(shù)據(jù)組成的區(qū)間;
補充模塊,用于當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的連續(xù)兩次壓感數(shù)據(jù)的差值大于所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中預(yù)設(shè)的最大間隔時,在所述聯(lián)系兩次壓感數(shù)據(jù)之間補充新的壓感數(shù)據(jù)。
本實施例中,所述補充模塊包括第一插入模塊、比較模塊、補充子模塊和第二插入模塊;
所述第一插入模塊用于將所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第一個壓感數(shù)據(jù)直接插入待發(fā)送阻塞隊列,所述待發(fā)送阻塞隊列中的數(shù)據(jù)用于發(fā)送給上層應(yīng)用;
所述比較模塊用于從所述擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的第二個壓感數(shù)據(jù)起,比較當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值與所述最大間隔的大??;
所述補充子模塊用于當(dāng)所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值大于所述最大間隔時,在所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)之間補充數(shù)據(jù)間隔為A/(A/G+1)、數(shù)量為(A/G+1)的新的壓感數(shù)據(jù),其中,A為所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值,G為所述最大間隔;
所述第二插入模塊用于在所述補充子模塊補充了新的壓感數(shù)據(jù)后,將所述新的壓感數(shù)據(jù)和當(dāng)前的壓感數(shù)據(jù)插入所述待發(fā)送阻塞隊列。
本實施例中,所述優(yōu)化系統(tǒng)還包括:
第三插入模塊,用于當(dāng)所述比較模塊比較到所述當(dāng)前的壓感數(shù)據(jù)和上一壓感數(shù)據(jù)的差值小于或等于所述最大間隔時,將所述當(dāng)前的壓感數(shù)據(jù)直接插入所述待發(fā)送阻塞隊列。
本實施例中,所述優(yōu)化系統(tǒng)還包括:
擬合模塊,用于在補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中,根據(jù)數(shù)據(jù)相關(guān)度對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行擬合。
本實施例中,所述擬合模塊包括定義模塊和平衡模塊;
所述定義模塊用于定義初始數(shù)據(jù)組和相關(guān)度權(quán)重數(shù)組;
所述平衡模塊用于將所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)依次代入所述初始數(shù)據(jù)組中,并根據(jù)所述相關(guān)度權(quán)重數(shù)組對所述補充了新的壓感數(shù)據(jù)的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)進行平衡,以獲得平衡后的壓感數(shù)據(jù)。
本實施例提出的觸控筆筆跡的優(yōu)化系統(tǒng),能夠從軟件角度解決觸控筆硬件方面的缺陷和限制,首先通過擴大原始壓感數(shù)據(jù)組的數(shù)據(jù)區(qū)間,當(dāng)擴大數(shù)據(jù)區(qū)間后的壓感數(shù)據(jù)組中的兩次壓感數(shù)據(jù)的差值較大時,在該兩次壓感數(shù)據(jù)直接補充新的壓感數(shù)據(jù),最終將原始的壓感數(shù)據(jù)組中的壓感數(shù)據(jù)變的更加平滑,上層應(yīng)用在接收到優(yōu)化后的壓感數(shù)據(jù)后,筆跡變化不再突兀,從而實現(xiàn)更好的書寫效果。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,“計算機可讀介質(zhì)”可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。
計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學(xué)掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
盡管已經(jīng)示出和描述了本發(fā)明的實施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。