是否有關於DjVu電子書格式的技術和權利,通過購買應用程序或通過在免費應用程序中進行應用內購買來解釋為什麽它僅適用於iPhone?
我看到DjVu依賴某些專利的使用。這與它有什麽關系?因為另一方面, DjVuLibre 軟件是作為GNU公共許可證下的免費開源軟件提供的。
我猜測開發人員為了為iPhone創建免費的DjVu應用程序需要的其他軟件存在於 ComicFlow ,這是GNU Public License下的另一項免費開源軟件。
在我看來,DjVu的 libdjvu
相對無法訪問,包括自己的bytestream壓縮導致多年來對DjVu格式的低接受度,而不是專利問題。這阻礙了其他軟件開發人員使用他們的軟件來支持DjVu,甚至更多
當移植到新平臺時。
DjVuLibre軟件有幾個特征,使得它很難移植。它是基於C
++的代碼,它建立在似乎可以通用的框架上,但可能是DjVuLibre特有的。我得出這樣的結論:在框架中沒有遇到框架的任何其他地方,以及包含子字符串
DJVU
的類的具體名稱等。然而,該框架以 libdjvu
的形式用於所有DjVuLibre工具( bzz
。 djvu ...
)
作為C ++庫的 libdjvu
使得它不如其他語言(例如Python)可調用,而不是基於C的庫。
使事情復雜化,DjVu文件格式的字節流使用Burrows Wheeler編碼器進行壓縮。該編碼器與
bzip2
類似,但具有其自己的DjVu特定實現。這比較多的標準壓縮方案提供了小的優勢,但是這通過使用小波編碼和單獨壓縮圖層的概念性更好的圖像壓縮處理而變得不足。
I analysed the DjVuLibre software some time ago, to extract
OCR-ed text. I settled for a minimal Python implementation for that
piece, as I could not get a Python program to hook up to the
C++ libraries in a reasonable amount of
time. I spent a few days getting the Python implementation to work,
analysing the intransparent program flow of the library, all the
while comparing the output with results from djvutxt
and bzz
. This resulted in the DJVU OCR extraction
program included in Calibre. (The difficulties might be based on my
lack of programming experience: I have been programming C++ since the late 80's—one of the first commercial
things I developed in C++ was a library for
creating GIF files in 1987—and have used Python since the mid
90's).
我必須說我真的很喜歡DjVu的概念,並且喜歡優秀的質量/文件大小比例,與我用過的其他文件格式的掃描相比。我總是掃描到.DjVu。但是,盡管我主要在Linux系統上工作,但掃描/轉換過程包括在Windows機器上運行的商業軟件,它使我獲得比打開的DjVuLibre庫更好的壓縮結果(以及沒有附加程序的OCR)。
至於專利,看起來他們很快就會到期。
至於工具,壓縮比率主要取決於前景/背景分離的質量。我的經驗證實,商業軟件在這方面通常更好。
不過,我應該註意到,Jakub Wilk的 didjvu 允許選擇幾種前景/背景分離算法之一。所以至少在理論上它可以比DjVuLibre工具獲得更好的壓縮效果。