文字塊的傳輸方法和裝置與流程
2023-04-24 06:48:46 1

本發明涉及圖像處理領域,具體而言,涉及一種文字塊的傳輸方法和裝置。
背景技術:
電腦屏幕畫面採集的視頻序列與攝像機等設備採集的視頻序列有著較大的區別。在電腦屏幕畫面中,較多場景會有文字畫面,例如:瀏覽網頁,播放幻燈片等會出現大量文字。在本文中,對於文字圖像進行截取並按固定大小劃分成塊,得到的圖像塊信息簡稱文字塊。文字塊基於其特有的性質,在較大的壓縮比下,仍能保持較為合理的失真度。
目前主流的壓縮算法(例如:h.264,h.265,jpeg)中,對於文字塊壓縮效果並不理想。例如,在視頻會議、遠程桌面等圖像的畫面質量和流暢度要求較高的場景,在網絡帶寬一定的情況下,如果文字塊的傳輸佔用了較大的帶寬,則會影響圖像的傳輸效果。
針對現有技術中文字塊的傳輸佔用帶寬較大的問題,目前尚未提出有效的解決方案。
技術實現要素:
本發明實施例提供了一種文字塊的傳輸方法和裝置,以至少解決現有技術中文字塊的傳輸佔用帶寬較大的技術問題。
根據本發明實施例的一個方面,提供了一種文字塊的傳輸方法,包括:將文字塊的像素根據像素出現的頻率分為多層;按照每一層像素出現的頻率由高至低的順序依次對每一層像素進行傳輸。
進一步地,獲取當前網絡帶寬;噹噹前網絡帶寬小於預設帶寬時,進入將文字塊的像素根據像素出現的頻率分為多層的步驟。
進一步地,根據像素的頻率獲取像素的基本色和逃逸色;將文字塊的像素分為兩層,確定文字塊的基本色為文字塊的第一層,確定文字塊的逃逸色為文字塊的第二層。
進一步地,獲取第一分量的第一頻率直方圖以及預設的第一步長;以第一步長在第一頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前n位的n個區間,確定查找到的n個區間對應的顏色值為第一分量的第一基本色,其中,n為大於等於2的整數;確定滿足第一預設條件的第一分量對應的顏色為第一逃逸色,其中,第一預設條件為與第一基本色的差值的絕對值大於第一預設值,且不屬於第一頻率直方圖中第一基本色所在的第一預設區間。
進一步地,獲取第二分量的第二頻率直方圖以及預設的第二步長;以第二步長在第二頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前m位的m個區間,確定查找到的m個區間對應的顏色值為第二分量的第二基本色,其中,m為大於等於2的整數;確定滿足第二預設條件的第二分量對應的顏色為第二逃逸色,其中,第二預設條件為與第二基本色的差值的絕對值大於第二預設值,且不屬於第二頻率直方圖中第二基本色所在的第二預設區間。
進一步地,獲取第三分量的第三頻率直方圖以及預設的第三步長;以第三步長在第三頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前k位的k個區間,確定查找到的k個區間對應的顏色值為第三分量的第三基本色,其中,k為大於等於2的整數;確定滿足第三預設條件的第三分量對應的顏色為第三逃逸色,其中,第三預設條件為與第三基本色的差值的絕對值大於第三預設值,且不屬於第三頻率直方圖中第三基本色所在的第三預設區間。
進一步地,根據文字塊中像素的每個分量的基本色和逃逸色,確定每個分量對應的標記索引值;根據像素的標記索引值與鄰域像素的標記索引值的關聯關係,確定像素的預測索引值;根據文字塊中每個像素的標記索引值和預測索引值對文字塊進行壓縮編碼。
進一步地,進解碼端按照接收的順序依次對多層像素的壓縮編碼結果進行解碼,其中,在未全部接收到多層像素的壓縮編碼結果的情況下,通過第四預設值代替未接收到解壓縮編碼結果的像素,在全部接收到多層像素的壓縮編碼結果後,對第四預設值替代的像素進行更新。
根據本發明實施例的另一方面,還提供了一種文字塊的壓縮編碼裝置,包括:分層模塊,用於將文字塊的像素根據像素出現的頻率分為多層;傳輸模塊,用於按照每一層像素出現的頻率由高至低依次對每一層像素進行傳輸。
根據本發明實施例的另一方面,還提供了一種存儲介質,在程序運行時控制存儲介質所在設備執行上述任意一項的文字塊的壓縮編碼方法。
根據本發明實施例的另一方面,還提供了一種處理器,處理器用於運行程序,其中,程序運行時執行上述任意一項的文字塊的壓縮編碼方法。
在本發明實施例中,將文字塊的像素根據像素出現的頻率分為多層,按照每一層像素出現的頻率由高至低的順序依次對每一層像素進行傳輸。上述方案利用了文字塊最主要的特徵主要的能量集中在較少的幾種像素中這一特性,根據每個文字塊像出現的頻率,對像素進行分層,然後根據像素出現的頻率有高至低的將每層像素進行傳輸,從而不僅保證了文字塊的顯示效果,同時還減小了文字塊傳輸所佔用的帶寬,進而解決了現有技術中文字塊的傳輸佔用帶寬較大的技術問題,達到了提高文字塊的傳輸效率的技術效果。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的文字塊的傳輸方法的流程圖;
圖2是根據本發明實施例的一種可選的文字塊的傳輸方法的示意圖;
圖3是根據本申請實施例的一種解碼端對第一層壓縮編碼數據進行解碼的示意圖;以及
圖4是根據本發明實施例的文字塊的傳輸裝置的示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
實施例1
根據本發明實施例,提供了一種文字塊的傳輸方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。
圖1是根據本發明實施例的文字塊的傳輸方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟s102,將文字塊的像素根據像素出現的頻率分為多層。
具體的,上述文字塊可以是將圖像進行分塊後得到的文字塊。在一種可選的實施例中,可以將畫面進行分塊,確定塊的類型,從而得到畫面的文字塊。統計每一個文字塊中像素出現的頻率,並分別對每一個文字塊中的像素出現的頻率進行排序,再按照排序結果對每個文字塊的像素進行分層。
步驟s104,按照每一層像素出現的頻率由高至低的順序依次對每一層像素進行傳輸。
在一種可選的實施例中,將文字塊的每個像素分為a、b、c三層,其中,像素出現的頻率的大小關係為a層像素>b層像素>c層像素,則在傳輸的過程中,先將屬於a層的像素傳輸至解碼端,再將屬於b層的像素傳輸至解碼端,最後將屬於c層的像素傳輸至解碼端,也即,像素出現的頻率與每層的傳輸優先級正相關。
在上述步驟中,對於一個文字塊,像素出現頻率較高的像素即為該文字塊最主要的部分,將這部分信息進行壓縮編碼後發送至解碼端,解碼端對這部分內容進行解碼,由於文字塊的像素較為集中,因此僅傳輸一層就能夠得到較好的顯示結果。上述方案不僅保證了文字塊的顯示效果,同時還減小了文字塊傳輸所佔用的帶寬。
由上可知,本申請上述實施例將文字塊的像素根據像素出現的頻率分為多層,按照每一層像素出現的頻率由高至低的順序依次對每一層像素進行傳輸。上述方案利用了文字塊最主要的特徵主要的能量集中在較少的幾種像素中這一特性,根據每個文字塊像出現的頻率,對像素進行分層,然後根據像素出現的頻率有高至低的將每層像素進行傳輸,從而不僅保證了文字塊的顯示效果,同時還減小了文字塊傳輸所佔用的帶寬,進而解決了現有技術中文字塊的傳輸佔用帶寬較大的技術問題,達到了提高文字塊的傳輸效率的技術效果。
可選的,根據本申請上述實施例,在將文字塊的像素根據像素出現的頻率分為多層之前,方法還包括:
步驟s106,獲取當前網絡帶寬。
步驟s108,噹噹前網絡帶寬小於預設帶寬時,進入將文字塊的像素根據像素出現的頻率分為多層的步驟。
在一種可選的實施例中,以電話會議為例,實時檢測當前的網絡帶寬,當網絡帶寬較寬時,能過保證文字塊的正常傳輸,則無需對文字塊進行分層傳輸,當網絡帶寬較窄時,為例保證會議中視頻能夠流暢的進行傳輸,則開始對文字塊進行分層傳輸,從而減少文字塊傳輸所佔用的帶寬,進而保證視頻傳輸的流暢性。
可選的,根據本申請上述實施例,將文字塊的像素根據像素出現的頻率分為多層,包括:
步驟s1021,根據像素的頻率獲取像素的基本色和逃逸色。
具體的,上述基本色為文字塊中像素按照出現的頻率由高至低排序的前幾個像素對應的顏色值,而逃逸色為每個文字塊中除基本色之外的顏色。
以屏幕顯示一篇白底黑字的文章為例,可以確定主要能量集中在出現頻率最多的白色像素和黑色像素中,由此確定能量集中的像素(即出現頻率較多的像素)為基本色,而其他像素定義為逃逸色。
步驟s1023,將文字塊的像素分為兩層,確定文字塊的基本色為文字塊的第一層,確定文字塊的逃逸色為文字塊的第二層。
在上述步驟中,將文字塊分為包括基本色的第一層以及包括逃逸色的第二層,也即先傳輸基本色,再傳輸逃逸色。
此處需要說明的是,由於文字塊的顏色較為單一,uv分量包含信息較少,用少量基本色可以滿足視覺需要;2、文字塊的較多複雜色彩都集中於文字邊緣的過渡區域,這些過渡顏色在壓縮算法中會被識別為逃逸色,這些逃逸色信息冗餘較多,且對成像清晰度幫助不大,因此在第一次傳輸時至傳輸基本色,而不對逃逸色進行傳輸。
進一步地,由於在第一層傳輸時僅傳輸基本色,yuv的逃逸色在第二層進行傳輸,從而在保證圖像質量的前提下大幅降低了第一層碼流的大小。該方案中文字塊第一層的傳輸碼流,相比於不分層方案降低了50%以上。這種針對文字編碼器的分層壓縮傳輸方案對帶寬要求更小,能夠更加靈活的適應網絡環境,同時基於電腦畫面的特殊性(例如:部分畫面無變化),在很多場景下向用戶「逐漸清晰」的顯示畫面是能夠被接受的。
可選的,根據本申請上述實施例,對於像素的第一分量,獲取文字塊的基本色和逃逸色,包括:
步驟s10211,獲取第一分量的第一頻率直方圖以及預設的第一步長。
步驟s10213,以第一步長在第一頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前n位的n個區間,確定查找到的n個區間對應的顏色值為第一分量的第一基本色,其中,n為大於等於2的整數。
具體的,區間中像素出現的頻率最高,該區間的能量越大。對於用於表示像素亮度的y分量來說,可以取n=4,即取四個基本色。
步驟s10215,確定滿足第一預設條件的第一分量對應的顏色為第一逃逸色,其中,第一預設條件為與第一基本色的差值的絕對值大於第一預設值,且不屬於第一頻率直方圖中第一基本色所在的第一預設區間。
此處需要說明的是,對於不滿足第一預設條件的像素,即對於與第一基本色的差值的絕對值小於等於第一預設值,或屬於直方圖中第一基本色所在的第一預設區間的像素,與第一分量的基本色較為接近,可以將其量化為基本色,因此,可以將滿足第一預設條件的像素作為逃逸色。
例如,以第一分量的基本色的顏色值為125為例,第一預設值為8,顏色值125在頻率直方圖中所屬的區間為(112,128],與第一基本色的差值的絕對值小於等於第一預設值的像素值屬於[117,133],或屬於直方圖中第一基本色所在的第一預設區間的像素處於(112,128]範圍內,由此可以得到不屬於[117,133],且不屬於(112,128]的像素對應的顏色為逃逸色。
在一種可選的實施例中,以第一分量為y分量為例,統計畫面內每個文字塊的y分量統計頻率直方圖;以2σ1(第一步長)為步長在統計頻率直方圖中查找能量最大的4個區間,並記錄能量最大的區間對應的顏色,將能量最大的區間對應的顏色作為y_base_color,即y分量的基本色。然後將與y_base_color差值的絕對值大於第一預設值,且未落在頻率直方圖中y_base_color所屬區間的顏色作為逃逸色。
可選的,根據本申請上述實施例對於像素的第二分量,獲取文字塊的基本色和逃逸色,包括:
步驟s10217,獲取第二分量的第二頻率直方圖以及預設的第二步長。
步驟s10219,以第二步長在第二頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前m位的m個區間,確定查找到的m個區間對應的顏色值為第二分量的第二基本色,其中,m為大於等於2的整數。
具體的,區間中像素出現的頻率最高,該區間的能量越大。對於用於u分量來說,可以取m=2,即取兩個基本色。
步驟s102111,確定滿足第二預設條件的第二分量對應的顏色為第二逃逸色,其中,第二預設條件為與第二基本色的差值的絕對值大於第二預設值,且不屬於第二頻率直方圖中第二基本色所在的第二預設區間。
在一種可選的實施例中,以第二分量為u分量為例,分別統計圖像內每個文字塊的u分量的頻率直方圖,以2σ2(第二步長,可以與第一步長相同)為步長在頻率直方圖中查找能量最大的2個區間,並記錄能量最大的2個區間對應的顏色,將能量最大的兩個區間對應的顏色作為u_base_color,即u分量基本色,然後將與u_base_color差值的絕對值大於第二預設值,且未落在頻率直方圖中u_base_color所屬區間的顏色作為逃逸色。
可選的,根據本申請上述實施例,對於像素的第三分量,獲取文字塊的基本色和逃逸色,包括:
步驟s102113,獲取第三分量的第三頻率直方圖以及預設的第三步長。
步驟s102115,以第三步長在第三頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前k位的k個區間,確定查找到的k個區間對應的顏色值為第三分量的第三基本色,其中,k為大於等於2的整數。
具體的,區間中像素出現的頻率最高,該區間的能量越大。對於用於v分量來說,可以取k=2,即取兩個基本色。
步驟s102117,確定滿足第三預設條件的第三分量對應的顏色為第三逃逸色,其中,第三預設條件為與第三基本色的差值的絕對值大於第三預設值,且不屬於第三頻率直方圖中第三基本色所在的第三預設區間。
在一種可選的實施例中,以第三分量為k分量為例,分別統計圖像內每個文字塊的k分量的頻率直方圖,以2σ3(第三步長,可以與第一步長相同或第二步長相同)為步長在頻率直方圖中查找能量最大的2個區間,並記錄能量最大的2個區間對應的顏色,將能量最大的兩個區間對應的顏色作為v_base_color,即v分量基本色,然後將與v_base_color差值的絕對值大於第二預設值,且未落在頻率直方圖中v_base_color所屬區間的顏色作為逃逸色。
可選的,根據本申請上述實施例,在將文字塊的像素分為兩層之前,方法還包括:步驟s1010,對像素的基本色和逃逸色進行量化,其中,
對像素的基本色進行量化包括:分別將不滿足第一預設條件的第一分量、不滿足第二預設條件的第二分量和不滿足第三預設條件的第三分量量化為第一基本色、第二基本色和第三基本色。
在一種可選的實施例中,以像素的第一分量為例,第一預設條件為與第一基本色的差值的絕對值大於第一預設值,且不屬於第一頻率直方圖中第一基本色所在的第一預設區間,因此不滿足第一預設條件的第一分量為與第一基本色的差值的絕對值小於等於第一預設值,或屬於第一頻率直方圖中第一基本色所在的第一預設區間的分量,例如:以第一分量的基本色的顏色值為125為例,第一預設值為8,顏色值125在頻率直方圖中所屬的區間為(112,128],與第一基本色的差值的絕對值小於等於第一預設值的像素值屬於[117,133],由此屬於[117,133],或屬於(112,128]的像素都可以被量化為基本色。
對像素的逃逸色進行量化包括:通過如下公式對文字塊的第一分量、第二分量和第三分量的逃逸色進行量化:其中,a用於表徵量化後的逃逸色,b用於表示像素的任意一個分量,σ用於表示像素的任意一個分量對應的步長。
可選的,根據本申請上述實施例,在按照每一層像素的頻率由高至低依次對每一層像素進行傳輸之前,方法還包括:步驟s1012,按照每一層像素的頻率由高至低依次對每一層像素進行壓縮編碼,按照每一層像素的頻率由高至低依次對每一層像素進行壓縮編碼的步驟包括:根據文字塊中像素的每個分量的基本色和逃逸色,確定每個分量對應的標記索引值;根據像素的標記索引值與鄰域像素的標記索引值的關聯關係,確定像素的預測索引值;根據文字塊中每個像素的標記索引值和預測索引值對文字塊進行壓縮編碼。
在一種可選的實施例中,仍以像素包括yuv三個分量為例,對分層後的壓縮編碼進行描述。
首先,確定每個分量對應的標記索引值的步驟包括:
(1)將量化後圖像中的y分量的值用對應索引表示,其中:y_base_color為4個,對應索引0-3。如果y分量值被量化為基本色,則用y_base_color對應的索引(0-3)表示;如果y分量為逃逸色,則用4表示。
(2)將量化後圖像中的u分量的值用對應索引表示,其中:u_base_color為2個,對應索引0-1。如果u分量值被量化為基本色,則用u_base_color對應的索引(0-1)表示;如果u分量為逃逸色,則用2表示。
(3)將量化後圖像中的v分量的值用對應索引表示,其中:v_base_color為2個,對應索引(0-1)。如果v分量值被量化為基本色,則用v_base_color對應的索引(0-1)表示;如果v分量為逃逸色,則用2表示。
其次,根據像素的標記索引值與鄰域像素的標記索引值的關聯關係,確定像素的預測索引值的步驟包括:
(1)量化後的值與左側像素的像素值相等時標記為l。
(2)量化後的值與上側像素的像素值相等時標記為u。
(3)量化後的值與左側和上側都不相等時,或如果上側和左側都不存在值時,標記為o。
最後,根據文字塊中每個像素的標記索引值和預測索引值對文字塊進行壓縮編碼包括:
(1)將o值對應的序列進行編碼並傳輸。
(2)將逃逸色進行編碼並傳輸。
可選的,根據本申請上述實施例,在按照每一層像素的頻率由高至低依次對每一層像素進行傳輸之後,上述方法還包括:
解碼端按照接收的順序依次對多層像素的壓縮編碼結果進行解碼,其中,在未全部接收到多層像素的壓縮編碼結果的情況下,通過第四預設值代替未接收到解壓縮編碼結果的像素,在全部接收到多層像素的壓縮編碼結果後,對第四預設值替代的像素進行更新。
在一種可選的實施例中,以將像素分為兩層為例,在進行第一層的傳輸時,將yuv分量的基本色及其索引值進行編碼並傳輸,解碼端默認yuv分量的逃逸色初值為0,解碼第一層數據時,利用0作為逃逸色來解碼並生成圖像;在進行第二層的傳輸時,將yuv分量的逃逸色及其索引值進行編碼並傳輸,在解碼端對第二層數據解碼,並更新yuv分量的逃逸色數據,利用新的逃逸色數據來生成清晰的圖像。
圖2是根據本發明實施例的一種可選的文字塊的傳輸方法的示意圖,下面結合圖2所示,對上述方案進行進一步描述。
s21,獲取當前帶寬並確定分層方案。
s22,是否需要對像素進行分層。在需要進行分層的情況下進入步驟s24,否則進入步驟s23。
s23,傳輸文字塊的全部編碼壓縮數據。
如果當前帶寬無需對文字塊進行分層傳輸,則將文字塊的全部壓縮編碼數據傳輸至解碼端。
s24,傳輸第一層數據。
s25,傳輸第二層數據。
如果當前網絡帶寬需要對文字塊進行文層傳輸,則先傳輸第一層文字塊的編碼信息,再傳輸第二層文字塊的編碼信息。
s26,對數據進行解碼生成圖像。
解碼端對壓縮編碼的數據進行解碼,從而得到圖像的文字部分。
圖3是根據本申請實施例的一種解碼端對第一層壓縮編碼數據進行解碼的示意圖,圖3通過不同紋理表示不同顏色,結合圖3所示,不包括文字的部分為圖像中的圖片塊,此處不進行討論,對於文字塊部分,以左側的文字為例,由於文字為一種顏色,文字的底色為另一種顏色,因此第一層像素為基本色,即文字的顏色和文字背景的顏色,解碼端在接收到第一層壓縮編碼數據後解碼出文字和文字的背景,構成了如圖3所示的圖像。
實施例2
根據本發明實施例,提供了一種文字塊的傳輸裝置的實施例,圖4是根據本發明實施例的文字塊的傳輸裝置的示意圖,如圖4所示,該方法包括如下步驟:
分層模塊40,用於將文字塊的像素根據像素出現的頻率分為多層。
傳輸模塊42,用於按照每一層像素的頻率由高至低依次對每一層像素進行傳輸。
由上可知,本申請上述實施例通過分層模塊將文字塊的像素根據像素出現的頻率分為多層,通過傳輸模塊按照每一層像素出現的頻率由高至低的順序依次對每一層像素進行傳輸。上述方案利用了文字塊最主要的特徵主要的能量集中在較少的幾種像素中這一特性,根據每個文字塊像出現的頻率,對像素進行分層,然後根據像素出現的頻率有高至低的將每層像素進行傳輸,從而不僅保證了文字塊的顯示效果,同時還減小了文字塊傳輸所佔用的帶寬,進而解決了現有技術中文字塊的傳輸佔用帶寬較大的技術問題,達到了提高文字塊的傳輸效率的技術效果。
可選的,根據本申請上述實施例,上述裝置還包括:
第一獲取模塊,用於在將文字塊的像素根據像素出現的頻率分為多層之前,用於獲取當前網絡帶寬。
轉換步驟模塊,用於噹噹前網絡帶寬小於預設帶寬時,進入將文字塊的像素根據像素出現的頻率分為多層的步驟。
可選的,根據本申請上述實施例,分層模塊包括:
第二獲取模塊,用於根據像素的頻率獲取像素的基本色和逃逸色。
確定模塊,用於將文字塊的像素分為兩層,確定文字塊的基本色為文字塊的第一層,確定文字塊的逃逸色為文字塊的第二層。
可選的,根據本申請上述實施例,對於像素的第一分量,第二獲取模塊包括:
第一獲取子模塊,用於獲取第一分量的第一頻率直方圖以及預設的第一步長。
第一查找子模塊,用於以第一步長在第一頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前n位的n個區間,確定查找到的n個區間對應的顏色值為第一分量的第一基本色,其中,n為大於等於2的整數。
第一確定子模塊,用於確定滿足第一預設條件的第一分量對應的顏色為第一逃逸色,其中,第一預設條件為與第一基本色的差值的絕對值大於第一預設值,且不屬於第一頻率直方圖中第一基本色所在的第一預設區間。
可選的,根據本申請上述實施例,對於像素的第二分量,獲取文字塊的基本色和逃逸色,包括:
第二獲取子模塊,用於獲取第二分量的第二頻率直方圖以及預設的第二步長。
第二查找子模塊,用於以第二步長在第二頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前m位的m個區間,確定查找到的m個區間對應的顏色值為第二分量的第二基本色,其中,m為大於等於2的整數。
第二確定子模塊,用於確定滿足第二預設條件的第二分量對應的顏色為第二逃逸色,其中,第二預設條件為與第二基本色的差值的絕對值大於第二預設值,且不屬於第二頻率直方圖中第二基本色所在的第二預設區間。
可選的,根據本申請上述實施例,對於像素的第三分量,獲取文字塊的基本色和逃逸色,包括:
第三獲取子模塊,用於獲取第三分量的第三頻率直方圖以及預設的第三步長。
第三查找子模塊,用於以第三步長在第三頻率直方圖中按照能量由大至小的順序,查找由大至小排列在前k位的k個區間,確定查找到的k個區間對應的顏色值為第三分量的第三基本色,其中,k為大於等於2的整數。
第三確定子模塊,用於確定滿足第三預設條件的第三分量對應的顏色為第三逃逸色,其中,第三預設條件為與第三基本色的差值的絕對值大於第三預設值,且不屬於第三頻率直方圖中第三基本色所在的第三預設區間。
可選的,根據本申請上述實施例,上述裝置還包括:量化模塊,用於在將文字塊的像素分為兩層之前,對像素的基本色和逃逸色進行量化,其中,
對像素的基本色進行量化包括:分別將不滿足第一預設條件的第一分量、不滿足第二預設條件的第二分量和不滿足第三預設條件的第三分量量化為第一基本色、第二基本色和第三基本色;
對像素的逃逸色進行量化包括:通過如下公式對文字塊的第一分量、第二分量和第三分量的逃逸色進行量化:其中,a用於表徵量化後的逃逸色,b用於表示像素的任意一個分量,σ用於表示像素的任意一個分量對應的步長。
可選的,根據本申請上述實施例,上述裝置還包括:壓縮編碼模塊,用於在按照每一層像素的頻率由高至低依次對每一層像素進行傳輸之前,按照每一層像素的頻率由高至低依次對每一層像素進行壓縮編碼,按照每一層像素的頻率由高至低依次對每一層像素進行壓縮編碼的步驟包括:根據文字塊中像素的每個分量的基本色和逃逸色,確定每個分量對應的標記索引值;根據像素的標記索引值與鄰域像素的標記索引值的關聯關係,確定像素的預測索引值;根據文字塊中每個像素的標記索引值和預測索引值對文字塊進行壓縮編碼。
可選的,根據本申請上述實施例,上述裝置還包括:
解碼模塊,用於在按照每一層像素的頻率由高至低依次對每一層像素進行傳輸之後,解碼端按照接收的順序依次對多層像素的壓縮編碼結果進行解碼,其中,在未全部接收到多層像素的壓縮編碼結果的情況下,通過第四預設值代替未接收到解壓縮編碼結果的像素,在全部接收到多層像素的壓縮編碼結果後,對第四預設值替代的像素進行更新。
實施例2
根據本發明實施例,提供了一種存儲介質,存儲介質包括存儲的程序,其中,在程序運行時控制存儲介質所在設備執行實施例1中任意一項的文字塊的壓縮編碼方法。
實施例3
根據本發明實施例,提供了一種處理器,其特徵在於,處理器用於運行程序,其中,程序運行時執行實施例1中任意一項的文字塊的壓縮編碼方法。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、伺服器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬碟、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。