TWI330006B - Encoding method and encoder for generating balanced code or constant weighted code - Google Patents

Encoding method and encoder for generating balanced code or constant weighted code Download PDF

Info

Publication number
TWI330006B
TWI330006B TW096127586A TW96127586A TWI330006B TW I330006 B TWI330006 B TW I330006B TW 096127586 A TW096127586 A TW 096127586A TW 96127586 A TW96127586 A TW 96127586A TW I330006 B TWI330006 B TW I330006B
Authority
TW
Taiwan
Prior art keywords
code
encoder
finite state
state
bits
Prior art date
Application number
TW096127586A
Other languages
English (en)
Other versions
TW200906074A (en
Inventor
Chia Yen Chang
Hsin Ping Cheng
Original Assignee
Lite On It Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lite On It Corp filed Critical Lite On It Corp
Priority to TW096127586A priority Critical patent/TWI330006B/zh
Priority to US12/132,756 priority patent/US7567191B2/en
Publication of TW200906074A publication Critical patent/TW200906074A/zh
Application granted granted Critical
Publication of TWI330006B publication Critical patent/TWI330006B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • G11B2020/1457Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof wherein DC control is performed by calculating a digital sum value [DSV]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1859Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information wherein a trellis is used for decoding the error correcting code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2504Holographic discs; Holographic digital data storage [HDDS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

1330006 九、發明說明: 【發明所屬之技術領域】 本案係一編碼方法與編碼器,尤其是平衡碼或固定權重 碼的編碼方法與編碼器 【先前技術】 因為通訊與電腦產業快速的進步,高品質的影音資訊 與多元化的互動模式變的非常普及,但是,高品質的影音 資訊與多元化的互動模式需要更快的傳輸速度和大量的二 所=擁:個讀取快速而容量更大的儲存設備就被
4費者所渴望擁有D 現在流行的光儲存是將資料以一維的方式依序寫入 片中儲存,要提高碟片的容量與儲存密度,就必須用波長 數值口徑(⑽㈣㈤Aped·)更大的透鏡作 ,,予禎寫頭的兀件,例如S〇NY所推行的藍光碟片系 ί ::二波長比DM光學頭更短的藍光雷射與數值孔徑更 大的透鏡,來縮小投射到碟片上的光點,進__步增 ^ =度。但是這種作法已經慢慢逼近物理上的極限,而盔 這步增加碟片的容量了。因為波“ :二‘”達工業的極限。因此,要進一步增 和儲存谷置就必須從根本的物理原理作改變而 技術被寄望繼藍光碟片(Blu-ray Di k :子 多功能碟片⑽,D)之後,成為二:品質數位 流,其儲存容量和傳輸速度G 存系統主 因是:大存且快速傳輸資料的根本原 平面空間的光模式讀取=光=儲存與二度 目相較於現有的光儲存系統要多二1 一 2取的資料數 了如第-圖(a)和第—圖⑻所示,其中第一圖⑷ 1330006 為儲存時的光學架構圖,而圖中描繪成虛線的光學元件表 示在儲存時不需要使用的元件;第一圖(b)為讀取時的光學 架構圖’圖中虛線的描繪的光學元件也是代表在讀取時不 需要使用的元件。在儲存時,高功率的雷射101發射一同 調性非常高(high spatial and temporal coherence)的光 束’經過反射元件102將光束轉向到另一個方向,在此例 中’轉向後的光束’和原來的光束垂直《具有小孔的元件 103可限制通過光束的量,只有在小孔附近的光束才能夠 通過’因此’通過小孔的光束可以視為一相當理想的點光 源。透鏡1 04可將通過小孔的點光源變成平行光。分光鏡 l〇5(sPlitter)可將單一的雷射光分成兩束,一束為用來攜 帶資料的信號光束1 06 (signal beam),另一束為參考光束 l〇7(referencebeam)。資料在信號光束中以一種名為「光 間光調節器」108(spatial light modulator)的裝置加以 編碼’把〇與1的數位資料轉譯為亮點與暗點(light and dark pixels)的形式,並以陣列或頁(page)的方式排列, 每頁所含的位元數隨著設計者的不同,可能會有很大的變 化’而每頁僅僅是讀取時的最小單元,因此,這樣的技術 能夠輕易的達到比現在系統高出許多的儲存容量與傳輸速 度.·’呈過空間光調節器」1 0 8的信號光束1 〇 6經過反射 兀件109與透鏡in之後,聚集在儲存媒體 112(hol〇graphic storage media)上,而經過分光鏡產生 的另道光束叫做參考光束1 0 7,以不同的路徑經過另一 個反射元件110聚焦在儲存媒體的同一點上,這兩束來自 不同路杈的光會因為干涉現象,產生干涉圖案這些圖案 含有重建資料所需的資訊,全像媒體就將這些干涉圖案記 錄起來即可完成全像資料的儲存動作❶在讀取時,如第一 圖(b)所示,將赌存用的媒體至於信號光束與參考光束聚焦 之處遮掉L號光束,只用參考光束聚焦在储存媒體中的 114 1330006 干涉圖案,則干涉圖案即可經由透鏡"3而被偵測器 轉換成一頁或是一個陣列的資料β 全像儲存系統和現今的光儲存系統相同之處在於: 號強度的變化,會造成解碼端不良的影響。因此,在 ?道編碼時,設計者會讓的個數大致上相等,:就 是在電氣信號上,編好的碼會造成信號在直流信 或低頻部分的成分非常小或趨近於零。 為了達到低頻成分趨近於零的要求,在先前技術一 •國專利6,Q16,33G號)中,提供了—種平衡碼(balance(; code )的編碼機制,經過編碼以後的輸出,滿足^的個 和〇的個㈣等的要求,因此,當資料經過空間光調節器 的編碼後,咼焭度的部分和低亮度的成分是相等的,因此, 如果把高亮度當成信號位準丨,低亮度部分當成信號位準 -1,將所有的信號之信號位準相加取平均後,是一個非常 接近於零的數值,在解碼的時候,我們可以從信號本身判 斷$亮度與低亮度的信號門檻(thresh〇ld)並利用維特比 演算法(Viterbi Alg0rithm)將編碼的資料予以解碼出來。 • 先前技術一中提供了一種輸入為8位元 (BoB.B.BsB.BsBeBO^ ih ^ 1 2 ^ ^ (bob.b.bsb.bsbeb.b^^.obu ) 的平衡碼,輸出的12個位元中,6個位元為j,6個位元 為0 因此付合的合法輸出字碼(code word)共有924 個。接著,將合法輸出字碼分成8個互不重複的子集合 (subset S丨、Sw.S8),每個子集合有64個字碼,這六十 四個字碼中任取兩個來做比較,至少有4個位元是不相同 的,也就是,這一組字碼的最小漢明碼距(minim⑽Hamming distance)為4。再者,第1個子集合滿足下列的方程式: (bI + 2*b2 + 3*b3 + 4*b, + 5*bs + 6*be + 7*b7 + 8*b8 + 9*b9+10*bI.+ ll*bn-i)m od 12=0 1330006 . 請參照第二圖’其所繪示為習知有限狀態的編碼器示 意圖°以先前技術一為例,8位元的輸入字碼3〇3輸入至 • ^碼電路301,編碼電路303根據輸入字碼決定一目前狀 態’而編碼電路303根據輸入字碼303、目前狀態、與前 一狀態來產生一 12位元的合法輸出字碼304。接著,輸出 該合法輸出字碼304以及目前狀態至一狀態暫存器3〇2, ,當下一次的輸入字碼303輸入至編碼電路301時,該狀 態暫存器302内的資料即表示為前一狀態。而編碼電路3〇3 中儲存一速查表(look up table)使得該編碼電路3〇3可根 φ 據輸入字碼303、目前狀態、與前一狀態來產生一 12位元 的合法輸出字碼304。 亦即,在編碼端是使用有限狀態的編碼器inite state encoder) ’要使用有限狀態編碼器的理由主要是 因為使用有限狀態編碼器,才能在解碼端使用維特比演算 法來達到最大近似(maximum likelih〇〇d)解碼的最佳效 在先前技術一中所揭露的實施例,是將單一筆的8位 兀輸入分成兩個部分,第一部份只有2個位元,這兩個位 元共可決定4個有限狀態a(00)、b(01)、c(1〇)、d(u), 通常編碼開始的時候,會將起始狀態設為a(〇〇),由目前 子碼所決定的狀態,以及前一個字碼所決定的狀態,並根 據表一所提供的對應關係’找到用來編碼的相對子集合。 例如·初始狀態為a (〇 〇 ),且第一筆資料的8個位元'中前 兩個位元為〇〇,也就是狀態a(00),查閱表一得到先前狀 態為a(oo),目前狀態依然為a(〇〇),所對應的子集合為 於是選中s,,作為字碼表,將Sl所含的64個字碼*依照 設計者的規劃做一個排列,每個字碼有一 6位元的索引碼 (i ndex )與其對應,輸入資料的第二部分由6個位元所構 明0006 成’這6個位元,剛好 瑪。例如:輸入資料、可形成決定合法輸出字碼的所以 出的字碼為子集合Si的第二部分為001000 ’表示,最後輸 ”。1中第8個字碼。 表一 ^——-- ________ 先前技術一 ---_ ill狀態 A __a Sl b —---— Ss —-~-- s2 ______ ----- s6 目前狀態 A S: ( JJAP,V〇1 401 (2002) PP1 763- 1 766 ) 和和方法U放寬了每個字碼中1的個數 種瑪2 須相等的限制條件,以編碼率9/12為例,這 種碼的編碼器’每次輸入9個位元的字碼
=β2Β祕ΒβΒ7Β8,輸出則為12個位元的字碼 二b2b3b4b5b6b7b8b9bl〇bll,其中合法輸出字碼為有5個位元 2…固位元為‘Γ,或是有7個位元為‘〇,,5個位 π為I 。因此,可選用的字碼共有1584種。 再者,第1個子集合(Si)要滿足下列的方程式: (b. + 2*b2 + 3*b3 + 4*b4 + 5*b5 + 6*b6 + 7*b7 + 8*b8 + 9*b9+l〇*b.〇 + ll* b"-i)m〇dl2 = 〇。根據上述的法則,可以選出子集合心〜心, ,子集合S。〜&的‘(),、‘1,互換後,可得到n”編碼 益在收到9個位元的輸入字碼BeBlB2B3B4BsB6B7B8時將輸入 字碼分成兩個部分,其中ΒοΒ,Β2作為目前的狀態(present State),加上前一狀態(previ〇us以以…與事先儲存在記 憶體中的表二,可以得到選取的子集合Si,根據選取到的
10 '*: S 1330006 子集合Si與輸入字碼的後半部分當作索引 (index),找到最後的合法輸出字碼 bohbzbababsbebTbuthb^bM,此一改良是因為放寬了合法輸出 字碼的限制,從原來‘i,和‘〇,❾個數必需,口到 從多個字碼的標準來看,㈣要_ 情形,以下稱之為虛擬平衡碼CpSeud〇 baUnce 卜
當編碼的限制從平衡碼放寬到虛擬平衡碼時,輸入/ ^的編碼率彳以提升,料單位面積或體積能夠儲存的 $量增加了。而本發明相較於先前技術一和先前技術二而 吕’在相同的限制條件下(合法輸出字碼為平衡碼或虛擬 平衡媽)其編碼後的性能,有更進一步的提升。 表二 先前技術二之狀態與子集合的速查表 前一 目前狀態 ~~ 狀態 000 001 010 Oil 100 101 110 111 000 So S, s2 S3 s4 s5 s6 s7 001 S8 S9 s 1 0 Sl, S 1 2 S,3 S ] 4 s15 010 S, So S3 S2 S5 s4 s7 s6 011 S9 S8 Sll s 1 0 S丨3 s 1 2 S,5 S i 4 100 S2 S3 So S, S6 S7 s4 s5 101 s 1 0 S11 s8 S9 S 14 S 1 5 S12 s13 110 S3 S2 S, So S7 s6 s5 s4 111 S丨丨 s 1 0 S9 S8 Sl5 s 1 4 Sn S l 2 【發明内容】 本發明提供了一種有限狀態編碼器的速查表設計方 法’使用在一有限狀態的編碼器’該方法包含下列步驟: 首先決定該編碼器的合法輸出字碼的位元數與—限制條 件;收集滿足該限制條件的合法輸出字碼;決定編碼器的 1330006 輸入字碼的位元數目;將 定的數學方程式分成若干字;=:制:条件的字碼依據-特 字瑪數目;以及決定該編碼ί目集;狀:定ί個子集合内的 組字碼子集合的對應關係 f 一狀態與某一 速查表有使用到的子集合S ;^係形成一速查表,該 數目,且小於兩倍的有 ^有,狀態編碼器的狀態 本發明所提供的方3的,態數目。 中,而編碼器的狀態數目可為= 有限狀態的編碼器 字碼皆滿足的限制條件為:合法:出8字::有的合法輸出 和位元0的個數是相等的,此即 的:兀1的個數 code) 1 „ ^ 〇 ^ ^ ^ ^ 足將出字碼的位元1和位元。的個數比例 1=&法輸出字碼分成若干個子集合,同-集合中 的口法輸出子碼,其最小漢明碼距大於或一二 然數。而將合法輸出字碼區分成不 的法, 過輸入字碼中的某些位元以及一些加法=争, : = =被歸類在哪個子集合中。而每個子2 。將有限狀態編碼器中的目前狀態前… ,「且子碼子集合的對應關係連結在—起的是一個速查 夠广16 ) ’該速查表的設計條件為:使籬笆圖 下,用最少的子集合數目,來完成速查表 本發明提供了 一種使用在全像儲存的編碼器包含: 一第y唯讀記憶體,該唯讀記憶體存放分成若干個子集人 出Ϊ碼…卜還有一第二唯讀記憶體,該唯讀: 隱體儲存-狀態到子集合的速查該冑查表冑用的子集 合數目大於狀態數目且小於兩倍的狀態數目且該速查^ 12 (% 1330006 的設計方式為:使籬笆圖能夠收斂的情形下,用最少的子 集合數目,來完成編碼表的設計;此外還有一暫存器存 放前次編碼的狀態變數;以及一編碼電路,可根據一固定 長度的輸入字碼和該暫存器的内容,從該第一唯讀記憶體 和該第二唯讀記憶體中找出一固定長度的合法輸出字碼。 【實施方式】 本發明與先前技術相比,本發明的第一個不同之處在於· 狀態與子集合的速查表中前兩列的字碼可以重複,對比於 • 先前技術一中所採用4X4的狀態與子集合的速查表(見表 一)’先前技術一採用了八種不同的子集合Se〜s?,而利 用籬笆圖(trel 1 is diagram)發現只需要6或7組不同的 子集合就可以讓籬笆圖(treUisdiagram)達成收斂。再 者’對比於先前技術二中所採用的8χ8狀態與子集合的速 查表(見表二),先前技術採用了 16種不同的子集合5〇 〜Sis’而利用籬笆圖(treHis diagrain)發現只需要12 〜15組不同的子集合就能讓籬笆圖(trellis diagrain) 達成收斂,因此,我們的編碼器和解碼器就不需要那麼多 組不同的子集合,如此可以大幅降低編碼器和解碼器中速 # 查表所需要的記憶體數目。 本發明與先前技術相比,本發明的另一個特殊之處在 於:先前技術中所採用的計算子集合&的方式為: (bi + 2*b2 + 3*b3+4*b4 + 5*b5 + 6*b6 + 7*b7 + 8*b8 + 9*b9 + l〇tb,〇+i bii-i )mod 12 = 0。並進而發現,合法輸出字碼的第一個位元 b〇與決定子集合的公式無關,因此,本發明將計算子集合 Si的方式改為: 口 (b〇 + 2*b1 + 3*b2 + 4*b3 + 5*b4 + 6*bs + 7*b6 + 8*b7 + 9*b8+10*b9+ll*b 10 i )mod 12 = 0。因此,合法輸出字碼的位元數就可以從12 個位元下降到n個位元,如此可以更有效率的利用可用的 13 !33〇〇〇6 子碼。 根據以上的特徵,本發 狀態編碼器的速查表設計方耗供—個系統性的一種有限 含下列步m決;t該編碼器’/第五圖所示’該方法包 與合法輸出字碼的位元數(的—限制條件(步驟和、 -限制條件就是決定該編碼器η:在本發明中’此 碼;決定合法輸出字珉Μ私 輸出為平衡碼或固定權重 中U 輸出子碼的位疋數與限制條件後,就可以筲 出付合限制條件合法輸出字碼數 一/ &曼就了以异 器的輸入字碼的位元數。 個數目會影響編碼
接著,就可用電腦程式去收隹 或固定權重碼)的合法輸出字碼制條J牛(平衡碼 法輸出字㈣集完成後,即Λ(定步
數目以及編碼器的輸入字碼的位有:))狀J 滿足該限制條件(平衡碼或固定權重碼)合法輸出字 碼依據一特定的數學方程式分成若干個子集合 505) ’子集合的數目由編碼器的狀態數目決:、狀 =,4的話,們需…個子集合,如果狀態工 ,s我們而要12-15個子集合,在先前技術以及一些 本發明所提的實施例中計算子集合Si的數學方程式為:一 (b1 + 2^b2 + 3*b3 + 4*b4 + 5*b5 + 6*b6+7*bT + 8*b8 + 9*b9 + 10*b,〇 + ll* bn-i)mod 12=0 〇 接下來,根據輸入字碼的位元數目以及編碼器的狀態 數目決定每個子集合内的合法輸出字碼數目(步驟5〇6); 最後用電腦程式決定該編瑪器目前狀態、前一狀態與某一 組字碼子集合的對應關係’該對應關係形成一速查表(步 驟507 ),該速查表的特徵在於:有使用到的子集合數目 大於有限狀態編碼器的狀態數目,且小於兩倍的有限狀雜 编碼器的狀態數目,如果決定後的速查表可以讓籬琶圖 (Trellis Diagram)收斂(步驟508)的話,速查表就完成 1330006 (步驟509 ) 了,如果無法讓籬笆圖收斂的話,則 法收敛的對應關係,直到籬笆圖收斂為止。 、…、 根據本發明的平衡碼與固定權重碼的編碼方 明提出幾個實施例: 本發 第一貫施例(編碼率為4/6的虛擬平衡碼): 在第一實施例中,編碼器的輸入字碼有四個位元 BoB^B3 ’合法輸出字碼則有六個位元hb^b^b5,其中, 合法輸出字碼有兩種:一種是輸出的6個位元當中有2個 位兀為‘1,,其他四個位元為‘0,;另外一種合法輸出字 φ 碼則是輪出的個位元中有2個位元為‘ 〇,,其他四個位元 為‘ 1’ 。當編碼器收到一輸入字碼BcBiBzB3時,取BoB!作為 目前狀態,因此’共有四種可能的狀態:a(〇〇)、b(01)、 c(l〇)、d(ll) ’這兩種合法的字碼各有15個,總共有3〇 個合法的字碼,因此我們需要一個4X4的速查表,這樣的 速查表需要6-7個不同的子集合’因此,我們將3〇種合法 的字碼分成7個子集合。這7個子集合中的字碼,滿足最 小漢明距離為4的要求》這7個子集合以及所含有的字碼 分別為:
Sd=[00〇〇li;〇iii〇i;i〇111〇;11〇〇〇〇]; ® Si=[〇00101;〇llll〇;l〇〇〇i〇;iii〇〇i]; S2=[〇〇〇11〇;〇11〇11;1〇〇〇〇1;1111〇〇]; S3=[001〇〇l;〇l〇lll;l〇〇i〇〇;111〇1〇]; S4=[0〇i〇i〇;〇i〇〇〇i;i〇ii〇1;110110]; S5=[〇〇ll〇〇;〇l〇〇l〇;l〇1〇11;11〇1〇1]; S6=[001111;010100;!〇!〇〇〇·!!〇〇!!]. 當編碼器收到一輸入字碼BoBiBzBa時,取BoB,作為目前狀 態’因此,共有四種可能的狀態:a(〇〇)、b(〇l)'c(l〇)、 d(ll),而B2B3,則為一個索引,可當作選取子集合當中某 個合法輸出字碼的依據。從圖3的籬笆圖可知,此一編碼 15 1330006 器的前一狀態共有四種可能的狀態,目前狀態也是共有四 種可能的狀態’每一種可能的前一狀態,均可到達四種不 同的目前狀態。因此經過籬g圖的收敛性測試後,可以得 到-個一4x4的狀態子集合的速查表,這個表如表3所示: —~查碼的举態至字碼子集j速查表 前一狀態 a b c d 目前狀態 a c d S.
Ss S.
Ss S( S4 s2 s«
Sn S2 s, 等,二= = == = 器會將—丄 =,rr,我們可以…二 二b2b3=io’表* S2當中索引為1〇的字碼 二 母個子集合的索引從00開始的話 ::之取’如果 為10)會被選取而作為編 第二,子碼(索引 編碼器的最後輸出為⑽,。的輸出目此’在此情況下, (編碼率為8/11的虛擬平衡碼) 碼疋將8個位*嶋抓6咖的輪入字 的一種編碼方的種字碼 中有6個位元‘0,方法的特性是:合***出字碼 碼共有462種。當編碼器收到:為〇,這樣的合法輸出字 會將輸入字碼的前三個位元Bd;b2;:前=心時, 、有 8 種、(〇〇〇)、b(001)、c(010)、 16 (S ) 1330006 d(011)、e(100)、f(101)、g(110) ' h(lll)。從第四圖的 籬笆圖得知’此一編碼器的前一狀態共有八種可能的狀 • 態’目前狀態也是共有八種可能的狀態,每一種可能的前 一狀態’均可到達八種不同的目前狀態。為了完成編碼, 我們需要一個8x8的速查表,這樣的速查表,至少需要 12_ 15個不同的子集合’為了能讓記憶體使用量能最小化, 因此將462種字碼分成12個子集合s〇〜Su,每個子集合裡 有32個合法輸出字碼,同一個子集合中的合法輸出字碼其 最小漢明距離(minimum Hamming Distance)為4,其作法 為:被分到某個子集合Si的合法輸出字碼要符合: 1 Cb〇 + 2^b2 + 3^b3 + 4*b4 + 5*b5 + 6*b6 + 7*b7 + 8*b8 + 9*b9 + l〇*bi〇+l 1* bH-Umod 12 = 0。因此,經過籬笆圖(TrelUs Diagram) 收敛性的測S式之後’我們將前一狀態、目前狀態以及子集 合Sd~Sii做成一個速查表,如表四所示。 兔_g_ s/π虛擬平衡碼的狀態至字碼子集合速查表 前一 目前狀態 狀態 a(0〇〇) b(001 ) C(010) <1(01 1 ) e(100) f(101) g(110) h(lll) a(000) So s, s2 Sa S4 Ss Se S7 b(001 ) Ss s9 S 1 0 Sn Ss Ss S 1 0 S 1 1 c(010) Si So S3 S2 Ss S4 St s6 d(011) s9 s8 S 1 1 S 1 0 S9 S8 S 1 1 S 1 0 e(100) s2 S3 So s. Se St S4 Ss f(101 ) S 1 0 Sn s8 s9 S i 〇 S 1 1 Ss S9 g(110) S3 s2 s. So St S6 Ss S4 h(lll) S 1 1 S 1 0 s9 s8 S.i S I 0 s9 Se 有限狀態編碼器必須將表四的内容以及每個子集合的 合***出字碼儲存到記憶體中當作速查表。舉例來說,在 17 編竭時,讲r丨 入字碼,輪 B°BlB2B3B4B5B6B7=Q1Q() igg〇 的輪 態,也”輸子碼的前3位元B°mi〇作為目前狀 f〇〇i)則:態為c(〇i〇),假設前—狀態為 碼為輸出=二我Γ得知子集合S8裡的合法輸出字 引,接^ 者選取㈣咖87:01000做為t 法輸出字碼中選取索引為01_的合法輸出字碼作為合 第^實施例:(編碼率為9/12的平衡碼)
轉換Ϊ 1 9貫/施例是將9個位元的輸入字碼Β°ΒΐΒ2Β3Β4β5Β咖8 合法出字碼 beblb2b3b4b5b6b7b8b9bl^ =去12個位兀的合法輸出字碼當中有6個位元為 ’二、他6個位元為‘厂。滿足這樣的限制條件的合法 Γβββ':共冑924種。當編碼器收到輸入字碼 ^ B 時,會將輸入字碼的前三個位元BeBB2當 目前的狀態,因此,可能發生的狀態共有8種:a(〇〇〇)' b 乂(〇〇l)、c(oi〇)、d(011)、e(1〇〇)、f(1〇1)、g(11〇)、h(ui)。
攸第四圖的籬笆圖得知,此一編碼器的前一狀態共有八種 可=的狀態,目前狀態也是共有八種可能的狀態,每一種 可能的前一狀態,均可到達八種不同的目前狀態。為了完 f編碼,我們需要一個8x8的速查表,這樣的速查表,至 少需要1 2-1 5個不同的子集合,為了能讓記憶體使用量能 f小化,我們將此924種的字碼分成12個子集合s。〜Sn, 每個子集合中有64個合法輸出字碼,這64個字碼間的最 小漢明距離為4。在第i個子集合si中的合法輸出字碼必 須滿足: (bi + 2*b2 + 3*b3+4*b4 + 5*b5 + 6*b6 + 7*b7 + 85icb8 + 9*b9+10*b.〇+l 1* birUmod 12 = 0。因此,我們將前一狀態、目前狀態以及子 集合So〜Su之對應關係完成籬笆圖的收斂性測試後,可得 (S ) 18 l33〇0〇6 到一個速查表,如表五所示。 前一 息態 目前狀態 a(0〇〇) b(001 ) c(oio) d(011) e(l〇〇) f ( 101 ) g(l 10) h(1 1 1 ) ^^£〇〇0 ) So s. s2 S3 S4 S5 S6 St ^£〇〇1 ) Se S9 S 1 0 Sn Ss S9 S 1 0 Sn _^_(〇10) s. So S3 S2 S5 s4 S7 Se 1 ) s9 s8 Sn S 1 0 S9 s8 Si 1 Si。 ^100) s2 S3 So s. Sfi S7 S4 s5 JijOl) Si o Si 1 Se S9 S 1 0 Si 1 s8 Ss _6〇^10) S3 s2 s. So St Se Ss s4 Jliii 1) Si 1 S 1 0 s9 s8 S 1丨 Si 0 s9 s8 .......... π w w,只聆衣五的円各以及母個子集合的合法 輪出字碼儲存到記憶體中當作速查表。舉例來說,在^碼 時丄收到9個位元的BqBiB2B3B4B5B6B7B8=〇1〇〇 1〇〇〇〇的輪 =子碼,取出輸入字碼的前3位元BdBiB2=〇1〇作為目前^ ?α,〇ί就/=目前狀態$ c(〇1〇),假設前-狀態為 碼為丄Ϊ 我們可得知子集合S8裡的合法輸出字 幸:字:’接著選取Bmnoi〇_做為 為合***:ΐ碼取索引&〇1°_的合***出字碼作 ^四=施例:(編碼率為9/12的固定權重碼) 轉換成四 12貫個位元的輸入字碼B°BlBzB細邮 的編碼方H 2個:法輸出字碼_2_糾桃“, 出字竭共有792 i 制條件的合*** boBiB2M4B5b6b7b^ $ 。當編碼器收到輸入字碼 作目前的狀離,因此 輸入字碼的前三個位元嶋2當 的狀U此,可能發生的狀態共有8種:3(000)田、 19 、.¾ 1330006 b(001)'c(010)^d(011).e(l〇〇)'f(l〇i).g(ii〇).h(lll)〇 從第四圖$籬笆圖得知,此一編碼器的前一狀態共有八種 可能的狀態,目前狀態也是共有八種可能的狀態,每一種 可能的前一狀態,均可到達八種不同的目前狀態。為了完 成編碼,我們需要一個8χ8的速查表,這樣的速查表,至 少需要12-15個不同的子集合,為了能讓記憶體使用量能 最小化,將此792種的字碼分成12個子集合Sd〜Sll,每個 子集合中有64個合法輸出字碼,這64個字碼間的最小漢 明距離為4。在第i個子集合Si中的合法輸出字碼必須滿 足: (bl + 2*b2 + 3*b3 + 4*b4 + 5*b5 + 6*b6 + 7*b7 + 8*b8 + 9*b9 + 10*b1()+ll 木 bn^Omod 12 = 0。因此,我們將前一狀態、目前狀態以及子 集合Sc〜Su之對應關係完成籬笆圖的收斂性測試後,可得 到一個速查表,如表六所示。 ~~~權重碼的狀態至字碼子集合速查表 目前狀態 狀態 a(0〇〇) b(00l ) c(01〇) d(01 1 ) e( 100) f(101 ) g(110) h( 1 1 1 ) a ( 0 0 0 ) So s. s2 S3 S4 Ss Se St J> ( 0 0j ) S8 s9 Sio Si 1 Ss s9 S 1 0 一 — Sn c(01〇) --- s, So S3 s2 Ss S4 S7 一 — Se d(〇l 1 ) -----: s9 Ss Su Sio S9 S8 Sll — — S10 s2 Ss So Si Se St S4 Ss 8(110) i<j_l 1 ) S 1 0 S3 Sn Sn — s2 s8 S9 S 1 0 Sll s8 *~~— _ s9 s, So S7 Se Ss ------ S4 S 1 〇 ^ S9 S8 Su S 1 0 S9 --—. s8 士 --1----w w L------ w u 限,態編碼器必須將表六的内容以及每個子集合的合法 ^出字碼儲存到記憶體中當作速查表。舉例來說,在編碼 ’收到 9 個位元的 BoLBzBsBJsBeBTBesOlOO loooo 的輸 20 1330006 :字碼,取出輪入字碼的前3位元ΒβΒ,Β2=〇1〇作為 先、,也就是說目前狀態為c(010),假設前一 根據表四’我們可得知子集合、裡的合法輸^ K輸=選字碼,接著選取Μ— 〇1〇。。〇做為 接者在S8中選取索引為01 0000的合法輸出字碼 為合法輸出字碼。 第五實施例(編碼率為8/1 2的平衡碼): 第五實施例中,編碼器的輸入字碼有八個位元
,合法輸出字碼則有十二個位元 bobAb—bAbAbAobu,其中,合法輸出字碼中有6個^ 元為‘1,,其他6個位元為‘〇,,這樣的合法輸出字碼並 有924個。當編碼器收到一輸入字碼U 心時, 取作為目前狀態,因此,共有四種可能的狀態:叭〇〇)、 WOU'cdOhdUl)’因此我們需要—個4χ4的速查表, j樣的速查表至少需要6個不同的子集合’根據先前技術 —的方法,我們故意將所924個合法輸出字碼區分成12個 子集合,在第i個子集合Si中的合***出字碼必須滿足: (bi + 2*b2 + 3*b3 + 4*b4 + 5*b5 + 6*b6 + 7*b7+8^b8 + 9*b9 + l 0*bi〇+l bn-i )m〇d 1 2 = 0。因此,子集合的個數剛好是最小需要個數 的兩倍,我們可以任取其中6個子集合做成一個速查表, 用剩下的6個子集合做成另一個速查表。當編碼時,每次 輸入個8位元的輸入字碼,就會有兩個不同的子集合可 供挑選,可根據通道的特性挑選一個可靠度較高或錯誤發 生率較低的合法輸出字碼作為輸出。如此,可以在相同的 編碼率的要求下,達到比先前技術一更好的效能,尤其是 對錯誤率而言’有很大程度的改善。 舉例來說,畲編碼器收到一輸入字碼Β()ΒιΒ2Β3時,取 BoB!作為目前狀態,因此,共有四種可能的狀態:a⑶〇) ' b(0l)、c(10)、d(ll),而B2B3,則為一個索引,可當作選 21 丄獨006 取子集合當中某個合法輸出字碼的依據。從圖二得知此 一編碼器的前一狀態共有四種可能的狀態,目前狀態也是 共有四種可能的狀態,每一種可能的前一狀態,均可到達 四種不同的目前狀態。因此經過籬笆圖的收斂性測試後, 可以得到兩個4x4的狀態子集合的速查表,這個表如表六 與表七所示: —~平衡碼的狀態至字碼子集厶诖查表 前一狀態 a B c d a So S. S2 S3 b s4 Ss S4 S5 c s. Ss So __ d Sb s4 Ss S4 表 七
字碼子集合輔助表
在編碼的時候,假如前為a( !~- 字碼為B〇BlB2B3B4B5B6B :且收到的輸^ 10 1 000 B〇B,= -^ ^ ^ ^ c(10) J ^ ^4 =〇〇 1000,表干s ^ Λ ^取的子集合’而 取,我們可以從兩個_的字碼會心 好的合法輸出字碼,作為:出,碼中選取-個通道特性, 請參照第六圖,其所繪示為本發明的編碼器。也就是, 22 1330006 =上的實施例,皆可利用第六圖的編碼器來實現,該編碼器 =:-第-唯讀記憶It ( 601 ),帛來存放分成若複數個 子集合的合***出字碼;一第二唯讀記憶體(602 ),用 儲存一狀態到子集合的速查表;—暫存器(603 ),存放前 :狀態;以及一編碼電路(604),可根據一固定長度的輸入 ,碼和該暫存器的内容,從該第—唯讀記憶體和該第二唯讀 δ己憶體中找出一固定長度的合法輸出字碼。 亦即,當輸入字碼605輸入至編碼電路6〇4時,編碼 電604根據輸入字碼決定一目前狀態’而編碼電路6〇4 =目前狀態與前一狀態來讀取第二唯讀記憶體用的第二 =表以獲得一特定子集合。接著,以該特定子集合來讀 取第一唯讀記憶體用的第一速查表以獲得該固定長度的合 ^輸出字碼。巾目前狀態即可暫存至狀態佔存_ 603,而
Hi次的輸入字碼605輸入至編碼電路604時,該狀態 暫存益603内的資料即表示為前一狀態。 “ 發明所提供的方法,我們可以成功地解決如先前技 術中所述之問題’而達成了本案發展之主要㈣,但本案 Ϊ =由熟習此技藝之人士任施匠思而為諸般修飾,然皆 不脫如附申請專利範圍所欲保護者。 【圖式簡單說明】 第一圖(a) 第一圖(b) 弟一圑 贫一团 弟二圍 第四圖 第五圖 第六圖 全像儲存在儲存時之光學架構。 全像儲存在讀取時之光學架構。 有限狀態編碼器的示意圖。 狀態數目為4的籬笆圖(TreUis Diagfam)。 狀態數目為8的籬笆圖》 編碼器速查表的設計步驟 本發明有限狀態編碼器的示意圖。 23 1330006 【主要元件符號說明】 本案圖式中所包含之各元令 卜列示如下: 101 光源 102 反射鏡 103 遮光器 104 透鏡 105 分光鏡 106 信號光 107 參考光 108 空間光線調變器 109 反射鏡 110 反射鏡 111 透鏡 112 儲存媒介 113 透鏡 114 光偵測器 201-204 前一狀態 21 1〜214 目前狀態 301 編碼電路 302 狀態暫存器 303 輸入字碼 304 合法輸出字碼 501〜 509 步驟. 601 第一唯讀記憶體 602 第二唯讀記憶體 603 狀態暫存器 604 編碼電路 605 輸入字碼 606 合法輸出字碼
·; S 24

Claims (1)

1-330006 、申請專利範圍: 1. 一種有限狀態編碼器的速查表設計方法使用在一 限狀態編碼器’該方法包含下列步驟: 決定該有限狀態編碼器的纟法輸出字 一限制條件; 、 收集滿足該限制條件的複數個合***出字碼. ”輸出字碼的數目,決定該有限狀態編碼器 的輸入子碼的位元數目,· .由該有限狀態編碼器的輸入字瑪的位元數目以及人
=出卑碼的位元數目,決定該有限狀態編碼器的狀 態數目; ^該有限狀態編碼器的狀態數目,將滿足該限制條 件的該些合法輸出字碼依據一特” 成複數個子集合; η致于方程式 決定該些子集合内的合法輸出字碼數目;以及 =定該編碼器目前狀態、前一狀態與某二組字 :的對應關係’該對應關係形成—速查表,該速查表 =:用到的子集合數目大於有限狀態編碼器的狀態
2如於兩倍的有限狀態編碼器的狀態數目。· •如_要求_第丨項所料方法 碼皆滿足的該限制條件為··合***翰f子 個數和位元0的個數是相等的。輸出子碼的位疋1的 3.如權利要求範圍第i項所述的方法,所有的合 子碼皆滿足的限制條件為:合法輸’ 加机f m子碼的位兀1鲈 個數和位元0的個數之比例是固定,且該比例不等农 一子集合中的合法 等於一特定之自然 4·如權利要求第1項所述的方法,同 輸出字碼,其最小漢明碼距大於或 數0 25 5.如權利要求第1項所述的方法,立 碼器之狀態數目為4 » 八該有限狀態的編 "如權利要求第1項所述的方法,盆 碼器之狀態數目為8。 八中該有限狀態的編 如權利要求第1項所述的方& , ^ -V a , ^ χ ^ 丄 々壬其中該特定的數學方 私式疋由輸入字碼中的某歧位 L ^ ^ 運算所構成。 —位疋以及—些加法、乘法
前如狀求Λ1/1所料方法,其中決定該速查表目 停件;.:魅 > 態與某一組字碼子集合的對應關係¥ ϊη”圖能夠收斂的情形下,用最少的子t 〇數目,來元成速查表的設計。 -種使用在全像儲存的有限狀態編碼器包含: 隼記憶體’該唯讀記憶體存放分成複數個巧 集合的複數個合法輸出字碼;
記憶體’該唯讀記憶體儲存-狀態到該複 之一的速查表,該速查表使用的子集合數 目=於狀態數目且小於兩倍的狀態數目,且該速查表 的設計方式為:使籬琶圖能夠收敛的情形下,用最少 ^子集^目’來完成編碼表的設計; 一暫存器’存放前次編碼的狀態變數;以及 π。編碼電路’可根據—固定長度的輸人字碼和該暫存 =的内* ’從該第-唯讀記憶體和該第二唯讀記憶體 申找出一固定長度的合法輸出字碼。 1〇.如權利要求範圍第9項所述的有限狀態編碼器,該有 限狀態編碼器的合法輸出字碼的位元1的個數和位元 〇的個數是相等的。 【1.如權,要求範圍第9項所述的有限狀態編碼器該 有限狀態編碼器的合***出字碼的位元1的個數和位 兀0的個數之比例是固定,且該比例不等於1。 S 26 1330006 1 2.如權利要求第 第一唯讀記憶趙 合中的合***出 特定之自然數。 1 3.如權利要求第 有限狀態的編碼 9項所述的有限狀態編碼器, 中的複數個合法輸出字碼令 字碼’其最小漢明碼距大於 9項所述的有限狀態編碼器 器之狀態數目為4。 1 4.如權利要求第9項所述的有限狀態編碼器 有限狀態的編碼器之狀態數目為8。 儲存於該 ,同一集 或等於一 ’其中該 ’其中該
27
TW096127586A 2007-07-27 2007-07-27 Encoding method and encoder for generating balanced code or constant weighted code TWI330006B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW096127586A TWI330006B (en) 2007-07-27 2007-07-27 Encoding method and encoder for generating balanced code or constant weighted code
US12/132,756 US7567191B2 (en) 2007-07-27 2008-06-04 Encoding method and encoder for generating balanced code or constant weighted code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW096127586A TWI330006B (en) 2007-07-27 2007-07-27 Encoding method and encoder for generating balanced code or constant weighted code

Publications (2)

Publication Number Publication Date
TW200906074A TW200906074A (en) 2009-02-01
TWI330006B true TWI330006B (en) 2010-09-01

Family

ID=40294820

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096127586A TWI330006B (en) 2007-07-27 2007-07-27 Encoding method and encoder for generating balanced code or constant weighted code

Country Status (2)

Country Link
US (1) US7567191B2 (zh)
TW (1) TWI330006B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864303A (en) * 1987-02-13 1989-09-05 Board Of Trustees Of The University Of Illinois Encoder/decoder system and methodology utilizing conservative coding with block delimiters, for serial communication
US5475388A (en) * 1992-08-17 1995-12-12 Ricoh Corporation Method and apparatus for using finite state machines to perform channel modulation and error correction and entropy coding
JP3393937B2 (ja) * 1994-10-18 2003-04-07 富士写真フイルム株式会社 ランプ温度制御装置及びこれを用いたカラー感熱プリンタ
US6002718A (en) * 1995-10-27 1999-12-14 Hewlett-Packard Company Method and apparatus for generating runlength-limited coding with DC control
US6246349B1 (en) * 1998-12-11 2001-06-12 International Business Machines Corporation Method and system for compressing a state table that allows use of the state table without full uncompression
US6447146B1 (en) * 1999-09-28 2002-09-10 Rainbow Displays, Inc. Controlling temperatures in a back light of a flat-panel display
WO2003094355A2 (de) * 2002-05-02 2003-11-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und anordnung zur arithmetischen enkodierung und dekodierung von binären zuständen sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium

Also Published As

Publication number Publication date
US7567191B2 (en) 2009-07-28
US20090027244A1 (en) 2009-01-29
TW200906074A (en) 2009-02-01

Similar Documents

Publication Publication Date Title
JP4748227B2 (ja) データ変調装置とその方法
US9171383B2 (en) Apparatus and method of scalable encoding of 3D mesh, and apparatus and method of scalable decoding of 3D mesh
EP0654910B1 (fr) Procédé de décodage itératif de codes en blocs concaténés
JPS6081925A (ja) 誤り訂正装置
US6278385B1 (en) Vector quantizer and vector quantization method
CN109286404B (zh) 一种Polar码编码方法及装置
JP2021119706A (ja) ポーラ符号のレートマッチング方法及び装置
KR20070029756A (ko) 인코딩 및 디코딩 장치 및 그 방법
US9241172B2 (en) Moving image encoding and decoding device
US8957792B2 (en) Two-dimensional run-length limited codec with protection words and method for using same
ES2575693T3 (es) Un método y un aparato para detectar tasa de muestreo de audio
CN110019865B (zh) 海量图片处理方法、装置、电子设备及存储介质
EP0821493A1 (fr) Système de correction d'erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux
TWI336567B (en) A variable length decoder and decoding method therefor
CN104303504A (zh) 稳定信息和瞬时/随机信息的不同编码和解码
US9698819B1 (en) Huffman code generation
EP1692687A1 (fr) Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
KR100873824B1 (ko) 오류 제어 코드 장치 및 그 방법
TWI330006B (en) Encoding method and encoder for generating balanced code or constant weighted code
JP3275224B2 (ja) ディジタル信号処理システム
TW536872B (en) Viterbi decoding device and method for multi-input data and multi-output data
JP2008099134A (ja) データ復号装置及びプログラム
JP5646723B2 (ja) 組合せ数体系を用いて符号化および復号するための方法
JP2007272973A (ja) 復号装置、再生装置、復号方法、復号プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
TWI287918B (en) Decoding upstream V.92-encoded signals

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees