dtt, dic 檔案格式說明

Posted by root at 2013/08/28

Category: O-Pen

Tags: , , ,

  1. 新O-pen筆使用dtt或dic檔案為其資料庫檔案, 筆的記憶體有限, 分位程序在同一時間只能載入一個dtt檔案或dic檔案. 筆內的Ebook目錄可以有很多個dtt及dic檔案, 筆靠書碼按鍵切換載入這些檔案, 通常一個dtt對應一本書, 一個dic對應一個字典卡.
    image_thumb2 
  2. 主要內容: dtt及dic其主要包含索引-音頻, 預置聲音, 系統控制碼.索引-音頻是用來快速查找需要播放的音頻或程序運行時的資料,預置聲音系統控制碼可在模擬器中看到其內容. 目前預置聲音完全開放給使用者自己可以修改. 系統控制碼目前不提供修改功能.
     image_thumb3
  3. 碼量大: dtt格式跟dic格式都用到Complete B-Tree結構的搜尋引擎, 其優點可以在幾百億的碼號中快速搜索到其對應的音頻或資料且使用的記憶體少, 以下是B-Tree的示意圖(實際情況一個節點超過32個碼), 在同一時間只會有一個"節點"載入記憶體. 相較於舊版的O-pen只能索引65535個碼大大的提升碼量及應用範圍.
    image_thumb51 
  4. 書碼: 每個dtt及dic檔案都可以指定一書碼. 在同一隻筆內的Ebook目錄下的所有dtt及dic的書碼最好都不同, 這樣可以使用書碼快速切換到對應的dtt或dic檔案, 如果有多個檔案書碼相同則執行他們共用的書碼時這些檔案會輪流載入筆內.
    image_thumb51[1]
  5. 超大檔案:當一本書的mp3音頻很多, 甚至超過100G時還是可以輸出成dtt及dic檔案, 雖然大多的作業系統無法處理4G以上的檔案, 點讀筆也不例外.為了處理這個問題O-Pen 的dtt檔案採用零件檔案來解決這個問題, 輸出dtt檔案時可以設定檔案大小的上限, 如果檔案超過這個上限就會產生該dtt檔案的零件檔案.
    舉例: dtt檔案的大小的上限設為512MB, 而總檔案大小為1034MB時, 則輸出book1.dtt 時會產生3個檔案book1.dtt book1.001 book1.002, 他們的總大小為1034MB. 而點讀筆在點讀使用時就好像只使用1個book1.dtt檔案,  其他零件檔案由程序自動控制, 這也就是說一個書碼能對應好幾百GB的音頻資料.
    book1.dtt 512MB
    book1.001 512MB
    book1.002 10MB
    book1.001, book1.002為book1.dtt的零件檔案, 一個dtt檔案或dic檔案最多可以有999個零件檔案, 也就是附檔名為001~999.
     image_thumb31
    以下設定輸出dtt的"書碼","檔名","檔案大小上限", 設定檔案大小上限請不要超過1G.
    image_thumb5 

  6. 合併dtt檔案:
    當書本很多時EBook目錄下會對應很多dtt檔案, 各書本在使用時還需要先點一下書碼才能開始點讀該書的內容. 現在有一種方法就是可以把所有的dtt變成一個dtt, 這樣就完全不用書碼了, 請參考這個鏈接將多個*.dtt檔案合并成一個dtt檔案.

  7. 特別加密:  dtt及dic檔案生成時會自動產生亂數做加密的輸入參數, 所以每次輸出dtt檔案時雖然沒有變動任何內容但輸出的檔案還是會不一樣, 這個加密主要是保護客戶的版權及內容.

  8. VenderID: dtt及dic檔案內含VenderID號碼, 當VenderID>100時,只有點讀筆硬件Firmware內的VenderID與其相等才能點讀該dtt或dic. 購買專用碼的客戶我們會給專用的OidProducer版本, 該版本會輸出固定的VenderID, 只有該客戶的筆可以點讀他自己的dtt或dic檔案.
  9. dtt及dic的比較
          1. 說明

                   A. Dic 只是dtt的一個子功能,就如同跟讀比對只是dtt的一個子功能。

                   B. O-pen點讀筆一次只能讀入一個索引檔案到記憶體,目前有兩個不同格式的索引擋dtt及dic。筆的Ebook目錄可以同時放置多個dtt及dic檔案並藉由書碼切換檔案載入記憶體。

                   C. dtt 檔案由OidProducer.exe或dtt.exe 產生,主要用途為點讀應用,當點讀筆點到印在書上的碼時便從dtt查找該點讀碼相應的音訊並播放它,dtt的作用主要是“碼轉音訊” 。點讀的大部分功能都是在這個模式下開發完成。
                   D. 後來由於英漢字典功能的需求而增加了dic格式,主要用來查找單字,也就是“單字轉音訊” 。

                   E. 點讀筆主要使用dtt ,當需要字典功能時點字典書碼載入dic切換字典模式查找單字,查好單字後點退出碼退出字典載入最後使用的dtt,也就是說字典只是dtt的一個子功能。

                   F. 字典dic的特殊功能:dic不僅能做英漢字典,日漢字典,英法字典等等語言類的字典,還可以將字典的單字賦予特殊的意義達到其他的查詢功能如章節查詢,電話查詢,產品序號查詢等等。各種查詢功能存成獨立的dic檔案.

        2. dtt與dic的差別比較

     

    dtt

    dic

    主要功能

    點讀學習

    查詢資料

    B-Tree索引(index)

    Key=YdOT碼; data=audio;

    keySize=32bits

    Key=單字; data=audio;

    keySize=128bits

    索引功能

    以點讀碼查找

    以單字查找 (單字可自訂格式)

    點讀碼查找

    直接使用點讀碼查找

    點讀碼先查找單字,再由單字查找

    以下功能列表 dtt可以 但dic卻不行
    “Crazy sentence", 进入疯狂句子;(练习将多个单词组成一句子)
    “Dictation" 默书(读写):指定开始及结束位置播放
    “SpeechCmp”  跟读录音比对 (目前SpeechCmp最长只录10sec)