王琪, 崔榮一
( 延邊大學(xué) 工學(xué)院, 吉林 延吉 133002 )
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展和文檔數(shù)據(jù)的日益增加,如何有效管理和使用文檔逐漸成為人們關(guān)注的問題.版面文檔內(nèi)容復(fù)雜度是評價(jià)版面內(nèi)容組成情況的主要指標(biāo)之一,它有助于人們了解文檔的本質(zhì)屬性[1-2]以及分析和處理文檔[3]130.傳統(tǒng)的版面分析是將版面內(nèi)容作為一個(gè)完整的圖像,并通過對版面圖像進(jìn)行劃分等處理將文檔分割成文字、表格以及圖像等元素,以此為后續(xù)的純文本版面分析以及字符識別做準(zhǔn)備[4].評估版面圖像復(fù)雜度時(shí),因所關(guān)注的內(nèi)容不同,其評價(jià)方法也有所不同.例如: Peters等利用邊緣與灰度級對圖像的復(fù)雜度進(jìn)行了評價(jià)[5].基于文獻(xiàn)[5],高振宇等利用圖像的信息熵、紋理以及邊緣信息等特征對圖像的復(fù)雜度進(jìn)行了分析,并采用等權(quán)重系數(shù)加權(quán)求和的方法對圖像的復(fù)雜度進(jìn)行了定量的評估[3]132.Zou等利用圖像的紋理特征研究了圖像的復(fù)雜度,并利用灰度共生矩陣對紋理特征進(jìn)行了分析[6].上述方法中,研究者或只是對圖像進(jìn)行了定性的描述,或沒有考慮各指標(biāo)間的權(quán)重,即沒有給出準(zhǔn)確、定量的描述方法.
計(jì)算機(jī)存儲的版面文檔信息中,包含圖像空間分布的像素信息(灰度值或彩色數(shù)字化編碼)和文字部分的文字編碼,即文檔的二進(jìn)制字節(jié)流中含有圖像和文本的原本信息(像素和字符);因此,對文件字節(jié)流的復(fù)雜度進(jìn)行分析可判定版面的全局復(fù)雜度.基于此,本文以圖文要素構(gòu)成的word 2003版面存儲文檔為研究對象,提出一種基于文件字節(jié)流信息熵的版面全局復(fù)雜度的度量方法,并通過實(shí)驗(yàn)驗(yàn)證本文方法的有效性.
研究表明,信息熵可用于描述信源平均不確定性[7].本文采取二進(jìn)制方式讀取文件,把不同的字節(jié)值視為不同的信源符號(稱之為字節(jié)符號),然后通過統(tǒng)計(jì)文件中各字節(jié)符號出現(xiàn)的次數(shù),確定信源符號的概率分布,進(jìn)而計(jì)算出該文件的字節(jié)流信息熵H(X).信息熵的計(jì)算公式為:
(1)
其中P(ai) (i=1,2,…,q)為字節(jié)值為i的字節(jié)符號ai(i=1,2,…,q)的先驗(yàn)概率,q為不同字節(jié)符號的個(gè)數(shù).因1個(gè)字節(jié)為8位二進(jìn)制數(shù),故q的值為28=256.式(1)中,字節(jié)符號之間是相互獨(dú)立的,而在實(shí)際文檔中,因文檔內(nèi)容之間具有一定的依賴性,所以字節(jié)之間存在關(guān)聯(lián)性.為了真實(shí)地反映字節(jié)流信息熵,本文采用二維離散平穩(wěn)信源的信息熵.在二維離散平穩(wěn)信源的隨機(jī)序列(X1,X2,…,Xi,…,Xn)中,只有相鄰的兩個(gè)符號之間具有依賴關(guān)系.考慮到相鄰字節(jié)之間的相關(guān)性,將上述隨機(jī)序列分成每兩個(gè)符號為一組,以此構(gòu)成2次擴(kuò)展信源,其形式為X’=XiXi+1.該信源信息熵的計(jì)算公式為:
(2)
其中P(aiaj) (i,j=1,2,…,q)為2次擴(kuò)展信源輸出符號X1X2的聯(lián)合概率.
在離散平穩(wěn)有記憶信源中,多個(gè)符號間具有相互依賴關(guān)系,因此可通過N次擴(kuò)展信源來計(jì)算信源的信息熵,并以此獲得平均符號熵.平均符號熵的計(jì)算公式為:
(3)
當(dāng)式(3)中的N足夠大時(shí),平均符號熵趨于極限熵.
因式(3)計(jì)算出的二進(jìn)制字節(jié)流信息熵能夠真實(shí)地反映文檔(含圖像和文字)的統(tǒng)計(jì)特性,因此式(3)可以用來度量版面文檔的總體復(fù)雜度.另外,從香農(nóng)第一定理可知,該信息熵也能夠反映文檔可壓縮的理論界限.
圖1 數(shù)據(jù)處理示意圖
計(jì)算字節(jié)流信息熵時(shí),首先把文件看成二進(jìn)制字節(jié)流,并設(shè)置N個(gè)字節(jié)緩沖區(qū),用于保存文件中的N個(gè)字節(jié).將字節(jié)的內(nèi)容轉(zhuǎn)換為整數(shù),即可獲得字節(jié)符號的索引值.讀取新字節(jié)時(shí),首先將緩沖區(qū)的內(nèi)容左移一個(gè)字節(jié)(如圖1所示),然后把新字節(jié)存放至緩沖區(qū)的末尾字節(jié)處,并計(jì)算字節(jié)符號的新索引值.根據(jù)每個(gè)索引值,統(tǒng)計(jì)字節(jié)符號出現(xiàn)的概率,再由公式(3)計(jì)算出該文件字節(jié)流N次擴(kuò)展的平均信息熵.
基于N次擴(kuò)展字節(jié)符號的平均信息熵的計(jì)算算法如下:
AlgorithmN-BYTE COMENTROPY
Input 版面文檔文件
Output 該文件的字節(jié)流信息熵entropy
Step 1 測量文件長度并保存至fsize
Step 2 計(jì)算N次擴(kuò)展字節(jié)符號集合元素個(gè)數(shù):n=28N
Step 3n個(gè)字節(jié)符號個(gè)數(shù)計(jì)數(shù)器symbol[0~n-1]清零:
fori=0 ton-1 do
symbol[i]=0
endfor
Step 4 讀入文件前N字節(jié)至字節(jié)符號緩沖區(qū)Nbyte[0~N-1]中
Step 5 計(jì)算N次擴(kuò)展首字節(jié)符號的索引index:
index=0
fori=0 toN-1 do
index=index*256+Nbyte[i]
endfor
Step 6N次擴(kuò)展首字節(jié)符號個(gè)數(shù)增1:
symbol[index]=symbol[index]+1
Step 7 對后續(xù)字節(jié)統(tǒng)計(jì)每一個(gè)N次擴(kuò)展字節(jié)符號的出現(xiàn)次數(shù):
while (未遇到文件尾) do
Step 7.1 緩沖區(qū)Nbyte內(nèi)容左移一個(gè)字節(jié):
fori=0 toN-1 do
Nbyte[i]=Nbyte[i+1]
endfor
Step 7.2 讀入新的字節(jié)到緩沖區(qū)元素Nbyte[N-1]中
Step 7.3 計(jì)算新的N次擴(kuò)展首字節(jié)符號的索引index:
index=0
fori=0 toN-1 do
index=index*256+Nbyte[i]
endfor
Step 7.4N次擴(kuò)展字節(jié)符號個(gè)數(shù)增1:
symbol[index]=symbol[index]+1
endwhile
Step 8 計(jì)算各字節(jié)符號出現(xiàn)的概率p[0~n-1]:
fori=0 ton-1 do
p[i]=symbol[i]/(fsize-N+1)
endfor
Step 9 計(jì)算并返回信息熵entropy:
entropy=0
fori=0 ton-1 do
entropy=entropy+(-p[i]*logp[i])
endfor
entropy=entropy/N
返回entropy
實(shí)驗(yàn)中,純圖片文檔由像素為32×32、640×480、1 024×768、1 280×960、1 600×1 200的圖像插入到word 2003文檔中構(gòu)成;純文本文檔由空白頁以及2、4、6、8、10、12頁的文本構(gòu)成;混合文檔由圖文混合的1頁文檔構(gòu)成.
1)擴(kuò)展級數(shù)N的確定.根據(jù)香農(nóng)信息理論,當(dāng)擴(kuò)展到一定程度時(shí),平均信息熵將趨近于極限熵,并基本保持不變[7].編程實(shí)現(xiàn)上述算法,并通過實(shí)驗(yàn)取字節(jié)信息熵穩(wěn)定的N值作為擴(kuò)展級數(shù).由圖2可以看出,采用4,5-byte方式讀取文檔時(shí),信息熵最小,且通過4,5-byte可以確定圖像的信息熵,因此本文取N=4.
2)圖像復(fù)雜程度與信息熵的關(guān)系.圖像復(fù)雜程度與信息熵的關(guān)系實(shí)驗(yàn)結(jié)果如3圖所示,圖3中不同的線型表示不同復(fù)雜程度的圖像.將不同大小的簡單圖像與真實(shí)場景圖像(圖4)進(jìn)行對比,結(jié)果表明,復(fù)雜圖像的信息熵明顯大于簡單圖像的信息熵,因此可通過計(jì)算信息熵的方法來判斷文檔中圖像的復(fù)雜程度.
圖2 圖像像素大小與信息熵的關(guān)系
圖3 4-byte讀取時(shí)圖像復(fù)雜程度與信息熵的關(guān)系
(a)畫面較為復(fù)雜的圖像 (b)畫面較為簡單的圖像圖4 實(shí)驗(yàn)圖像
3)文檔大小與信息熵的關(guān)系.由圖5可以看出,文檔長度越長,信息熵越大;因此,可采用基于信息熵的方法來評估不同長度文檔的復(fù)雜程度.采用同一種讀取方式時(shí),信息熵越大,說明文檔長度越長.
4)文檔內(nèi)容與信息熵的關(guān)系.由圖6可以看出,采用4-byte方式讀取文檔時(shí),圖文混合文檔的信息熵最大,其次為僅含圖片的文檔,最小的為僅包含文字的文檔;因此,在文檔篇幅一樣的情況下,可以利用信息熵來評估文檔的復(fù)雜程度.
圖5 文檔大小與信息熵的關(guān)系
圖6 文檔內(nèi)容與信息熵的關(guān)系
上述實(shí)驗(yàn)表明:對于同樣篇幅的文檔,圖文混合文檔的信息熵最大;文檔的長度越長,文檔的信息熵越大;對于純圖像文檔,畫面內(nèi)容豐富的圖像文檔的信息熵大于畫面簡單的圖像文檔的信息熵.該結(jié)果與實(shí)際情況相符.
本文采用文件字節(jié)流信息熵的方法對文檔內(nèi)容進(jìn)行了復(fù)雜度評估,該方法不用對文檔中圖文進(jìn)行細(xì)節(jié)劃分即可實(shí)現(xiàn)對文檔內(nèi)容復(fù)雜程度的評估;因此,本文提出的方法優(yōu)于傳統(tǒng)的版面分析方法,且能夠提高文檔的分析效率.同時(shí),本文方法也可為文檔的可壓縮性提供度量.本文在研究中僅考慮了以word 2003為存儲格式的文檔內(nèi)容復(fù)雜度,今后我們將采用不同的文檔格式(如PDF、RTF、TXT等)來測試本文方法的適用性.