新四季網

高速可變長度碼解碼裝置的製作方法

2023-05-23 03:32:01 4

專利名稱:高速可變長度碼解碼裝置的製作方法
技術領域:
本發明涉及可變長度碼(VLC)解碼裝置,更具體地,涉及一種改進的VLC解碼裝置,它能通過在每個時鐘周期上解碼二個碼字提供高速的解碼操作。
可變長度編碼是一種常用於無損失數據壓縮的技術。該技術基於數據的統計出現率將固定長度數據轉換成可變長度碼字。碼字長度這樣地選擇,即較短的碼字用來表示更頻繁出現的數據,而較長的碼字被選擇來表示較少頻繁出現的數據。通過對所有可能的源碼字庫適當地分配可變長度碼字,使可變長度碼字的平均字長變得短於原始數據的字長,由此使其可以獲得數據壓縮。
在這方面,霍夫曼(Huffman)碼方案是一種在公知數據統計中通用的構成最小冗餘可變長度碼的方法。一般地,編碼過程可以通過使用輸入數據來對表尋址的查找表過程來實施。碼字及字長信息作為表內容被存儲,並通過使用緩衝器以恆定數據速率序貫地輸出到數據通道中。
但是,在接收編碼或壓縮數據的接收端上,解碼程度變得很複雜。由於可變的長度,每個碼字在能被解碼前必須由接收位串被分割成源符號。因此,可編長度解碼器的設計比可變長度編碼器困難得多。
具有多種公知的裝置可用於對可變長度碼字流解碼。在其中,最常用的是使用樹系搜索算法的VLC解碼器,例如是在美國專利US4,889,149(公告日1990年2月6日授於Gary Kahan)中公開的一種解碼器。在該裝置中,可變長度碼用碼字作為樹葉(也稱端節點)的樹來表示。解碼處理開始於碼樹的根部並由接收到的位流引導以跟隨在每個節點上兩個樹支中的一個。當達到一個樹葉時,碼字的端部被檢測出來並從其餘的位流中分割出來。這種類型的解碼裝置包括一個相應於樹的邏輯電路及一個在碼樹上移動的控制電路。但是這種方案可能速度慢,尤其對於長碼字,因為對於每個解碼符號需要通過碼樹逐位地搜索。
基於查找表的VLC解碼器公開在美國專利US。5,173,695(公告日1992年12月22日授於Ming-Ting Sun等人)中及US5,245,338(授於Ming-Ting Sun)中。這些解碼器包括兩個級聯鎖存電路,每個具有等於最大碼字長度的位容量,該電路存儲由一個輸入緩衝存儲器提供的連續位,以便以固定長度數據段存儲待被解碼位流;連接兩個鎖存電路的桶形移位器,用以提供其長度等於最大碼字長度的滑動解碼窗口;累加器,它累計按模計算的最大碼字長度,序貫解碼可變長度碼字的長度;查找表存儲裝置,用於輸出與包含在滑動解碼窗口輸出中的可變長度碼字相對應的固定長度字及用於輸出可變長度碼字的長度。當在每個時鐘周期期間碼字被解碼時,它的長度被累加及桶形移位器的解碼窗口被移位以從下一待解碼的碼字的第一位開始。當在時鐘周期中累計長度超過最大碼字長度時,這將表示在第二鎖存電路中的所有位均被解碼,在第一鎖存電路中的位被傳送到第二鎖存電路中並從輸入緩衝存儲器將下一固定數據位段讀入到第一鎖存電路中。
在上述的解碼器結構中,操作速度被包括查找表存儲器、桶形移位器及累加器的主要路徑中的元件的操作延時所限制。並且,它的操作速度還被其在每個時鐘周期上僅解碼一個碼字的有限能力進一步地受到阻礙。
因此,本發明的主要目的在於提供一種VLC解碼裝置,它能夠通過使用一個時鐘周期的下降和上升沿在每個時鐘周期上解碼兩個碼字,由此提高它的操作速度。
根據本發明,提供了一種VLC解碼裝置,它用於以半時鐘速率對由輸入緩衝器供給的序貫可變長度碼字進行解碼,該緩衝器以固定長度段存儲待解碼的輸入位流,固定長度段具有等於可變長度碼字的最長長度的兩倍長度,該裝置包括第一及第二鎖存電路,用於存儲輸入緩衝器中輸入位流的連續固定長度段;與第一及第二鎖存電路相連接的第一桶形移位器,它具有第一輸出窗口,用於由來自第一及第二鎖存電路的連續固定長度段中的位產生第一窗口輸出序列,第一窗口輸出序列的位長等於可變長度碼字的最長長度,及第一輸出窗口直接響應窗口控制信號經過第一及第二鎖存電路的位進行移位;與第一桶形移位器相連接的第二桶形移位器,它具有第二輸出窗口,用於由包含在第一窗口輸出序列及施加給它的在先解碼輸出序列中的位產生第二窗口輸出序列,並由第二窗口輸出序列中的第一位產生高階M位作為碼值,第二窗口輸出的位長等於可變長度碼字的最長長度,第二輸出窗口直接響應碼字長進行移位,及M是小於可變長度碼字最長長度的一個整數;中繼電路,用於使第二窗口輸出序列鎖存半個時鐘周期並產生鎖存的第二窗口輸出序列作為解碼輸出序列;與中繼電路連接的第一存儲器,用於響應一個前綴碼產生碼字長,該前綴碼由開始於解碼輸出序列第一位位置上的可變長度碼字的高階P位組成,P的最大值是一個小於可變長度碼字最長長度的整數;與第一存儲器及第二桶形移位器相連接的第二存儲器,用於響應碼字長及碼值產生固定長度字;一個累加單元,用於將該碼字長加到在先累加的碼字長上,以便產生指示被加及被累加碼字長的窗口控制信號,當累加的碼字長大於可變長度碼字最長長度的兩倍時,該累加單元產生一個讀信號以抽取存儲在輸入緩衝器中的下一個固定長度段,該下一個固定長度段被存儲到第一鎖存電路中,而預先存儲在第一鎖存電路中的固定長度段被轉移到第二鎖存電路中。
從以下結合附圖對優選實施例的說明中,將會使本發明的上述及另外的目的和優點更加闡明,附圖為

