两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

包含cpu處理器接口的可編程變長解碼器的制作方法

文檔序號:7505325閱讀:215來源:國知局
專利名稱:包含cpu處理器接口的可編程變長解碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于一種有效解碼壓縮編碼圖像數(shù)據(jù)的解碼設(shè)備,更具體地講,有關(guān)于一種用于解碼已被壓縮為變長代碼(VLC)的圖像數(shù)據(jù)的可編程變長解碼器。
背景技術(shù)
數(shù)據(jù)壓縮技術(shù)已經(jīng)廣泛用于有效地存儲并傳送圖像、語音、以及數(shù)據(jù)。此類數(shù)據(jù)壓縮技術(shù)包含變長編碼。根據(jù)該技術(shù),較經(jīng)常出現(xiàn)的數(shù)據(jù)由較短的碼字表示,較不經(jīng)常出現(xiàn)的數(shù)據(jù)由較長的碼字表示。結(jié)果,變長代碼(VLC)的平均代碼長度短于原來的數(shù)據(jù),從而獲得數(shù)據(jù)壓縮。
VLC目前應(yīng)用于運動圖像專家組(MPEG)壓縮標準,例如MPEG-1、MPEG-2、或者MPEG-4。壓縮標準MPEG-4滿足高效壓縮與低比特速度的需求,這在移動通信系統(tǒng)與有線/無線多媒體應(yīng)用中是重要的特性。因此,變長解碼器必須能夠高速處理數(shù)據(jù),包含低功耗電路配置,并且作為程序處理各種頭部(header)語法。
圖1為現(xiàn)有變長解碼器的方框圖。以下將參照圖1描述現(xiàn)有變長解碼器的配置與操作。
現(xiàn)有的變長解碼器包含外部存儲緩沖器10、解碼單元30、以及接口單元20。外部存儲緩沖器10暫時存儲通過數(shù)據(jù)通道接收的變長碼字的串行比特流,并且輸出所存儲的比特流。解碼單元30將連續(xù)變長碼字解碼為原始定長碼字,并且作為對讀取信號的響應(yīng),輸出該定長碼字。接口單元20將外部存儲緩沖器10與解碼單元30接口,并且向解碼單元3提供從外部存儲緩沖器10輸出的串行比特流。
接口單元20包括第一觸發(fā)器21、第二觸發(fā)器22、第一桶型(barrel)移位器24、加法器26、以及累積寄存器28。第一觸發(fā)器21與第二觸發(fā)器22暫時存儲從外部存儲緩沖器10輸出的數(shù)據(jù),并且輸出所存儲的數(shù)據(jù)。加法器26將從解碼單元30輸出的當前解碼的碼字的長度與先前解碼的碼字的長度相加。如果該總和超過最大碼字長度,則加法器26生成進位信號。然后,累積寄存器28存儲加法器26的總和。第一桶型移位器24接收來自外部存儲緩沖器10、第一觸發(fā)器21、以及第二觸發(fā)器22的數(shù)據(jù),基于加法器26的總和移位所接收的數(shù)據(jù),并且向解碼單元30輸出已移位數(shù)據(jù)。
解碼單元30包含第三觸發(fā)器31、第四觸發(fā)器32、第五觸發(fā)器33、第二桶型移位器34、以及變長碼表35。第四觸發(fā)器32暫時存儲從接口單元20的第一桶型移位器24輸出的數(shù)據(jù)。變長碼表35包含碼字表36、碼長度表37、以及已解碼碼字表38。變長碼表35是可編程的,其解碼連續(xù)變長碼字及其長度,并且輸出串行比特流。第五觸發(fā)器33存儲已解碼碼字的長度。根據(jù)從第五觸發(fā)器33輸出的已解碼碼字長度,第二桶型移位器34將從第三觸發(fā)器31與第四觸發(fā)器32輸出的數(shù)據(jù)移位。然后,第二桶型移位器34將已移位數(shù)據(jù)輸出給變長碼表35。第三觸發(fā)器31接收第二桶型移位器34的輸出。
此后將描述現(xiàn)有的變長解碼器的操作。
外部存儲緩沖器10存儲通過數(shù)據(jù)通道接收的變長碼字的串行比特流。根據(jù)從解碼單元130的第五觸發(fā)器33輸出的已解碼碼字的長度,通過接口單元20將變長碼字輸出給解碼單元30。然后,解碼單元30將連續(xù)變長碼字解碼為定長碼字。對于表示未定變長碼字的比特輸入序列,解碼單元30的變長碼表35輸出相應(yīng)于變長碼字的定長碼字及變長碼字的長度。變長碼表35包含表查找存儲器。通過使用變長碼表35的表查找存儲器,提供解碼單元30的第二桶型移位器34的輸出,作為用于產(chǎn)生下一已解碼碼字的輸入。第二桶型移位器34由從第五觸發(fā)器33輸出的已解碼碼字的長度控制。
第二桶型移位器34接收來自第三觸發(fā)器31與第四觸發(fā)器32的數(shù)據(jù)。第三觸發(fā)器31與第四觸發(fā)器32每個都具有等于最大碼字長度的比特容量。第二桶型移位器34的輸出連接到變長碼表35的表查找存儲器。當接口單元20提供數(shù)據(jù)給第四觸發(fā)器32時,第二桶型移位器34連接到第三觸發(fā)器31。在每個時鐘周期,第二桶型移位器34向變長碼表35提供相應(yīng)于串行比特流中最大碼字長度的比特數(shù)目,其等于存儲在第三觸發(fā)器31與第四觸發(fā)器32中的最大碼字長度的兩倍。
變長碼表35輸出碼字長度與來自表查找存儲器的相應(yīng)的已解碼碼字給第五觸發(fā)器33。碼字長度相應(yīng)于第二桶型移位器34的輸出。
第五觸發(fā)器33向第二桶型移位器34提供從變長碼表35接收的、先前已解碼變長碼字的長度。這些長度相應(yīng)于下一個待解碼的變長碼字。換而言之,第二桶型移位器34的輸出被移位等于從第五觸發(fā)器33輸出的先前已解碼碼字的長度的總和的數(shù)目,然后從下一個待解碼的變長碼字的第一比特開始。
因為在每個時鐘周期都轉(zhuǎn)換第三觸發(fā)器31中的比特,所以在每個時鐘周期都向第四觸發(fā)器32提供從接口單元20輸出的數(shù)據(jù)。因此,從已解碼碼字開始的比特流被提供給第二桶型移位器34。
第四觸發(fā)器32接收接口單元20的第一桶型移位器24的輸出。
第一桶型移位器24接收來自外部存儲緩沖器10、第一觸發(fā)器21、以及第二觸發(fā)器22的數(shù)據(jù)。向第一觸發(fā)器21提供來自外部存儲緩沖器10的數(shù)據(jù)。然后,第二觸發(fā)器22存儲和輸出來自第一觸發(fā)器21的數(shù)據(jù)。第一觸發(fā)器21與以及第二觸發(fā)器22中存儲的變長碼字的長度等于最大碼字長度。
第一桶型移位器24的輸出由加法器26的總和控制。該總和通過將從解碼單元30輸出的當前解碼的碼字的長度與先前解碼的碼字的長度相加而獲得。換而言之,根據(jù)先前解碼的碼字的長度,移位第一桶型移位器24的輸出。第一桶型移位器24的輸出與解碼單元30的第二桶型移位器34的輸出構(gòu)成比特流。先前解碼的碼字的長度可能超過最大碼字長度,即,加法器生成進位信號。此類事件指示將存儲在第二觸發(fā)器22中的所有比特傳送給解碼單元30。換而言之,當生成進位信號時,第一觸發(fā)器21的內(nèi)容被傳送給第二觸發(fā)器22,并且因此,外部存儲緩沖器10的輸出被傳送到第二觸發(fā)器22中。同時,下一個定長比特數(shù)據(jù)段由外部存儲緩沖器10檢測。
通過這種方法,根據(jù)先前已解碼碼字的長度,第一桶型移位器24移位依次從外部存儲緩沖器10輸出的數(shù)據(jù),并且將已移位數(shù)據(jù)輸出給解碼單元30。隨后,解碼單元30以上述方法解碼變長碼字。
現(xiàn)有的變長解碼器使用兩個桶型移位器,并且以硬件處理所有的語法,即可編程邏輯陣列(PLA)。相應(yīng)地,使用兩個桶型移位器而不是一個桶型移位器導(dǎo)致了大量的計算,并且使變長解碼器的電路配置復(fù)雜化。

