專利名稱:可變長(zhǎng)度譯碼裝置用的同步復(fù)原方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可變長(zhǎng)度譯碼,特別是涉及既使在可變長(zhǎng)度編碼過的數(shù)字?jǐn)?shù)據(jù)中發(fā)生傳輸差錯(cuò)的情況下也能保持用可變長(zhǎng)度譯碼器進(jìn)行信號(hào)處理的同步的同步復(fù)原方法及其裝置。
可變長(zhǎng)度編碼方式是有代表性的無丟失編碼方法,關(guān)于圖像信號(hào)的編碼,這種編碼方式是與采用DCT或DPCM的編碼相結(jié)合而被拓寬使用。這種可變長(zhǎng)度編碼方法是對(duì)發(fā)生頻度多的符號(hào)分配短碼字,對(duì)發(fā)生頻度少的符號(hào)分配更長(zhǎng)的碼字,從而減少整體數(shù)據(jù)傳輸率。這種方法一般被用于當(dāng)前ISO/CCITT推進(jìn)標(biāo)準(zhǔn)化過程中的MPEG方式和美國(guó)開發(fā)的HDTV方式等的圖像編碼方法。下面的論文中就披露了一般的可變長(zhǎng)度編碼及譯碼方法1.Shaw-Min Lei和Ming-Ting Sun的″數(shù)字HDTV應(yīng)用的平均信息量編碼系統(tǒng)″IEEE Trans.on circuits&systems for VidioTechnology,Vol.No.1,March 1991。
2.Ming-Ting Sun,″電路和系統(tǒng)的VLSI結(jié)構(gòu)和實(shí)施″Singapore,pp200-203,May,1991。
通常,圖像信號(hào)的可變長(zhǎng)度譯碼器產(chǎn)生對(duì)應(yīng)于由鋸齒掃描所產(chǎn)生的掃描電平對(duì)的VLC碼字,眾所周知,掃描電平對(duì)由連續(xù)的″0″的個(gè)數(shù)即掃描長(zhǎng)度和非″0″電平構(gòu)成。由可變長(zhǎng)度編碼器所產(chǎn)生的VLC碼字與各種題頭及其他附加信息和復(fù)合而形成連續(xù)的比特串,由譯碼方收到的連續(xù)的比特串被分成為一定的大小(如24比特),然后寫入FIFO存儲(chǔ)器??勺冮L(zhǎng)度譯碼器從FIFO存儲(chǔ)器中讀取一定比特?cái)?shù)的數(shù)據(jù),進(jìn)行可變長(zhǎng)度譯碼,再根據(jù)結(jié)束了可變長(zhǎng)度譯碼的比特?cái)?shù)決定是否讀取下一個(gè)一定比特?cái)?shù)的數(shù)據(jù)。
更詳細(xì)說,可變長(zhǎng)度譯碼器按順序檢測(cè)對(duì)應(yīng)于所讀出的比特中的VLC碼字的掃描長(zhǎng)度對(duì),對(duì)所檢出的掃描長(zhǎng)度對(duì),首先輸出掃描長(zhǎng)度大小的″0″,然后輸出電平。而且,如果經(jīng)可變長(zhǎng)度譯碼的比特?cái)?shù)達(dá)到一定的比特?cái)?shù),可變長(zhǎng)度譯碼器就從FIFO存儲(chǔ)器中讀取一定比特?cái)?shù)的新數(shù)據(jù),這時(shí),由于比特串包含有可變長(zhǎng)度的VLC碼字,所以,每個(gè)瞬間被可變長(zhǎng)度譯碼的比特?cái)?shù)同樣也是可變的,換句話說,由于可變長(zhǎng)度譯碼時(shí)不知通VLC符號(hào)后期間的邊界,所以,直到以前的VLC碼字被譯碼之后才能準(zhǔn)確地知道當(dāng)前要譯碼的VLC碼字的長(zhǎng)度。因此,只有在把當(dāng)前的VLC碼字準(zhǔn)確譯碼的情況下,可變長(zhǎng)度譯碼器才能根據(jù)其下一個(gè)VLC碼字譯碼后的當(dāng)前的LVC碼字的比特?cái)?shù)準(zhǔn)確地譯碼,所以,在比特串中發(fā)生傳輸差錯(cuò)的情況下,由于可變長(zhǎng)度譯碼器對(duì)產(chǎn)生差錯(cuò)的部分用有錯(cuò)的VLC碼字進(jìn)行譯碼動(dòng)作,所以,此后繼續(xù)進(jìn)行錯(cuò)誤的譯碼動(dòng)作。這種誤動(dòng)作在從FIFO存儲(chǔ)器中讀出數(shù)據(jù)的動(dòng)作中引起異常,這樣,可變長(zhǎng)度譯碼器就不能使輸入數(shù)據(jù)的譯碼同步。
本發(fā)明的目的是為解決前述的現(xiàn)有技術(shù)的缺點(diǎn),而提供一種先檢出傳輸差錯(cuò),再根據(jù)檢出的結(jié)果在規(guī)定的期間之后能進(jìn)行正常的可變長(zhǎng)度譯碼的同步復(fù)原方法。
本發(fā)明的其他目的是提供一種根據(jù)傳輸差錯(cuò)的檢測(cè)在規(guī)定期間之后能進(jìn)行正常的可變長(zhǎng)度譯碼的同步復(fù)原裝置。
為達(dá)到上述本發(fā)明的目的,對(duì)根據(jù)表示已經(jīng)設(shè)定了大小的第1數(shù)據(jù)塊終端的數(shù)據(jù)塊終端信號(hào)和包含比前述第1數(shù)據(jù)塊大的第2數(shù)據(jù)塊的數(shù)據(jù)格式存儲(chǔ)可變長(zhǎng)度編碼過的數(shù)據(jù)、再在加上讀出信號(hào)時(shí)從先前存儲(chǔ)的比特中按順序輸出一定比特?cái)?shù)的數(shù)據(jù)的FIFO存儲(chǔ)器提供的數(shù)據(jù)進(jìn)行譯碼的裝置用的同步復(fù)原方法包括如下步驟(a)把所加的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼,輸出由可變長(zhǎng)度譯碼所得到的數(shù)據(jù)塊終端信號(hào),然后在可變長(zhǎng)度譯碼中所使用的數(shù)據(jù)的比特?cái)?shù)達(dá)到一定比特?cái)?shù)時(shí)產(chǎn)生數(shù)據(jù)請(qǐng)求信號(hào)。(b)判斷前述步驟(a)所輸出的數(shù)據(jù)塊終端信號(hào)是否在基于數(shù)據(jù)格式所進(jìn)行的正確的可變長(zhǎng)度譯碼時(shí)間進(jìn)行過譯碼。(c)由前述步驟(b)的判斷結(jié)果所得到的正確的可變長(zhǎng)度譯碼的時(shí)間未被譯碼的數(shù)據(jù)塊終端信號(hào)的個(gè)數(shù)超過已經(jīng)設(shè)定的閾值時(shí),產(chǎn)生差錯(cuò)信號(hào)。(d)如果在步驟(c)不產(chǎn)生差錯(cuò)信號(hào),產(chǎn)生取決于由步驟(a)所產(chǎn)生的數(shù)據(jù)請(qǐng)求信號(hào)的讀出信號(hào)。(e)如果在步驟(c)產(chǎn)生差錯(cuò)信號(hào),不管前述數(shù)據(jù)請(qǐng)求信號(hào),在從前述FIFO存儲(chǔ)器中讀出被檢出差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的全部數(shù)據(jù)之前,產(chǎn)生讀出信號(hào)。(f)控制步驟(a),使之對(duì)相應(yīng)于前述步驟(c)的差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的數(shù)據(jù)不進(jìn)行可變長(zhǎng)度譯碼,而對(duì)被檢出差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的下一個(gè)第2數(shù)據(jù)塊的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼。
為了達(dá)到本發(fā)明的其他目的,根據(jù)表示已設(shè)定了大小的第1數(shù)據(jù)塊終端的數(shù)據(jù)塊終端信號(hào)和包含比前述第1數(shù)據(jù)塊大的第2數(shù)據(jù)塊的數(shù)據(jù)格式,接收經(jīng)可變長(zhǎng)度編碼的數(shù)據(jù)再進(jìn)行可變長(zhǎng)度譯碼的同步復(fù)原裝置包括存儲(chǔ)所收到的經(jīng)可變長(zhǎng)度編碼的數(shù)據(jù),再在加上讀出信號(hào)時(shí)從先前存儲(chǔ)的比特中按順序輸出一定比特?cái)?shù)的數(shù)據(jù)的FIFO存儲(chǔ)器;把所加的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼并輸出由可變長(zhǎng)度譯碼得到的數(shù)據(jù)塊終端信號(hào),然后在可變長(zhǎng)度譯碼中所使用的數(shù)據(jù)的比特?cái)?shù)達(dá)到一定比特?cái)?shù)時(shí),產(chǎn)生數(shù)據(jù)請(qǐng)求信號(hào)的可變長(zhǎng)度譯碼器;判斷由前述可變長(zhǎng)度譯碼器所加的數(shù)據(jù)塊終端信號(hào)是否在取決于數(shù)據(jù)格式的正確的可變長(zhǎng)度譯碼時(shí)間進(jìn)行過譯碼,在由判斷結(jié)果得到的在正確的可變長(zhǎng)度譯碼的時(shí)間不進(jìn)行譯碼的數(shù)據(jù)塊終端信號(hào)的個(gè)數(shù)超過已設(shè)定的閾值的情況下,產(chǎn)生差錯(cuò)信號(hào)的檢錯(cuò)器;根據(jù)讀出信號(hào)把前述FIFO存儲(chǔ)器所施加的數(shù)據(jù)傳送到前述可變長(zhǎng)度譯碼器,如果前述檢錯(cuò)器沒送來差錯(cuò)信號(hào),根據(jù)來自可變長(zhǎng)度譯碼器的數(shù)據(jù)請(qǐng)求信號(hào)產(chǎn)生讀出信號(hào),若前述檢錯(cuò)器送來差錯(cuò)信號(hào)的話,不管來自前述可變長(zhǎng)度譯碼器的數(shù)據(jù)請(qǐng)求信號(hào),而在從前述FIFO存儲(chǔ)器中讀出被檢出差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的全部數(shù)據(jù)之前產(chǎn)生讀出信號(hào)的接口部分;若前述檢錯(cuò)器送來差錯(cuò)信號(hào)的話,控制前述可變長(zhǎng)度譯碼器使之中斷譯碼操作,而把檢出有前述差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的數(shù)據(jù)加到前述可變長(zhǎng)度譯碼器時(shí),使前述可變長(zhǎng)度譯碼器進(jìn)行譯碼操作的控制部分。
附圖簡(jiǎn)要說明
圖1是普通的數(shù)字系統(tǒng)的編碼、譯碼裝置的概略方框圖。
圖2是普通的數(shù)字?jǐn)?shù)據(jù)各窗口的數(shù)據(jù)處理格式的說明圖。
圖3是按照本發(fā)明的同步復(fù)原裝置的概略方框圖。
圖4A-F是為說明按照本發(fā)明的同步復(fù)原裝置的數(shù)字?jǐn)?shù)據(jù)傳輸時(shí)產(chǎn)生差錯(cuò)的情況下的動(dòng)作的時(shí)序圖。
圖5是圖3的可變長(zhǎng)度譯碼的VLD接口部分的詳細(xì)電路圖。
以下根據(jù)附圖詳細(xì)說明本發(fā)明的優(yōu)選實(shí)施例。
作為普通的圖象編碼技術(shù),有信源編碼和平均信息量編碼,信源編碼是用圖像信號(hào)中內(nèi)在的沉長(zhǎng)性對(duì)圖像信號(hào)進(jìn)行數(shù)字壓縮,而采用DCT、副頻帶DPCM、量化等。平均信息量編碼是一種把由信源編碼壓縮了的數(shù)據(jù)用統(tǒng)計(jì)產(chǎn)生概率進(jìn)一步進(jìn)行壓縮的方法,可變長(zhǎng)度編碼就是這種無丟失編碼的有代表性的方法。數(shù)字ATV系統(tǒng)就采用這兩種編碼方法,它根據(jù)數(shù)據(jù)處理的脹大程度把畫面分成為多個(gè)窗口來進(jìn)行處理。圖1-圖2表示了其中之一例。
圖1是具有普通的數(shù)字?jǐn)?shù)據(jù)編碼部分及譯碼部分的數(shù)字系統(tǒng)的方框圖。圖1中,數(shù)字圖像輸入信號(hào)被輸入到由編碼部分1的分隔器10分開的各信源編碼器20A-20D中,各信源編碼器20A-20D的輸出信號(hào)經(jīng)各可變長(zhǎng)度編碼器30A-30D輸入到多路轉(zhuǎn)換器40。多路轉(zhuǎn)換器40把經(jīng)編碼的各窗口的數(shù)據(jù)復(fù)合成一個(gè)比特串,然后送到譯碼部分2。由于各窗口所產(chǎn)生的比特量互不相同,所以,多路轉(zhuǎn)換器40先把區(qū)分各窗口數(shù)據(jù)的附加數(shù)據(jù)輸入到比特串中,然后送到譯碼部分2。這樣傳送來的比特串再用譯碼部分2的信號(hào)分離器50分離成為四個(gè)窗口,然后輸入到各可變長(zhǎng)度譯碼器60A-60D。各可變長(zhǎng)度譯碼器60A-60D所譯碼過的信號(hào)由信源譯碼器70A-70D再次譯碼后,由多路轉(zhuǎn)換器80復(fù)合,然后作為譯碼后的圖像輸出。
圖2表示把一個(gè)畫面分割成為四個(gè)窗口的情況,一個(gè)窗口由15個(gè)MMB構(gòu)成,一個(gè)MMB由4個(gè)數(shù)據(jù)片組成,一個(gè)數(shù)據(jù)片由多個(gè)數(shù)據(jù)塊構(gòu)成。
在圖1的系統(tǒng)使用圖2所示的數(shù)據(jù)結(jié)構(gòu)的情況下,編碼部分1按照MMB1,MMB2,MMB3,MMB4,MMB5,…MMB60的順序多路傳送屬于四個(gè)窗口的數(shù)據(jù),譯碼部分2再把這個(gè)順序的MMB逆轉(zhuǎn)換。第1窗口內(nèi)的MMB由信源編碼器20A、可變長(zhǎng)度編碼器30A、可變長(zhǎng)度譯碼器60A和信源譯碼器70A來處理,第2窗口的MMB即MMB2,MMB6,…MMB58由信源編碼器20B、可變長(zhǎng)度譯器30B、可變長(zhǎng)度譯碼器60B和信源譯碼器70B來處理,其余窗口的MMB以同樣的方式來處理。
另一方面,因?yàn)楦鞔翱诘母髯詳?shù)據(jù)產(chǎn)生量是不一定的,所以為了使各MMB的數(shù)據(jù)量成為一次寫入到FIFO存儲(chǔ)器的比特?cái)?shù)(例如24比特)的倍數(shù),就要在該MMB的終端部分進(jìn)行補(bǔ)位,而且,為了減少數(shù)據(jù)產(chǎn)生量而防止達(dá)到下溢,也要對(duì)一定的數(shù)據(jù)追加補(bǔ)位。
本實(shí)施例中是采用把一定個(gè)數(shù)的比特值″0″插入MMB終端部分的方式。因?yàn)榭勺冮L(zhǎng)度編碼的這種補(bǔ)位是本領(lǐng)域普通技術(shù)人員能容易設(shè)計(jì)的公知技術(shù),所以本實(shí)施例中僅在有必要用到它的時(shí)候才予以說明。
本發(fā)明提供的裝置是在經(jīng)可變長(zhǎng)度編碼并經(jīng)補(bǔ)位的比特串中有傳輸差錯(cuò)的情況下,根據(jù)其差錯(cuò)的檢出可以從存在傳輸差錯(cuò)的MMB的下一個(gè)MMB開始正常譯碼的裝置,根據(jù)圖3~圖5進(jìn)一步詳細(xì)說明本發(fā)明的實(shí)施例。
圖3的裝置是根據(jù)一定的數(shù)據(jù)格式進(jìn)行可變長(zhǎng)度譯碼的裝置,圖3的裝置所加上的比特串同樣也要根據(jù)前述的數(shù)據(jù)格式進(jìn)行可變長(zhǎng)度編碼和補(bǔ)位。
如圖4A所示,根據(jù)一定的數(shù)據(jù)格式所形成的各圖像幀的比經(jīng)特串的順序是幀標(biāo)題數(shù)據(jù)FRMH、 MMB1的標(biāo)題數(shù)據(jù)MMBH1信息數(shù)據(jù)MMBD1,MMB2的標(biāo)題數(shù)據(jù)MMBH2及信息數(shù)據(jù)MMBD2。幀標(biāo)題數(shù)據(jù)FRMH有32比特的幀開始碼(FSC),各MMB的標(biāo)題數(shù)據(jù)MMBH有MMB開始碼(MSC),而比特串內(nèi)的各MMB內(nèi)的一個(gè)數(shù)據(jù)片有110個(gè)EOB碼字,EOB碼字附在經(jīng)編碼的數(shù)據(jù)的各數(shù)據(jù)塊的后端,該比特串以24比特單位寫入讀出FIFO存儲(chǔ)器100。因此,在各MMB的數(shù)據(jù)的比特?cái)?shù)不是24比特的倍數(shù)的情況下,在MMB的終端部分就加入有補(bǔ)位的1-23個(gè)比特值″0″。
每當(dāng)從VLD接口部200施加讀出信號(hào)READ時(shí),F(xiàn)IFO存儲(chǔ)器100從先前存儲(chǔ)的比特中把24比特的數(shù)據(jù)輸出到VLD接口部200。
在圖3的裝置處理沒有傳輸差錯(cuò)的比特串時(shí),被切換到VLD接口部分200的數(shù)據(jù)表示在圖4A上,而圖4F表示了處理有傳輸差錯(cuò)的比特串時(shí)的切換到VLD接口部200的數(shù)據(jù)。圖4A和圖4F中六角形所示的一個(gè)數(shù)據(jù)間隔意味著每3次讀出信號(hào)存儲(chǔ)在VLD接口部200的數(shù)據(jù)量。
在圖3的裝置處理沒有傳輸差錯(cuò)的比特串時(shí),控制部500根據(jù)前述的數(shù)據(jù)格式產(chǎn)生開始信號(hào)START和復(fù)位信號(hào)INIT。而且控制部分500產(chǎn)生可以使可變長(zhǎng)度譯碼器300操作的控制信號(hào)和其他控制信號(hào)并提供給可變長(zhǎng)度譯碼器300。VLD接口部分200根據(jù)來自控制部分500的開始信號(hào)START和復(fù)位信號(hào)INIT產(chǎn)生讀出信號(hào)READ。另外,根據(jù)是否已加上可變長(zhǎng)度譯碼器300的操作所產(chǎn)生的數(shù)據(jù)請(qǐng)求信號(hào)RQST和來自檢錯(cuò)器400的差錯(cuò)信號(hào)ERROR來使讀出信號(hào)READ的產(chǎn)生間隔變化。VLD接口部分200同樣也把FIFO存儲(chǔ)器100提供的數(shù)據(jù)供給可變長(zhǎng)度譯碼器300,下面根據(jù)圖5進(jìn)一步詳細(xì)說明這個(gè)VLD接口部分200的動(dòng)作。
如圖5所示,VLD接口部200由數(shù)據(jù)鎖存器200、FSC/MSC檢測(cè)器230、號(hào)碼輸出器250和控制信號(hào)發(fā)生器260構(gòu)成,控制器500首先根據(jù)已定義的比特串的規(guī)格產(chǎn)生圖4B的開始信號(hào)START,控制部500所產(chǎn)生的開始信號(hào)START施加于FSC/MSC檢測(cè)器230和控制信號(hào)發(fā)生器260,經(jīng)或非門231加在FSC/MSC檢測(cè)器230的觸發(fā)器236和237的復(fù)位端的低電平脈沖使觸發(fā)器236,237清零,從而使其輸出值為″0″。
如果加上圖4B所示的開始信號(hào)START的第1高電平脈沖的話,控制信號(hào)發(fā)生器260內(nèi)的RS—觸發(fā)器261被復(fù)位信號(hào)/RST清零,根據(jù)加在S端的開始信號(hào)START,經(jīng)輸出端Q輸出二進(jìn)位值″1″。觸發(fā)器265通過或門264鎖存由RS—觸發(fā)器261所加上的二進(jìn)位值″1″,由觸發(fā)器265鎖存的二進(jìn)位值″1″被輸出到FIFO存儲(chǔ)器100和觸發(fā)器266,觸發(fā)器265輸出的二進(jìn)位值″1″被用作FIFO存儲(chǔ)器100用的讀出信號(hào)READ,另外,觸發(fā)器266的輸出被用作控制多路轉(zhuǎn)換器221,223,225,234,235用的選擇信號(hào)SEL。 FIFO存儲(chǔ)器100根據(jù)來自VLD接口部分200的讀出信號(hào)READ把所存儲(chǔ)的數(shù)據(jù)每次24比特輸出到VLD接口部分200,如果FIFO存儲(chǔ)器100把每次24比特的數(shù)據(jù)加到數(shù)據(jù)鎖存器220的話,觸發(fā)器222,224,226就每次24比特按順序鎖存所提供的數(shù)據(jù)。FSC/MSC檢測(cè)器230從觸發(fā)器222的輸出數(shù)據(jù)和加在多路轉(zhuǎn)換器221上的數(shù)據(jù)中檢出幀開始碼或MMB開始碼。
更具體地說,比較器232比較觸發(fā)器222的輸出數(shù)據(jù)和MMB開始碼″000001H″,若兩數(shù)據(jù)相同,輸出二進(jìn)制值″1″,不同則輸出二進(jìn)制值″0″。另外,比較器233比較幀開始碼″00000100H″的一部分″00H″和加在多路轉(zhuǎn)換器221上的數(shù)據(jù)。檢出幀開始碼時(shí),比較器232、233都輸出二進(jìn)制值″1″。
另一方面,檢出MMB開始碼時(shí),只有比較器232輸出二進(jìn)制值″1″,如果檢出了幀開始碼或MMB開始碼,RS—觸發(fā)器261被復(fù)位,控制信號(hào)發(fā)生器260就不再產(chǎn)生讀出信號(hào)READ。因此,VLD接口部分200自動(dòng)取消加在幀標(biāo)題數(shù)據(jù)FRMH或MMB標(biāo)題數(shù)據(jù)MMBH中的補(bǔ)位數(shù)據(jù)。
在FSC/MSC檢測(cè)器230檢出幀開始碼的情況下,幀開始碼隨后的幀號(hào)碼被鎖存在號(hào)碼輸出器250內(nèi)的觸發(fā)器255中,根據(jù)幀開始碼的檢出而從比較器232輸出的二進(jìn)制值″1″經(jīng)多路轉(zhuǎn)換器234和觸發(fā)器236之后,在控制信號(hào)RS—觸發(fā)器261的復(fù)位端R,RS—觸發(fā)器261根據(jù)該信號(hào)通過輸出端Q輸出二進(jìn)制值″0″。結(jié)果,由于RS—觸發(fā)器261輸出二進(jìn)制值″0″,若經(jīng)過由RS—觸發(fā)器261和觸發(fā)器265造成的延時(shí),控制信號(hào)發(fā)生器260就不再產(chǎn)生讀出信號(hào)READ。
另一方面,如果72比特的數(shù)據(jù)被鎖存在數(shù)據(jù)鎖存器220中的話,控制部分500就把圖4B所示的第2高電平脈沖供給圖5的裝置。由于開始信號(hào)START信號(hào)的第二高電平脈沖再次使RS—觸發(fā)器261輸出二進(jìn)制″1″,所以直到新的72比特的數(shù)據(jù)被鎖存在數(shù)據(jù)鎖存器220內(nèi),控制信號(hào)發(fā)生器260才產(chǎn)生讀出信號(hào)READ。根據(jù)該讀出信號(hào),把圖4A的MMB1的標(biāo)題數(shù)據(jù)MMBH1鎖存在數(shù)據(jù)鎖存器220內(nèi),這時(shí),F(xiàn)SC/MSC檢測(cè)器230內(nèi)的比較器232、233檢測(cè)MMB開始碼,觸發(fā)器236鎖存二進(jìn)制值″1″。由于觸發(fā)器236中鎖存有二進(jìn)制值″1″,控制信號(hào)發(fā)生器260內(nèi)的RS—觸發(fā)器261就通過輸出端Q輸出二進(jìn)制值″0″,而且隨在MMB開始碼后面的MMB號(hào)碼被鎖存在號(hào)碼輸出器250內(nèi)的觸發(fā)器256中。如果圖4A的MMB1的標(biāo)題數(shù)據(jù)MMBH1被鎖存在數(shù)據(jù)鎖存器220內(nèi)的話,控制器500就把圖4C的復(fù)位信號(hào)INIT的第1高電平脈沖供給FSC/MSC檢測(cè)器230的觸發(fā)器236,觸發(fā)器236根據(jù)清零端上所加的該復(fù)位信號(hào)被清零。此后,因?yàn)橛|發(fā)器222加到比較器232的數(shù)據(jù)不含有與MMB開始碼相同的數(shù)據(jù),所以直到MMB2的MMB開始碼或幀開始碼的一部分被檢測(cè)出來為止,二進(jìn)值″0″都加在門263上,結(jié)果,控制信號(hào)發(fā)生器260可以產(chǎn)生對(duì)應(yīng)于來自可變長(zhǎng)度譯碼器300的數(shù)據(jù)請(qǐng)求信號(hào)RQST的讀出信號(hào)READ。
如果把VLD接口部分200所鎖存的數(shù)據(jù)提供到可變長(zhǎng)度譯碼器300的話,可變長(zhǎng)度譯碼器300就對(duì)所供給的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼。更具體地說,可變長(zhǎng)度譯碼器300先檢測(cè)出對(duì)應(yīng)于可變長(zhǎng)度碼字的掃描電平時(shí),再輸出掃描電平對(duì)的掃描長(zhǎng)度大小的連續(xù)的″0″,然后輸出具有掃描電平對(duì)的電平。
每當(dāng)經(jīng)可變長(zhǎng)度譯碼的數(shù)據(jù)的比特?cái)?shù)達(dá)到一定比特?cái)?shù)時(shí),可變長(zhǎng)度譯碼器300就產(chǎn)生數(shù)據(jù)請(qǐng)求信號(hào)RQST,并把它輸出到VLD接口部分200。反復(fù)進(jìn)行這種動(dòng)作,可變長(zhǎng)度譯碼器300就把MMB1的信息數(shù)據(jù)MMBD1進(jìn)行了可變長(zhǎng)度譯碼??勺冮L(zhǎng)度譯碼器300把可變長(zhǎng)度譯碼所得到的每個(gè)數(shù)據(jù)塊的EOB碼輸出到檢錯(cuò)器400,該檢錯(cuò)器400判斷在EOB碼的譯碼時(shí)刻是否準(zhǔn)確得到了EOB碼。當(dāng)比特串不含有傳輸差錯(cuò)時(shí),檢錯(cuò)器400判斷由可變長(zhǎng)度譯碼器送來的EOB碼為譯碼時(shí)刻被正確譯碼了。這時(shí),由于差錯(cuò)信號(hào)ERROR不被送到VLD接口部分200和控制部分500,所以,圖3的裝置就根據(jù)由FIFO存儲(chǔ)器100供給的數(shù)據(jù)正常進(jìn)行可變長(zhǎng)度譯碼。如果MMB1的數(shù)據(jù)全部供給VLD接口部分200之后,再把MMB2的數(shù)據(jù)供給VLD接口部分200的話,VLD接口部分200的FSC/MSC檢測(cè)器230檢測(cè)MMB2的MMB開始碼,而且,如果MMB2的MMB標(biāo)題數(shù)據(jù)MMBH2鎖存在數(shù)據(jù)鎖存部分220內(nèi)的話,控制器500就把圖4C的復(fù)位信號(hào)INIT的第2高電平脈沖供給VLD接口部分200,供給VLD接口部分200的數(shù)據(jù)一面經(jīng)過前述的過程,一面繼續(xù)被送到可變長(zhǎng)度譯碼器,并由可變長(zhǎng)度譯碼器300進(jìn)行可變長(zhǎng)度譯碼。
由VLD接口部分200供給可變長(zhǎng)度譯碼300的數(shù)據(jù)中存在傳輸差錯(cuò)的情況下,其部分?jǐn)?shù)據(jù)就不能被正確譯碼,這時(shí)檢錯(cuò)器400就對(duì)所產(chǎn)生的EOB碼計(jì)數(shù),圖4D表示了有傳輸差錯(cuò)的比特串的區(qū)間即差錯(cuò)區(qū)間的一個(gè)例子。
當(dāng)所計(jì)數(shù)的EOB碼的個(gè)數(shù)超過已規(guī)定的閾值時(shí),檢錯(cuò)器400產(chǎn)生差錯(cuò)信號(hào)ERROR,在此,閾值數(shù)據(jù)能隱含在差錯(cuò)隱含部分(未示出)的數(shù)據(jù)量來適當(dāng)選擇,所產(chǎn)生的差錯(cuò)信號(hào)ERROR被供給到VLD接口部分200、控制部分500和差錯(cuò)隱含部分(未示出)。如果檢錯(cuò)器400把圖4E所示的差錯(cuò)信號(hào)ERROR加在VLD接口部分200,或門267就把圖4E的差錯(cuò)信號(hào)ERROR的高電平脈沖供給RS—觸發(fā)器261的S端,RS—觸發(fā)器261根據(jù)輸入的高電平脈沖輸出二進(jìn)制值″1″,在觸發(fā)器236通過或門262送來二進(jìn)制值″1″之前,RS—觸發(fā)器261一直保持其二進(jìn)制″1″。
另一方面,在圖4E所示的差錯(cuò)信號(hào)ERROR加在控制部分500的情況下,控制部分500控制可變長(zhǎng)度譯碼器300,中斷其譯碼動(dòng)作。
因此,既使通過VLD接口部分200提供來自FIFO存儲(chǔ)器的數(shù)據(jù),可變長(zhǎng)度譯碼器300也不把所輸入的數(shù)據(jù)譯碼,可變長(zhǎng)度譯碼器300也不產(chǎn)生數(shù)據(jù)請(qǐng)求信號(hào)RQST。這種情況下,由控制信號(hào)發(fā)生器260產(chǎn)生的讀出信號(hào)READ取決于RS—觸發(fā)器261的輸出,所以就減少了由取決于來自可變長(zhǎng)度譯碼器300的數(shù)據(jù)請(qǐng)求信號(hào)RQST的讀出信號(hào)READ所產(chǎn)生的時(shí)間間隔。這一方面是由于根據(jù)可變長(zhǎng)度譯碼器300在譯碼時(shí)間所用的比特?cái)?shù)來產(chǎn)生數(shù)據(jù)請(qǐng)求信號(hào)RQST,另一方面是由于根據(jù)使圖5的裝置動(dòng)作的方框(未示出)來產(chǎn)生由RS—觸發(fā)器261產(chǎn)生的讀出信號(hào)READ。
圖4F表示的是MMB1內(nèi)含有傳輸差錯(cuò)的情況下由VLD接口部分200供給可變長(zhǎng)度譯碼器300的數(shù)據(jù)。
在FIFO存儲(chǔ)器100供給MMB2的標(biāo)題數(shù)據(jù)MMBH2之前,VLD接口部200持續(xù)產(chǎn)生讀出信號(hào)READ,并從FIFO中讀出數(shù)據(jù)。如果緊接MMB1后面的MMB2的標(biāo)題數(shù)據(jù)MMBH2供到VLD接口部分200,比較器232就輸出二進(jìn)制″1″,該二進(jìn)制值″1″通過觸發(fā)器236和或門262被加到RS—觸發(fā)器261,結(jié)果,由于RS—觸發(fā)器261輸出二進(jìn)制″0″,觸發(fā)器265就不再產(chǎn)生讀出信號(hào)READ。
因此,在從控制部分500送來圖4C所示的復(fù)位信號(hào)INIT的第2高電平脈沖之前,VLD接口部分200鎖存MMB2前端的數(shù)據(jù)。另一方面,在前述復(fù)位信號(hào)INIT加到VLD接口部分200的時(shí)刻,控制部分500控制可變長(zhǎng)度譯碼器300使之再次開始譯碼操作,用這種方式,圖3的裝置取代對(duì)含有傳輸差錯(cuò)的各個(gè)MMB內(nèi)的數(shù)據(jù)不進(jìn)行可變長(zhǎng)度譯碼,而保持對(duì)其下一個(gè)MMB的同步。
如上所述,在由于傳輸差錯(cuò)而不進(jìn)行正??勺冮L(zhǎng)度譯碼的情況下,按照本發(fā)明的同步復(fù)原裝置強(qiáng)行讀出含有傳輸差錯(cuò)的MMB的數(shù)據(jù),由于在從FIFO存儲(chǔ)器100讀出其下一個(gè)MMB的標(biāo)題數(shù)據(jù)之前作完動(dòng)作,所以不僅可以從其下一個(gè)MMB正常地進(jìn)行可變長(zhǎng)度譯碼,而且保持了信號(hào)處理的同步。
權(quán)利要求
1.一種根據(jù)表示已設(shè)定了大小的第1數(shù)據(jù)塊終端的數(shù)據(jù)塊終端信號(hào)和包含比前述第1數(shù)據(jù)塊大的第2數(shù)據(jù)塊的數(shù)據(jù)格式接收經(jīng)可變長(zhǎng)度編碼的數(shù)據(jù)再進(jìn)行可變長(zhǎng)度譯碼的同步復(fù)原裝置,包括存儲(chǔ)所收到的經(jīng)可變長(zhǎng)度譯碼的數(shù)據(jù),再在加上讀出信號(hào)時(shí)從先前存儲(chǔ)的比特中按順序輸出一定比特?cái)?shù)的數(shù)據(jù)的FIFO存儲(chǔ)器;把所加的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼并輸出由可變長(zhǎng)度譯碼得到的數(shù)據(jù)塊終端信號(hào),然后在可變長(zhǎng)度譯碼中所使用的數(shù)據(jù)的比特?cái)?shù)達(dá)到一定的比特?cái)?shù)時(shí)產(chǎn)生數(shù)據(jù)請(qǐng)求信號(hào)的可變長(zhǎng)度譯碼器;判斷由前述可變長(zhǎng)度譯碼器所加的數(shù)據(jù)塊終端信號(hào)是否在取決于數(shù)據(jù)格式的正確的可變長(zhǎng)度譯碼時(shí)間進(jìn)行過譯碼,由判斷結(jié)果得到的在正確的可變長(zhǎng)度譯碼時(shí)間不進(jìn)行譯碼的數(shù)據(jù)塊終端信號(hào)的個(gè)數(shù)超過已設(shè)定的閾值時(shí),產(chǎn)生差錯(cuò)信號(hào)的檢錯(cuò)器;根據(jù)讀出信號(hào)把前述FIFO存儲(chǔ)器所施加的數(shù)據(jù)傳送到前述可變長(zhǎng)度譯碼器,如果前述檢錯(cuò)器沒送來差錯(cuò)信號(hào),根據(jù)來自可變長(zhǎng)度譯碼器的數(shù)據(jù)請(qǐng)求信號(hào)產(chǎn)生讀出信號(hào),若前述檢錯(cuò)器送來差錯(cuò)信號(hào),則不管來自前述可變長(zhǎng)度譯碼器的數(shù)據(jù)請(qǐng)求信號(hào),而在從前述FIFO存儲(chǔ)器中讀出被檢出差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的全部數(shù)據(jù)之前產(chǎn)生讀出信號(hào)的接口部分;以及如果前述檢錯(cuò)器送來差錯(cuò)信號(hào),就控制前述可變長(zhǎng)度譯碼器使之中斷譯碼動(dòng)作,而在把檢出有前述錯(cuò)差信號(hào)的第2數(shù)據(jù)塊的數(shù)據(jù)加到前述可變長(zhǎng)度譯碼器時(shí),使前述可變長(zhǎng)譯碼器進(jìn)行譯碼操作的控制部分。
2.根據(jù)權(quán)利要求1的同步復(fù)原裝置,其特征在于前述檢錯(cuò)器把每個(gè)第2數(shù)據(jù)塊所得到的數(shù)據(jù)塊終端信號(hào)的個(gè)數(shù)與已設(shè)定的閾值相比較。
3.根據(jù)權(quán)利要求1的同步復(fù)原裝置,其特征在于差錯(cuò)信號(hào)加在前述接口部分時(shí),產(chǎn)生具有比根據(jù)前述數(shù)據(jù)請(qǐng)求信號(hào)所產(chǎn)生的讀出信號(hào)少的時(shí)間間隔的讀出信號(hào)。
4.一種對(duì)根據(jù)表示已設(shè)定了大小的第1數(shù)據(jù)塊終端的數(shù)據(jù)塊終端信號(hào)和包含比前述第1數(shù)據(jù)塊大的第2數(shù)據(jù)塊的數(shù)據(jù)格式存儲(chǔ)可變長(zhǎng)編碼過的數(shù)據(jù)再在加上讀出信號(hào)時(shí)從先前存儲(chǔ)的比特中按順序輸出一定比特?cái)?shù)的數(shù)據(jù)的FIFO存儲(chǔ)器提供的數(shù)據(jù)進(jìn)行譯碼的裝置用的同步復(fù)原方法,包括如下步驟(a)把所加的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼,輸出由可變長(zhǎng)度譯碼所得到的數(shù)據(jù)塊終端信號(hào),然后在可變長(zhǎng)度譯碼中所使用的數(shù)據(jù)的比特?cái)?shù)達(dá)到一定比特?cái)?shù)時(shí)產(chǎn)生數(shù)據(jù)請(qǐng)求信號(hào);(b)判斷前述步驟(a)所輸出的數(shù)據(jù)塊終端信號(hào)是否在基于數(shù)據(jù)格式所進(jìn)行的正確的可變長(zhǎng)度譯碼時(shí)間進(jìn)行過譯碼;(c)由前述(b)的判斷結(jié)果所得到的正確的可變長(zhǎng)度譯碼時(shí)間未被譯碼的數(shù)據(jù)塊終端信號(hào)的個(gè)數(shù)超過已設(shè)定的閾值時(shí)產(chǎn)生差錯(cuò)信號(hào);(d)如果在步驟(c)不產(chǎn)生差錯(cuò)信號(hào)的話,產(chǎn)生取決于由步驟(a)所產(chǎn)生的數(shù)據(jù)請(qǐng)求信號(hào)的讀出信號(hào);(e)如果在步驟(c)產(chǎn)生差錯(cuò)信號(hào),則不管前述數(shù)據(jù)請(qǐng)求信號(hào),在從前述FIFO存儲(chǔ)器中讀出被檢出差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的全部數(shù)據(jù)之前產(chǎn)生讀出信號(hào);以及(f)控制步驟(a)使之對(duì)相應(yīng)于前述步驟(c)的差錯(cuò)信號(hào)的第3數(shù)據(jù)塊的數(shù)據(jù)不進(jìn)行可變長(zhǎng)度譯碼,而對(duì)被檢出差錯(cuò)信號(hào)的第2數(shù)據(jù)塊的下一個(gè)第2數(shù)據(jù)塊的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼。
5.根據(jù)權(quán)利要求4的同步復(fù)原方法,其特征在于前述步驟(c)把每個(gè)第2數(shù)據(jù)塊所得的數(shù)據(jù)塊終端信號(hào)的個(gè)數(shù)與已設(shè)定的閾值相比較。
6.根據(jù)權(quán)利要求4的同步復(fù)原方法,其特征在于前述步驟(e)在前述步驟(c)產(chǎn)生差錯(cuò)信號(hào)時(shí)產(chǎn)生具有比根據(jù)前述數(shù)據(jù)請(qǐng)求信號(hào)所產(chǎn)生的讀出信號(hào)少的時(shí)間間隔的讀出信號(hào)。
全文摘要
本發(fā)明提供一種可變長(zhǎng)度譯碼器用的同步復(fù)原方法及其裝置。該裝置包括按順序輸出一定比特?cái)?shù)的數(shù)據(jù)的FIFO存儲(chǔ)器;對(duì)輸入的數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼的可變長(zhǎng)度譯碼器;當(dāng)數(shù)據(jù)塊終端信號(hào)的個(gè)數(shù)超過已設(shè)定的閾值時(shí)產(chǎn)生差錯(cuò)信號(hào)的檢錯(cuò)器;根據(jù)讀出信號(hào)把由FIFO存儲(chǔ)器送來的數(shù)據(jù)傳送到前述可變長(zhǎng)度譯碼器的接口部分;以及控制可變長(zhǎng)度譯碼器使之進(jìn)行譯碼操作的控制器。
文檔編號(hào)H04N7/64GK1124890SQ9511505
公開日1996年6月19日 申請(qǐng)日期1995年7月11日 優(yōu)先權(quán)日1994年7月11日
發(fā)明者文憲熙 申請(qǐng)人:三星電子株式會(huì)社