圖1是根據本發明的VLC解碼裝置的概要電路圖;圖2表示用於解釋圖1中所示VLC解碼裝置的操作的輸入位流;圖3給出了一個用於表示圖1中所示的VLC解碼裝置操作的說明圖。
參見圖1,它表示根據本發明的一個優選實施例的VLC解碼器的電路框圖。為了說明起見,假定待編碼的可變長度碼字的最大長度為8位。該VLC解碼器對以連續位流形式輸入進來的連續可變長度碼字解碼,並以固定符號時鐘在引線213上輸出與其相對應的解碼的固定長度碼字。
在數據通道51上接收到的串行數據流被輸入到一個輸入緩衝存儲器50,該存儲器以固定長度數據段的方式存儲可變長度碼字的串行數據流,並響應引線411上的READ信號在一時鐘瞬間,例如時鐘信號CLK的上升時鐘沿在引線111上序貫地輸出固定長度數據段,例如16位數據段,其中數據段的位長是可變長度碼字最大位長的兩倍,及該時鐘信號具有兩種類型的時鐘瞬間,即一個下降沿的時鐘瞬間及另一上升沿的時鐘瞬間。
鎖存電路101連接到輸入緩衝器50,並序貫地接收來自緩衝存儲器50的引線111上的固定長度數據段。鎖存電路102與鎖存101相連接並接收預先保持在鎖存電路101中的固定長度數據段。鎖存電路101及102是可控鎖存器,當一個CARRY信號出現在它們控制輸入端時,它僅在CLK的一個時鐘沿時將在其輸入端的數據鎖入,其中鎖存數據被保持在它們的輸出端上直到下一CLK的時鐘沿為止。在本發明的一個優選實施例中,輸入緩衝存儲器50及鎖存電路101和102在時鐘信號的不同類型時鐘瞬間操作。如將要描述的,當一個累加單元500在引線321上產生出CARRY信號時,鎖存電路101及102將在譬如CLK的下降時鐘沿時讀入在它們輸入端的數據。當需要提供一個新的數據段時,在引線411上激活READ信號。當在引線411上的READ信號被激活時,在CLK的上升時鐘沿時從緩衝存儲器50中抽取出下一數據段到引線111上。響應CARRY信號,在下一個CLK下降時鐘沿時,鎖存電路101鎖存引線111上的下一數據段;預先保持在鎖存電路101中的數據段被鎖存入鎖存電路102。因此鎖存電路102總是保存在時間順序上早於保持在鎖存電路101中的數據段的數據段。
鎖存電路102及101的數據段,及引線111上的輸入緩衝存儲器50的輸出被輸入到第一桶形移位器103,它具有提供給它輸入端的48位數據流。第一桶形移位器有一經過輸入至其的該48位的8位可滑動輸出窗口,其中輸出窗口的位置受到窗口控制信號的控制,該窗口控制信號表示通過引線319由累加單元500供給的累加碼字長。當在引線319上的窗口控制信號被激活時,第一桶形移位器103的8位輸出窗口直接地被移位,以使得在其中包含如窗口控制信號所指示的第一桶形移位器103中的下一8位數據段序列。當第一桶形移位器103中的數據流的前16位已被讀出到第二桶形移位器104中時導線321上的CARRY信號被激活,當該信號被激活時,響應下降沿的時鐘瞬間,在鎖存電路101中的在先數據段被鎖存到鎖存電路102中,作為再先前數據段;而在引線111上的當前數據段被鎖存到鎖存電路101中,作為在先的數據段。並且,在下一上升沿的時鐘瞬間時,下一個16位數據段被從輸入緩衝存儲器50中抽取出來並出現在第一桶形移位器103的輸入位33-48的位置上,作為當前數據段。第一桶形移位器103的輸出,即第一窗口輸出序列是三個輸入數據段的48位數據流中的8位序列,該三個輸入數據段即為由鎖存電路102及101輸出的再在先數據段及在先數據段,及由緩衝存儲器50輸出的當前數據段;並通過引線117提供給16位輸入的第二桶形移位器104。第二桶形移位器也通過引線127接收在先前時鐘瞬間產生的8位解碼輸出序列,以便產生下一輸出序列。
第二桶形移位器104具有經過輸入給它的16位的8位可滑動輸出窗口,並受到通過引線211由存儲裝置200提供的碼字長的控制,該移位器通過使用它的可滑動輸出窗口來輸出第二窗口輸出序列到引線119,該滑動窗口將滑動到由引線211上的碼字長確定的新位置上;並同時產生一個M位、例如3位的碼值經過引線121給存儲裝置200,M是一個小於可變長度碼字的最大長度的整數。在本發明的一個優選實施例中,在16位輸入數據中的3位序列被規定為碼值,其中3位序列是位於第二窗口輸出序列中左方的前3位序列。如果位於第二窗口輸出序列中自第一位起的左方的位數小於3位,則第二桶形移位器104通過增添(n個)1作為3位序列的高次位來產生3位碼值。來自第二桶形移位器104的第二窗口輸出序列被提供給由兩個鎖存電路106和107及一個多路器(MUX)108組成的中繼電路。該中繼電路105將第二窗口輸出序列鎖存半個時鐘持續時間並經導線127將鎖存的第二窗口輸出序列提供給存儲裝置200,作為解碼輸出序列。尤其是,在時鐘瞬間上由第二桶形移位器104產生的引線119上的第二窗口輸出序列在下一時鐘瞬間被鎖存在中繼電路105中的鎖存電路106或107中。鎖存電路106及107分別在時鐘信號的不同時鐘瞬間類型時,例如CLK的下降及上升時鐘瞬間鎖入在它們輸入端的數據。中繼電路105中的MUX108交替地響應下降時鐘瞬間從鎖存電路106及響應上升時鐘瞬間從鎖存電路107經過引線127將第二窗口輸出序列作為解碼輸出序列提供給存儲裝置200。
與中繼電路105相連接的存儲裝置200用於產生固定長度字及與開始於解碼輸出序列第一位位置的可變長度碼字相對應的碼字長。在本發明的一個優選實施例中,存儲裝置200包括第一及第二查找表201及202,其中每個可以由可編程序的邏輯陣列(PLA)來實施。第一查找表201用於前綴碼解碼以產生碼長,而第二查找表202用於後綴碼解碼以產生解碼字。第一查找表201包括前綴碼錶及解碼字長表。用於每個可變長度碼字的前綴碼作為一登記項表示在前綴碼錶中,其中每個前綴碼由每個碼字的高階p位組成,該高階P位能指示每個碼字的長度及P的最大值是一個小於可變長度碼字最大長度即8的整數。前綴碼錶中的每個表登記項具有8位長度並開始於可變位長即從1至P(例如5)位的實際前綴碼。由於在碼庫中的具有最大5位長度的前綴碼小於8位,在實際前綴碼後面的表項中位的位置被稱為「不計較」位置。當來自中繼電路中的MUX108的序列與存儲在前綴碼錶中的位模式之一匹配時就檢測出碼字長。於是,例如,如果前綴碼錶中的前綴碼的一個位模式是「11」,其8位表項將為「11XXXXXX」,其中每個「X」表示「不計較」。如果來自MUX108的8位序列具有模式「11011010」,則根據前二位產生匹配。當在引線127上的解碼輸出序列與前綴碼錶中的一個登記項相匹配時,解碼字長表中相對應的項就被激活。該解碼字長表在引線211上輸出與前綴碼錶中可變長度碼字的匹配前綴碼相對應的碼字長。經由引線211提供給第二桶形移位器104的該碼字長在下一時鐘沿時被用來控制第二桶形移位器104的可滑動輸出窗口的移位,並且它也被輸入到第二查找表202。第二查找表202包括一個後綴碼錶,一個碼字長表及解碼字表,並接收引線121上來自第二桶形移位器104的碼值。用於每個可變長度碼字的碼字長作為登記項表示在碼字長表中;及用於每個可變長度碼字的後綴碼作為登記項表示在後綴碼錶中,其中每個後綴碼由每個碼字的低價Q位組成,Q的值等於從可變長度碼字的最大長度中減去P的值。後綴碼錶中的每個表項具有3位長,並結束於可變位長即1至Q位的實際後綴碼。在實際後綴碼具有的長度小於3位的情況下,在實際後綴碼前面的表項中位的位置被稱為「不計較」位置。在本發明的該優選實施例中,可變長度碼字由P位前綴碼及Q位後綴碼組成。當導線211上的碼字長及引線121上的碼值與存儲在各個碼字長表及後綴碼錶中的一個位模式相匹配時就檢測出固定長度字。例如,如果在後綴碼錶中後綴碼的一個位模式是「01」,它的3位表項將是「X01」,其中「X」代表「不計較」。如果在引線121上的碼值具有模式「101」,則在後面兩位上產生匹配。如上所述,當在引線211的碼字長及引線121上的碼值分別與碼字長表及後綴碼錶中的登記項匹配時,解碼字表中的相應項被激活。解碼字表在引線213上輸出與各個後綴碼錶及碼字長表中匹配的後綴碼及碼字長相對應的固定長度字。
在此時刻,在引線211上的碼字長被提供給累加單元500,它用於累加已解碼的碼字長及產生窗口控制信號到引線319上,該窗口控制信號代表累加的碼字長並用於控制第一桶形移位器103。累加單元500包括一個加法單元300及一個鎖存單元400,其中加法單元300包括兩個鎖存電路301及302,兩個加法器303及304,一個多路器305,鎖存單元400包括一個累加鎖存器401及一個鎖存電路402。在本發明的優選實施例中,鎖存電路301及302彼此在不同類型的時鐘瞬間操作;累加鎖存器401在與鎖存電路301相同類型的時鐘瞬間操作;及鎖存電路402在與鎖存電路302相同類型的時鐘瞬間進行操作。因此,在加法器303上,譬如在下降時鐘瞬間時,在引線311上的被鎖入在鎖存在電路301中的碼字長被加到來自累加鎖存器401的導線413上的在先累加的模16字長上,並且被加後的5位碼字長經引線315被提供給MUX305;而在每個上升時鐘瞬間時,在加法器304上,在引線302上的被鎖存在鎖存電路302中的碼字長被加到在引線415上被鎖存在鎖存電路402中的在先累計碼字長上,並且被加後的5位碼字長經引線317被提供給MUX305。接著,在MUX305上,被加後的5位碼字長作為窗口控制信號在引線319上輸出。在引線319上的5位窗口控制信號在每個下降時鐘瞬間上被鎖入累加鎖存器401,而在每個上升時鐘瞬間時被鎖入到鎖存電路402中。接收到累加碼字長的累加鎖存器401在每個下降時鐘沿時將接收數據的最高有效位(MSB)提供到引線411上作為READ信號,並將另外的4位數據經引線413提供給加法器303作為在先累加的模16字長。指示新累加碼字長的窗口控制信號也提供給第一桶形移位器103以控制它的可滑動輸出窗口的位置。5位窗口控制信號的最高有效位(MSB)在每個上升及下降時鐘瞬間時通過引線321作為CARRY信號提供給鎖存電路101及102。當累加碼字長大於或等於「16」時,窗口控制信號的MSB是「1」且CARRY信號出現在引線321上。在下一下降時鐘瞬間,該MSB位「1」作為READ信號出現在累加鎖存器401的輸出端的引線411上。緩衝器50響應該READ信號抽取下一數據段並將它輸出到引線111上。為響應CARRY信號,引線111上的數據段被輸入到鎖存電路101中,且鎖存電路101的內容被轉移到鎖存電路102中。
參照在圖2及3中以圖表形式所示的例子將會更容易理解圖1中解碼器的操作。假設,如圖1所示從數據通道51輸入到輸入緩衝存儲器50的數據流由位流「AaBbbCcc cDDdddEE EeeeFFFF fffGGGGG ggg HHHHH hhhIIiii……」組成,如圖2中所示,其中「Aa」表示第一可變長度碼字中的兩位,「A」及「a」是第一可變長度碼字的各個前綴碼及後綴碼;「Bbb」表示第二可變長度碼字中的三個位,「B」及「b」是第二可變長度碼字的各個前綴碼及後綴碼,等等。
參見圖3,在第一下降沿時鐘瞬間以前,16位鎖存電路101及102被初始化成二進位數「11111111 11111111」,中繼電路105的輸出被初始化成「11111111」,及累加單元500被初始化成CARRY信號及READ信號均為1。具體地,在第一時鐘瞬間前二次的時鐘瞬間下降沿,在引線211上的第一查找表201的初始化輸出是「8」,因此第二桶形移位器104具有初始移位值「8」。累加鎖存器401被初始化為二進位數「11000」,因此READ信號是「1」及累加模16字長是8。因為鎖存電路402也被初始化為「11000」,累加碼字長為「16」。因為被鎖存在鎖存電路301中,碼字長是初始化值「8」及累加的模16字長是「8」,指示引線319上新累加碼字長的窗口控制信號是「16」,。在第一時鐘瞬間前的上升沿時鐘瞬間,第一查找表201在引線211上的輸出、累加鎖存器401、鎖存電路301及402的輸出保持它們的初始值,而窗口控制信號通過將鎖存電路302中鎖存的碼字長「8」與來自鎖存電路402的在先累加碼字長「16」相加變成「24」。當READ信號為「1」時,由「AaBbbCcc cDDdddEE」16位組成的第一數據段被從輸入緩衝存儲50中抽取到引線111上。在此時,鎖存電路101及102輸出、桶形移位器103及104的輸出為圖3中所示的初始化值「11111111 11111111」及「11111111」,及第二查找表202的輸出為圖3中所示噪音值「X」。
在第一下降沿的時鐘瞬間,由於在先CARRY信號為「1」,在引線111上的數據段「AaBbbCcc cDDdddEE」被鎖入到鎖存電路101中。窗口控制信號通過將鎖存電路301中鎖存的碼字長「8」與來自累加鎖存器401的在先累加模16字長「8」相加變成「16」。由於在引線319上的窗口控制信號為「16」,CARRY信號保持為「1」,第1桶形移位器103將輸入來的48位數據段中的第17-24位的序列,即「AaBbbCcc」經由引線117輸出到第二桶形移位器104,該輸入的48位數據段即「11111111 11111111 AaBbbCcc cDDdddEE AaBbbCcc cDDdddEE」。來自中繼電路105的輸出序列具有其初始化值及第一查找表201的碼字長輸出保持為初始化值「8」,因此第二桶形移位器104通過引線119將它的兩個輸入數據段,即「11111111 AaBbbCcc」中的第9-16位的序列即「AaBbbCcc」輸出到中繼電路105,並同時產生「11111111 AaBbbCcc」中的第6-8位,即「111」並經由引線121提供給第二查找表202,作為碼值。鎖存電路102保持其初始化值,及第二查找表202的解碼字保持噪音值。
在第二上升沿的時鐘瞬間,READ信號保持為「1」,其中下一數據段「EeeeFFFF fffGGGGG」從輸入緩衝存儲器50輸出到引線111上。窗口控制信號通過將鎖存在鎖存電路302中的碼字長「8」與鎖存在鎖存電路402中的在先累加碼字長「16」相加變為「24」。由於在引線319上的窗口控制信號是「24」,CARRY信號保持「1」及第一筒形移位器103將輸入來的數據段「11111111 11111111 AaBbbCcc cDDdddEE EeeeFFFF fffGGGGG」中的序列「cDDdddEE」輸出到第二桶形移位器104。在第一下降時鐘瞬間預先保持在中繼電路105中的序列「AaBbbCcc」經由引線127作為解碼輸出序列被提供到第一查找表201,並提供到第二桶形移位器104。第一查找表201識別出第一位,即在解碼輸出序列「AaBbbCcc」中的「A」,並將與其中識別出的前綴碼項相對應的解碼碼字長,例如2輸出到引線211上。在引線211上的解碼碼字長「2」然後被耦合到第二查找表202及第二桶形移位器104,後者將輸入數據段「AaBbbCcccDDdddEE」中的第3-10位、即「BbbCcccD」經由引線119輸出給中繼電路105,將3位序列「1Aa」作為碼值經過引線121轉移給第二查找表202。第二查找表202識別出解碼碼字長「2」及碼值「1Aa」,並將與在其中的識別出的碼字長及後綴碼登記項相對應的固定長度解碼字。例如「A」輸出到引線213上。
在第三下降沿的時鐘瞬間,由於在先CARRY信號為「1」,在引線111上的數據段「EeeeFFFF fffGGGGG」被鎖存到鎖存電路101中;及在先保持在鎖存電路101中的數據段「AaBbbCcc cDDdddEE」被鎖存到鎖存電路102中。窗口控制信號通過將在先的解碼碼字長「2」與在先的累加模16字長「8」相加變成「10」。因為在引線319上的窗口控制為「10」,則CARRY信號變為「0」,及第一桶形移位器103將數據段「AaBbbCcc cDDdddEE EeeeFFFF fffGGGGG EeeeFFFF fffGGGGG」中的序列「DdddEEEe」輸出給第二桶形移位器104。預先在第二上升時鐘瞬間保持在中繼電路105中的輸出序列「BbbCcccD」被提供給第一查找表201及第二桶形移位器104。第一查找表201識別出第一位、即解碼輸出序列「BbbCcccD」中的「B」,並將與在該表中識別出的前碼項對應的解碼碼字長、例如3輸出到引線211。然後,在引線211上的解碼碼字長被耦合到第二查找表202及第二桶形移位器104,後者將「BbbCcccD DdddEEEe」中的序列「CcccDDdd」輸出並將3位序列「Bbb」作為碼值輸送到第二查找表202。第二查找表202識別出解碼碼字長「3」及碼值「Bbb」,並將與在該表中的識別出的碼字長及後綴碼項對應的固定長度解碼字、例如「B」輸出到引線213。
在第四上升沿的時鐘瞬間,READ信號保持為「1」,其中下一數據段「gggHHHHH hhhIIiii」從輸入緩衝存儲器50被輸出到引線111上。窗口控制信號通過將在先解碼碼字長「3」加到在先累加碼字長「10」上而變成「13」。由於在引線319上的窗口控制信號為「13」,則CARRY信號保持為「0」,及第一桶形移位器103將「AaBbbCcc cDDdddEE EeeeFFFFfffGGGGG gggHHHHH hhhIIiii」中的序列「dEEEeeeF」輸出到第二桶形移位器104中。在第三下降時鐘瞬間預先保持在中繼電路105中的輸出程序「CcccDDdd」被耦合到第一查找表201及第二桶形移位器104。第一查找表201識別出第一位,即解碼輸出序列「CcccDDdd」中的「C」,並將與在其中的識別出的前綴碼項相對應的解碼碼字長,例如「4」輸出到引線211上。然後,在引線211上的解碼碼字長「4」被耦合到第二查找表202及第二桶形移位器104,後者將「CcccDDdd dEEEeeeF」中的8位序列「DDdddEEE」輸出到中繼電路105並將3位序列「ccc」作為碼值轉移到第二查找表202。第二查找表202識別出解碼碼字長「4」及碼值「ccc」,並將與其中的識別出的碼字長及後綴碼項相對應的固定長度解碼字。例如「C」輸出到引線213上。
在第五下降沿時鐘瞬間,由於在先的CARRY信號是「0」,READ信號變成「0」,及輸入到第一桶形移位器103中的三個數據段保持不變。窗口控制信號通過將在先解碼碼字長「4」加到在先累加模16字長「13」上變成「17」。因為在引線319上的窗口控制信號是「17」,則CARRY信號變成「1」,及第一桶形移位器103將「AaBbbCcc cDDdddEE EeeeFFFF fffGGGGG gggHHHHH hhhIIiii」中的序列「eeeFFFFf」輸出到第二桶形移位器104中。預先在第四上升時鐘瞬間保持在中繼電路105中的輸出序列「DDdddEEE」被供給到第一查找表201及第二桶形移位器104中。第一查找表201識別出開頭二位,即解碼輸出序列「DDdddEEE」中的「DD」,並將與其中的識別出的前綴碼項對應的解碼碼字長、例如「5」輸出到引線211上。然後,在引線211上的解碼碼字長「5」,被耦合到第二查找表202及第二桶形移位器104上,後者將「DDdddEEE eeeFFFFF」中的序列「EEEeeeFF」輸出到中繼電路105並將3位序列「ddd」作為碼值轉移到第二查找表202。第二查找表202識別出解碼碼字長「5」及碼值「ddd」,並將與其中的識別出的碼字長及後綴碼項相對應的固定長度解碼字、例如「D」輸出到引線213上。
在第六上升沿的時鐘瞬間,READ信號保持為「0」,其中輸入到第一桶形移位器103中的三個數據段保持不變。窗口控制信號通過將在先解碼的碼字長「5」加到在先累加的碼字長「17」上變成「22」。由於在引線319上的窗口控制信號為「22」,則CARRY信號保持為「1」,及第一桶形移位器103將「AaBbbCcc cDDdddEE EeeeFFFF fffGGGGG gggHHHHH hhhIIiii」中的「FFfffGGG」輸出到第二桶形移位器104。在第五下降時鐘瞬間預先保持在中繼電路105中的輸出序列「EEEeeeFF」被提供到第一查找表201及第二桶形移位器104。第一查找表201識別出前三位,即解碼輸出序列「EEEeeeFF」中的「EEE」,並將與其中的識別出的前綴碼項相對應的解碼碼字長、例如「6」輸出到引線211上。然後,在引線211上的解碼碼字長「6」被耦合到第二查找表202及第二桶形移位器104,後者將「EEEeeeFF FFfffGGG」中的8位序列「FFFFfffG」輸出到中繼電路105,並將3位序列「eee」作為碼值轉移到第二查找表202,第二查找表202識別出解碼碼字長「6」及碼值「eee」,並將與其中的識別出的碼字長及後綴碼項相對應的固定長度解碼字、例如「E」輸出到引線213上。
在第七下降沿時鐘瞬間,由於在先的CARRY信號是「1」在引線111上的數據段「gggHHHHH hhhIIiii」被鎖存到鎖存電路101中;及在先保持在鎖存電路101中的數據段「EeeeFFFF fffGGGGG」被鎖存到鎖存電路102中。窗口控制信號通過將在先解碼碼字長「6」加到在先累加模16字長「6」上變成「12」。因為在引線319上的窗口控制信號是「12」,則CARRY信號變成「0」,及第一桶形移位器103將「EeeeFFFF fffGGGGG gggHHHHH hhhIIiii gggHHHHH hhhIIiii」中的序列「GGGGgggH」輸出到第二桶形移位器104。預先在第六上升時鐘瞬間保持在中繼電路105中的輸出序列「FFFFfffG」被提供給第一查找表201及第二桶形移位器104中。第一查找表201識別出前四位,即解碼輸出序列「FFFFfffG」中的「FFFF」,並將與其中的識別出的前綴碼項對應的解碼碼字長、例如「7」輸出到引線211上。然後,在引線211上的解碼碼字長「7」被耦合到第二查找表202及第二桶形移位器104上,後者將「FFFFfffGGGGGgggH」中的序列「GGGGGggg」輸出到中繼電路105,並將3位序列「fff」作為碼值轉移到第二查找表202。第二查找表202識別解碼碼字長「7」及碼值「fff」,並將與其中的識別出的碼字長及後綴碼項相對應的固定長度解碼字、例如「F」輸出到引線213上。
如從上述可以看到的,應該容易理解,本發明的VLC解碼裝置在時鐘信號的每個時鐘瞬間進行解碼操作,由此有利地實現了高速解碼操作。
雖然本發明是針對具體的實施例作出描述的,但顯然地,對於那些熟悉該技術領域的技術人員來說,在不偏離由以下權利要求書中所限定的本發明範圍的情況下可以作出各種變化及改型。
權利要求
1.一種可變長度碼解碼裝置,用於以半時鐘速率對由輸入緩衝器供給的序貫可變長度碼字進行解碼,該緩衝器以固定長度段存儲待解碼的輸入位流,該固定長度段具有等於可變長度碼字的最長長度的兩倍長度,所述裝置包括第一及第二位存儲裝置,用於存儲輸入緩衝器中輸入位流的連續固定長度段;與第一及第二位存儲裝置相連接的第一移位裝置,它具有第一輸出窗口,用於自來自第一及第二位存儲裝置的連讀固定長度段中的位產生第一窗口輸出序列,第一窗口輸出序列的位長等於可變長度碼字的最長長度,及第一輸出窗口直接響應窗口控制信號經過第一及第二位存儲裝置的位被移位;與第一移位裝置相連接的第二移位裝置,它具有第二輸出窗口,用於自包含在第一窗口輸出序列及施加給它的在先解碼輸出序列中的位產生第二窗口輸出序列,並由第二窗口輸出序列中的第一位產生高階M位作為碼值,第二窗口輸出序列的位長等於可變長度碼字的最長長度,所述第二輸出窗口直接響應碼字長被移位,及M是小於可變長度碼字最長長度的一個整數;中繼裝置,用於使第二窗口輸出序列鎖存半個時鐘周期並產生鎖存的第二窗口輸出序列作為解碼輸出序列;與中繼裝置相連接的第一存儲裝置,用於響應一個前綴碼產生碼字長,該前綴碼由開始於解碼輸出序列第一位置上的可變長度碼字的高階P位組成,P的最大值是一個小於可變長度碼字最長長度的整數;與第一存儲裝置及第二移位裝置相連接的第二存儲裝置,用於響應碼字長及碼值產生固定長度字;及累加裝置,用於將該碼字長加到在先累加的碼字長上以便產生指示被加及被累加碼字長的窗口控制信號,當累加的碼字長大於可變長度碼字最長長度的兩倍時,所述累加裝置產生一個讀信號以抽取存儲在輸入緩衝器中的下一固定長度段,該下一個固定長度段被存儲到第一位存儲裝置中,而預先存儲在第一位存儲器中的固定長度段被轉移到第二位存儲裝置。
全文摘要
可變長度碼編碼裝置,用於解碼序貫可變長度碼字,包括第一桶形移位器,響應窗口控制信號產生第一窗口輸出序列;第二桶形移位器,響應解碼碼字長產生第二窗口輸出序列及碼值;中繼電路,用於使第二窗口輸出序列鎖存半個時鐘周期並產生鎖存第二窗口輸出序列作為解碼序列;第一查找表存儲器,響應開始於解碼輸出序列第一位位置上的可變長度碼字的前綴碼產生解碼碼字長;第二查找表存儲器,響應解碼碼字長及碼值產生固定長度字;及累加單元,產生窗口控制信號。
文檔編號H03M7/40GK1137707SQ9610275
公開日1996年12月11日 申請日期1996年3月18日 優先權日1995年3月16日
發明者孫永碩 申請人:大宇電子株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