發(fā)明內(nèi)容
本發(fā)明提供了一種可編程變長解碼器,其與中央處理單元(CPU)處理器接口,通過使用CPU處理器進行部分變長解碼操作,并且通過使用一個桶型移位器減少了計算量及其電路規(guī)模兩者。
根據(jù)本發(fā)明的一個方面,提供了一種與外部處理器接口的可編程變長解碼器,該可編程變長解碼器包含存儲緩沖器、鎖存單元、多路復(fù)用單元、第一桶型移位器、解碼單元、以及控制單元。存儲緩沖器存儲用于以定長數(shù)據(jù)段解碼的、輸入的串行比特流數(shù)據(jù),并且作為對第一控制信號的響應(yīng),輸出所存儲的比特流數(shù)據(jù)。鎖存單元暫時存儲從存儲緩沖器輸出的數(shù)據(jù),并且作為對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。多路復(fù)用單元選擇來自鎖存單元的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù)。第一桶型移位器將從多路復(fù)用單元輸出的所選擇的數(shù)據(jù)移位第二控制信號值,并且輸出已移位數(shù)據(jù)。解碼單元解碼第一桶型移位器的輸出,并且輸出已解碼碼字與已解碼碼字的比特長度。控制單元將當前解碼碼字的比特長度與先前解碼碼字的比特長度相加,存儲總和,根據(jù)該總和生成第一控制信號與第二控制信號,并且向鎖存單元與第一桶型移位器輸出第一控制信號與第二控制信號。
優(yōu)選地,該可編程變長解碼器還包含處理器數(shù)據(jù)接口單元,其將第一桶型移位器的輸出傳送給外部處理器,從而可以在外部處理器中進行第一桶型移位器到外部處理器的變長解碼。該處理器數(shù)據(jù)接口單元包含第二桶型移位器,該第二桶型移位器將第一桶型移位器的輸出移位由外部處理器提供的比特長度,并且輸出已移位數(shù)據(jù)。
鎖存單元包含第一鎖存器、第二鎖存器、以及第三鎖存器。第一鎖存器暫時存儲存儲緩沖器的輸出,并且作為對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。第二鎖存器暫時存儲第一鎖存器的輸出,并且作為對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。第三鎖存器暫時存儲第二鎖存器的輸出,并且作為對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。
優(yōu)選地,多路復(fù)用單元包含第一多路復(fù)用器與第二多路復(fù)用器。作為對選擇控制信號的響應(yīng),第一多路復(fù)用器選擇第一鎖存器的輸出或者第二鎖存器的輸出,并且向第一桶型移位器輸出所選擇的數(shù)據(jù)作為低位比特。作為對選擇控制信號的響應(yīng),第二多路復(fù)用器選擇第二鎖存器的輸出或者第三鎖存器的輸出,并且向第一桶型移位器輸出所選擇的數(shù)據(jù)作為高位比特。
優(yōu)選地,解碼單元包含碼元解碼器與長度解碼器。碼元解碼器解碼第一桶型移位器的輸出,并且將所檢測的變長碼字轉(zhuǎn)換為定長碼字。長度解碼器向控制單元輸出所檢測的變長碼字的比特長度。
優(yōu)選地,解碼單元還包含包括可編程邏輯陣列的碼字表,并且根據(jù)碼字表,碼元解碼器將第一桶型移位器的輸出解碼為碼字,將已解碼碼字表示為預(yù)定值,并且輸出該預(yù)定值。
優(yōu)選地,控制單元包含第三多路復(fù)用器、加法器、累積寄存器、以及進位寄存器。第三多路復(fù)用器選擇從長度解碼器輸出的、所檢測的變長碼字的比特長度或者由外部處理器提供的比特長度。加法器將當前解碼碼字的所選擇的比特長度與先前解碼碼字的比特長度相加。累積寄存器存儲加法器的總和,即先前解碼碼字比特長度與當前解碼碼字的所選擇的比特長度的總和,輸出加法器的總和至第一桶型移位器作為第二控制信號,以及作為先前解碼碼字比特長度。進位寄存器暫時存儲在加法器操作期間生成的進位信號,并且輸出該進位信號至存儲緩沖器與鎖存單元作為第一控制信號。
優(yōu)選地,存儲緩沖器以16比特的格式存儲輸入的比特流數(shù)據(jù)。


圖1為現(xiàn)有變長解碼器的方框圖;圖2為根據(jù)本發(fā)明的可編程變長解碼器的方框圖;圖3顯示存儲在存儲緩沖器中的比特流數(shù)據(jù)的實施方式;圖4顯示圖2每個單元中數(shù)據(jù)的實施方式。
<標號說明>
100存儲緩沖器200鎖存單元300多路復(fù)用單元 400第一桶型移位器500處理器數(shù)據(jù)接口單元600解碼單元604碼元解碼器606長度解碼器700控制單元具體實施方式
以下將參照附圖更全面地描述本發(fā)明,在附圖中顯示了本發(fā)明的優(yōu)選實施方式。
圖2為根據(jù)本發(fā)明的可編程變長解碼器的方框圖。
參照圖2,該可編程變長解碼器包含存儲緩沖器100、鎖存單元200、多路復(fù)用單元300、第一桶型移位器400、解碼單元600、以及控制單元700??蛇x地,該可編程變長解碼器可以包含處理器數(shù)據(jù)接口單元500。
存儲緩沖器100存儲預(yù)定數(shù)目比特(例如16比特)的輸入比特流,并且作為對從控制單元700輸出的第一控制信號的響應(yīng),輸出所存儲的比特流。
鎖存單元200包含第一鎖存器202、第二鎖存器204、以及第三鎖存器206。第一鎖存器202暫時存儲從存儲緩沖器100輸出的數(shù)據(jù),并且作為對來自控制單元700的第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。第二鎖存器204暫時存儲從第一鎖存器202輸出的數(shù)據(jù),并且對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。第三鎖存器206暫時存儲從第二鎖存器204輸出的數(shù)據(jù),并且對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。換而言之,作為對從控制單元700輸出的第一控制信號的響應(yīng),從第二鎖存器204輸出的數(shù)據(jù)被傳送給第三鎖存器206,從第一鎖存器202輸出的數(shù)據(jù)被傳送給第二鎖存器204,并且從存儲緩沖器100輸出的數(shù)據(jù)被傳送給第一鎖存器202。
根據(jù)數(shù)據(jù)劃分模式DP_MODE,多路復(fù)用單元300選擇來自鎖存單元200的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù)給第一桶型移位器400。即,第一鎖存器202與第二鎖存器204的輸出構(gòu)成低位數(shù)據(jù)302,而第二鎖存器204與第三鎖存器206的輸出構(gòu)成高位數(shù)據(jù)304。當數(shù)據(jù)劃分模式DP_MODE為“0”時,從第三鎖存器206輸出的數(shù)據(jù)構(gòu)成高位數(shù)據(jù)304,并且從第二鎖存器204輸出的數(shù)據(jù)構(gòu)成低位數(shù)據(jù)302,當數(shù)據(jù)劃分模式DP_MODE為“1”時,從第二鎖存器204輸出的數(shù)據(jù)構(gòu)成高位數(shù)據(jù)304,并且從第一鎖存器202輸出的數(shù)據(jù)構(gòu)成低位數(shù)據(jù)302。
多路復(fù)用器306包含第一多路復(fù)用器(未顯示)以及第二多路復(fù)用器(未顯示)。根據(jù)數(shù)據(jù)劃分模式DP_MODE,第一多路復(fù)用器選擇從第一鎖存器202輸出的數(shù)據(jù)或者從第二鎖存器204輸出的數(shù)據(jù),并且輸出低位數(shù)據(jù)302。根據(jù)數(shù)據(jù)劃分模式DP_MODE,第二多路復(fù)用器選擇從第二鎖存器204或者從第三鎖存器206輸出的數(shù)據(jù),并且輸出高位數(shù)據(jù)304。換而言之,當數(shù)據(jù)劃分模式DP_MODE為“0”時,第一多路復(fù)用器選擇從第二鎖存器204輸出的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù)作為至第一桶型移位器400的輸入的低16位,而第二多路復(fù)用器選擇從第三鎖存器206輸出的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù)作為至第一桶型移位器400的輸入的高16位。當數(shù)據(jù)劃分模式DP_MODE為“1”時,第一多路復(fù)用器選擇從第一鎖存器202輸出的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù)作為至第一桶型移位器400的輸入的低16位,而第二多路復(fù)用器選擇從第二鎖存器204輸出的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù)作為至第一桶型移位器400的輸入的高16位。
第一桶型移位器400將從多路復(fù)用單元300輸出的數(shù)據(jù)移位從控制單元700輸出的第二控制信號的值,并且將已移位數(shù)據(jù)輸出給解碼單元600。
處理器數(shù)據(jù)接口單元500將第一桶型移位器400的輸出提供給外部處理器,例如中央處理單元(CPU)處理器,以進行VLC解碼。處理器數(shù)據(jù)接口單元500包含第二桶型移位器502與將已移位數(shù)據(jù)傳送給外部處理器的已移位數(shù)據(jù)504。第二桶型移位器502將第一桶型移位器400的輸出移位由外部處理器提供的比特長度“cmd”,并且將已移位數(shù)據(jù)504輸出給外部處理器。
通過包含處理器數(shù)據(jù)接口單元500,外部處理器可以處理變長解碼器的頭部語法,并且變長解碼器的硬件可以處理大量的計算。本發(fā)明的變長解碼器配置外部處理器,使得外部處理器進行頭部語法分析。另外,本發(fā)明的變長解碼器只包含一個桶型移位器,從而可以降低變長解碼器的計算量與總體規(guī)模。
解碼單元600包含碼字表602、碼元解碼器604、以及長度解碼器606。解碼單元600解碼第一桶型移位器400的輸出,并且輸出已解碼碼字與比特長度L。碼元解碼器604解碼第一桶型移位器400的輸出,并且將所檢測的變長碼字轉(zhuǎn)換為定長碼字。換而言之,根據(jù)碼字表602,碼元解碼器604將第一桶型移位器400的輸出解碼為碼字,將已解碼碼字表示為預(yù)定值,并且輸出該預(yù)定值。碼字表602可以采用可編程邏輯陣列(PLA)的形式。長度解碼器606向控制單元700輸出相應(yīng)于所檢測的變長碼字的比特長度L。
控制單元700包含第三多路復(fù)用器702、加法器704、累積寄存器706、以及進位寄存器708。加法器704將當前解碼碼字的比特長度L與先前存儲的比特長度714相加,并且存儲加法器704的總和。根據(jù)加法器704的總和,控制單元700生成第一控制信號712以及第二控制信號714,并且將這些信號輸出給存儲緩沖器100、鎖存單元200、以及第一桶型移位器400。
第三多路復(fù)用器702選擇從長度解碼器606輸出的比特長度L或者由外部處理器提供的比特長度“cmd”。當進行頭部分析時,外部處理器提供比特長度“cmd”。第三多路復(fù)用器702輸出當前比特長度716。
加法器704將當前比特長度716與先前存儲的比特長度714相加。
累積寄存器706存儲加法器704的總和,即先前解碼碼字的比特長度。累積寄存器706將加法器704的總和向第一桶型移位器400輸出作為第二控制信號714,并且向加法器704提供加法器704的總和作為先前存儲的比特長度714。
進位寄存器708暫時存儲在加法器704操作期間生成的進位信號,并且向存儲緩沖器100以及鎖存單元200輸出進位信號作為第一控制信號712。
在本發(fā)明中,存儲或輸出16位數(shù)據(jù),但是比特數(shù)目不限于16。此后,將參照圖3與圖4描述該變長解碼器的操作。
圖3顯示存儲在存儲緩沖器100中的比特流數(shù)據(jù)的實施方式。圖4顯示圖2每個單元中數(shù)據(jù)的實施方式。圖3顯示在存儲緩沖器100中的比特流數(shù)據(jù)以及該比特流地址的配置。當圖3所示的比特流輸入到存儲緩沖器100時,第一鎖存器202初始化為“7F7F”,如圖4所示。
在第一時鐘周期,第三多路復(fù)用器702接收來自外部處理器的、搜索開始碼的命令,并且輸出當前比特長度為“8”,直至發(fā)現(xiàn)開始碼。
在第二時鐘周期,生成進位信號“1”。然后,從存儲緩沖器100中讀取相應(yīng)于地址“0”的比特流數(shù)據(jù)“7F00”,并且存儲在第一鎖存器202中。同時,存儲在第一鎖存器202中的數(shù)據(jù),即“7F7F”,被傳送給第二鎖存器204,并且存儲在第二鎖存器204中的數(shù)據(jù),即“0000”,被傳送給第三鎖存器206。在圖4中,數(shù)據(jù)劃分模式DP_MODE被設(shè)置為“0”。在這種情況下,多路復(fù)用單元300的輸出包含第三鎖存器206的輸出,其構(gòu)成高位數(shù)據(jù)204,以及第二鎖存器204的輸出,其構(gòu)成低位數(shù)據(jù)302。多路復(fù)用單元300的輸出“0000_7F7F”輸入第一桶型移位器400。因為累積寄存器706輸出“0”,所以第一桶型移位器400將“0000_7F7F”移位“0”,并且輸出“0000”。
在第三時鐘周期,因為累積寄存器706輸出“8”,所以第一桶型移位器400將“0000_7F7F”移位“8”,并且輸出“007F”。
在第四時鐘周期,輸出進位信號“1”。然后,從存儲緩沖器100讀取相應(yīng)于地址“1”的比特流數(shù)據(jù)“0001”,并且存儲在第一鎖存器202中。同時,存儲在第一鎖存器202中的數(shù)據(jù),即“7F00”,被傳送給第二鎖存器204,并且存儲在第二鎖存器204中的數(shù)據(jù),即“7F7F”,被傳送給第三鎖存器206。第一桶型移位器400接收“7F7F_7F00”。因為累積寄存器706輸出“0”,所以第一桶型移位器400將“7F7F_7F00”移位“0”,并且輸出“7F7F”。
在第六時鐘周期,輸出進位信號“1”。然后,從存儲緩沖器100讀取相應(yīng)于地址“2”的比特流數(shù)據(jù)“B610”,并且存儲在第一鎖存器202中。同時,存儲在第一鎖存器202中的數(shù)據(jù),即“0001”,被傳送給第二鎖存器204,并且存儲在第二鎖存器204中的數(shù)據(jù),即“7F00”,被傳送給第三鎖存器206。第一桶型移位器400接收“7F00_0001”。因為累積寄存器706輸出“0”,所以第一桶型移位器400將“7F00_0001”移位“0”,并且輸出“7F00”。在第八時鐘周期,輸出進位信號“1”。然后,從存儲緩沖器100讀取相應(yīng)于地址“3”的比特流數(shù)據(jù)“0018”,并且存儲在第一鎖存器202中。同時,存儲在第一鎖存器202中的數(shù)據(jù),即“B610”,被傳送給第二鎖存器204,并且存儲在第二鎖存器204中的數(shù)據(jù),即“0001”,被傳送給第三鎖存器206。第一桶型移位器400接收“0001_B610”。因為累積寄存器706輸出“8”(如果已經(jīng)找到開始碼,則累積寄存器706保持“8”),所以第一桶型移位器400將“0001_B610”移位“8”,并且輸出“01B6”。通知外部處理器發(fā)現(xiàn)了開始碼。此后,根據(jù)當前比特長度716,獲得比特流,并且從第10至第7時鐘周期期間將該比特流提供給處理器數(shù)據(jù)接口單元500。
在第十時鐘周期,第一桶型移位器400輸出“4000”,并且第二桶型移位器502將“4000”移位等于“2”的比特長度“cmd”。第二桶型移位器502輸出“1”作為已移位數(shù)據(jù)504。外部處理器接收該已移位數(shù)據(jù)504,并且利用它進行頭部分析。
在第十一時鐘周期,當外部處理器向第二桶型移位器502輸出“1”作為比特長度“cmd”時,當前比特長度716為“1”。因此,第一桶型移位器400輸出“8000”,第二桶型移位器502接收“8000”,將“8000”移位“1”,并且輸出“1”作為已移位數(shù)據(jù)504。通過這種方式,外部處理器進行變長解碼。
解碼單元600的PLA形成已解碼碼字。變長解碼器在解碼單元600中處理已解碼碼字的碼長度。
在第十八時鐘周期,因為當前比特長度為“3”,所以累積寄存器706輸出“8”。因此,第一桶型移位器400將所接收的“7B63_32F9”移位“8”并輸出“6332”。解碼單元600解碼“6332”,并通知控制單元700在第十九時鐘周期使用1比特碼字長度。
在本發(fā)明中,一部分頭部分析實現(xiàn)為程序,并且在硬件中進行小于宏塊的單元的解碼。
雖然參照其示范性實施方式具體顯示并描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員應(yīng)該理解在不脫離權(quán)利要求所限定的本發(fā)明的精神與范圍的前提下可以進行各種形式與細節(jié)的修改。
工業(yè)實用性根據(jù)本發(fā)明的可編程變長解碼器,可以通過只使用一個桶型移位器,減小變長解碼器的計算量與總體規(guī)模。因為變長解碼器與外部處理接口,所以外部處理器可以進行一部分變長解碼。具體地講,可以分別進行MPEG語法頭部分析以及宏塊的VLC分析。因此,通過與外部處理器接口,變長解碼器可以處理頭部語法。
權(quán)利要求
1.一種與外部處理器接口的可編程變長解碼器,該可編程變長解碼器包含存儲緩沖器,其存儲用于以定長數(shù)據(jù)段解碼的、輸入的串行比特流數(shù)據(jù),并且作為對第一控制信號的響應(yīng)、輸出所存儲的比特流數(shù)據(jù);鎖存單元,其暫時存儲從存儲緩沖器輸出的數(shù)據(jù),并且作為對第一控制信號的響應(yīng)、輸出所存儲的數(shù)據(jù);多路復(fù)用單元,其選擇來自鎖存單元的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù);第一桶型移位器,其將從多路復(fù)用單元輸出的所選擇的數(shù)據(jù)移位第二控制信號值,并且輸出已移位數(shù)據(jù);解碼單元,其解碼第一桶型移位器的輸出,并且輸出已解碼碼字與已解碼碼字的比特長度;以及控制單元,其將當前解碼碼字的比特長度與先前解碼碼字的比特長度相加,存儲總和,根據(jù)該總和生成第一控制信號與第二控制信號,并且向鎖存單元與第一桶型移位器輸出第一控制信號與第二控制信號。
2.根據(jù)權(quán)利要求1的可編程變長解碼器,包含處理器數(shù)據(jù)接口單元,其將第一桶型移位器的輸出傳送給外部處理器,從而可以在外部處理器中進行第一桶型移位器到外部處理器的變長解碼,其中處理器數(shù)據(jù)接口單元包含第二桶型移位器,該第二桶型移位器將第一桶型移位器的輸出移位由外部處理器提供的比特長度,并且輸出已移位數(shù)據(jù)。
3.根據(jù)權(quán)利要求1的可編程變長解碼器,其中鎖存單元包含第一鎖存器,其暫時存儲存儲緩沖器的輸出,并且作為對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù);第二鎖存器,其暫時存儲第一鎖存器的輸出,并且作為對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù);以及第三鎖存器,其暫時存儲第二鎖存器的輸出,并且作為對第一控制信號的響應(yīng),輸出所存儲的數(shù)據(jù)。
4.根據(jù)權(quán)利要求1的可編程變長解碼器,其中多路復(fù)用單元包含第一多路復(fù)用器,其作為對選擇控制信號的響應(yīng),選擇第一鎖存器的輸出或者第二鎖存器的輸出,并且向第一桶型移位器輸出所選擇的數(shù)據(jù)作為低位比特;以及第二多路復(fù)用器,其作為對選擇控制信號的響應(yīng),選擇第二鎖存器的輸出或者第三鎖存器的輸出,并且向第一桶型移位器輸出所選擇的數(shù)據(jù)作為高位比特。
5.根據(jù)權(quán)利要求1的可編程變長解碼器,其中解碼單元包含碼元解碼器,其解碼第一桶型移位器的輸出,并且將所檢測的變長碼字轉(zhuǎn)換為定長碼字;以及長度解碼器,其向控制單元輸出所檢測的變長碼字的比特長度。
6.根據(jù)權(quán)利要求5的可編程變長解碼器,其中解碼單元還包含包括可編程邏輯陣列的碼字表,并且根據(jù)碼字表,碼元解碼器將第一桶型移位器的輸出解碼為碼字,將已解碼碼字表示為預(yù)定值,并且輸出該預(yù)定值。
7.根據(jù)權(quán)利要求5的可編程變長解碼器,其中控制單元包含第三多路復(fù)用器,其選擇從長度解碼器輸出的、所檢測的變長碼字的比特長度或者由外部處理器提供的比特長度;加法器,其將當前解碼碼字的所選擇的比特長度與先前解碼碼字的比特長度相加;累積寄存器,其存儲加法器的總和,即先前解碼碼字比特長度與當前解碼碼字的所選擇的比特長度的總和,輸出加法器的總和至第一桶型移位器作為第二控制信號,以及作為先前解碼碼字比特長度;以及進位寄存器,其暫時存儲在加法器操作期間生成的進位信號,并且輸出該進位信號至存儲緩沖器與鎖存單元作為第一控制信號。
8.根據(jù)權(quán)利要求1的可編程變長解碼器,其中存儲緩沖器以16比特的格式存儲輸入的比特流數(shù)據(jù)。
全文摘要
提供了一種與外部處理器接口的可編程變長解碼器。該可編程變長解碼器包含存儲緩沖器、鎖存單元、多路復(fù)用單元、第一桶型移位器、解碼單元、以及控制單元。存儲緩沖器存儲用于以定長數(shù)據(jù)段解碼的、輸入的串行比特流數(shù)據(jù),并且作為對第一控制信號的響應(yīng)、輸出所存儲的比特流數(shù)據(jù)。鎖存單元暫時存儲從存儲緩沖器輸出的數(shù)據(jù),并且作為對第一控制信號的響應(yīng)、輸出所存儲的數(shù)據(jù)。多路復(fù)用單元選擇來自鎖存單元的數(shù)據(jù),并且輸出所選擇的數(shù)據(jù)。第一桶型移位器將多路復(fù)用單元的輸出移位第二控制信號值,并且輸出已移位數(shù)據(jù)。解碼單元解碼第一桶型移位器的輸出,并且輸出已解碼碼字與已解碼碼字的比特長度。控制單元將當前解碼碼字的比特長度與先前解碼碼字的比特長度相加,存儲總和,根據(jù)該總和生成第一控制信號與第二控制信號,并且向鎖存單元與第一桶型移位器輸出第一控制信號與第二控制信號。
文檔編號H03M7/42GK1653698SQ03811277
公開日2005年8月10日 申請日期2003年5月16日 優(yōu)先權(quán)日2002年5月17日
發(fā)明者具本臺, 金翼均 申請人:韓國電子通信研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
资兴市| 嘉义县| 吴忠市| 鄢陵县| 准格尔旗| 平度市| 磐石市| 禹城市| 楚雄市| 广丰县| 湘阴县| 依安县| 綦江县| 凤庆县| 汉阴县| 花莲县| 凤庆县| 朝阳县| 岳池县| 兰溪市| 武威市| 闵行区| 新绛县| 常熟市| 甘南县| 原阳县| 常熟市| 深水埗区| 名山县| 亳州市| 石门县| 宁河县| 南昌县| 上高县| 二手房| 南京市| 双峰县| 蛟河市| 武山县| 荃湾区| 修武县|