專利名稱:解碼器及碼流解析裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種解碼技術(shù)領(lǐng)域,尤其涉及關(guān)于對(duì)音視頻壓縮碼流或者其他數(shù)據(jù)壓縮方法得到的壓縮碼流的一種解碼器及碼流解析裝置。
背景技術(shù):
數(shù)據(jù)壓縮往往采用變長(zhǎng)編碼,把數(shù)據(jù)冗余最大程度剔除,因此在解碼過(guò)程中便會(huì)按比特(bit)取出壓縮后的數(shù)據(jù)用來(lái)恢復(fù)原始數(shù)據(jù)。但高效的內(nèi)存管理裝置一般不會(huì)提供按位讀取數(shù)據(jù)。數(shù)據(jù)在存儲(chǔ)介質(zhì)中以各種方式擺放,有些地方為了增強(qiáng)容錯(cuò)性,會(huì)有一些特別的處理,如在某些音頻⑶中,一個(gè)16比特的字,只會(huì)存放14比特的有效數(shù)據(jù),這給解碼器帶來(lái)了很大的不便。目前比較常見(jiàn)的硬件實(shí)現(xiàn)方法都是采用FIFO (First Input First Output,先進(jìn)先出)緩沖數(shù)據(jù),比特?cái)?shù)累加器計(jì)算當(dāng)前有效比特,很難處理數(shù)據(jù)中存在無(wú)效比特這種情況。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種解碼器及碼流解析裝置,其提供簡(jiǎn)單高效的碼流按位讀取通道。為實(shí)現(xiàn)本發(fā)明目的而提供的一種解碼器,包括內(nèi)存管理裝置和解壓縮裝置,還包括連接在所述內(nèi)存管理裝置和所述解壓縮裝置之間的一碼流解析裝置;所述碼流解析裝置包括一累加器和一多路選擇器;其中所述累加器,用于根據(jù)所述解壓縮裝置的碼流讀取請(qǐng)求,產(chǎn)生從所述多路選擇器中移位后有效碼流數(shù)據(jù)組的選擇信號(hào);并將所述選擇信號(hào)傳輸給所述多路選擇器,用于控制所述多路選擇器的有效碼流數(shù)據(jù)組選擇;所述多路選擇器,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,根據(jù)所述碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組;然后根據(jù)所述選擇信號(hào),經(jīng)過(guò)選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到所述解壓縮裝置。較優(yōu)地,所述碼流解析裝置,還包括移位寄存器組,用于作為從所述內(nèi)存管理裝置中輸入的碼流數(shù)據(jù)的暫存裝置;所述碼流解析裝置還包括一碼流緩存器,用于緩存從所述內(nèi)存管理裝置中讀入并等待移位寄存器組讀取的碼流數(shù)據(jù);所述累加器,還用于對(duì)所述解壓縮裝置的發(fā)送來(lái)的移位數(shù)進(jìn)行累加,當(dāng)累加結(jié)果大于或等于門限值而溢出時(shí),產(chǎn)生移位寄存器組的移位控制信號(hào)和從碼流緩存器中讀取數(shù)據(jù)的讀使能信號(hào);并將移位控制信號(hào)傳輸給移位寄存器組,用于控制移位寄存器組的移位; 將讀使能信號(hào)傳輸給碼流緩存器,用于控制從碼流緩存器讀取碼流數(shù)據(jù)到移位寄存器組;
5
所述多路選擇器,還用于當(dāng)累加結(jié)果大于或等于門限值而溢出,移位寄存器組的移位后,根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,重新從所述移位寄存器組中根據(jù)碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取新的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組,然后根據(jù)累加器傳送過(guò)來(lái)的新的選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)再次選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到解壓縮裝置。較優(yōu)地,所述移位寄存器組由4個(gè)32位的移位寄存器串聯(lián)而成,用于作為從內(nèi)存管理裝置中輸入的碼流數(shù)據(jù)的4級(jí)暫存裝置;所述4個(gè)移位寄存器以先進(jìn)先出方式串聯(lián),首一個(gè)移位寄存器連接到內(nèi)存管理裝置中,其余三個(gè)移位寄存器連接到多路選擇器;其中三個(gè)移位寄存器,用于暫存需要送入所述多路選擇器的碼流數(shù)據(jù);另外一個(gè)移位寄存器,用于預(yù)取需要送入另外三個(gè)移位寄存器的碼流數(shù)據(jù)。較優(yōu)地,所述碼流模式是以32比特?cái)?shù)據(jù)為字塊進(jìn)行傳輸?shù)囊粢曨l碼流數(shù)據(jù)的碼流模式;所述多位有效碼流數(shù)據(jù)是64位有效碼流數(shù)據(jù);所述多組有效碼流數(shù)據(jù)組是32組有效碼流數(shù)據(jù)組;所述32組有效碼流數(shù)據(jù)組,每組數(shù)據(jù)組共包括32比特位有效碼流數(shù)據(jù)。較優(yōu)地,所述累加器為一 5比特二進(jìn)制累加器;其輸入為根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù),所述移位數(shù)經(jīng)過(guò)累加后傳輸給所述多路選擇器作為選擇信號(hào),保存累加結(jié)果進(jìn)行下一輪累加數(shù);然后在下一輪接收到新的需要移位數(shù)時(shí),進(jìn)行所接收到的所有移位數(shù)的累加,并在當(dāng)累加結(jié)果大于或等于門限值時(shí),產(chǎn)生溢出,溢出后的累加結(jié)果作為新的需要移位數(shù)作為選擇信號(hào)傳送給所述多路選擇器,保存累加結(jié)果進(jìn)行下一輪累加數(shù)。較優(yōu)地,所述多路選擇器分為第一選擇單元和第二選擇單元共2級(jí)選擇單元,其中第一選擇單元,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式從所述移位寄存器組的3 個(gè)移位寄存器中選出W:63]總共64比特的有效碼流數(shù)據(jù),并將64比特碼流數(shù)據(jù)W:63] 分成按從左至右的順序分成32組,每組32比特的有效碼流數(shù)據(jù),即[31:00],[32:01], [33:02],..., [63:32]共32組碼流數(shù)據(jù),其分別相當(dāng)于64比特有效碼流數(shù)據(jù)分別移位0 31位后得到的移位有效碼流數(shù)據(jù)組;第二選擇單元,用于從第一級(jí)輸出的64比特碼流數(shù)據(jù)得到的32組,每組32比特的碼流數(shù)據(jù),即[31:00], [32:01], [33:02],..., [63 32]共32組碼流數(shù)據(jù)中,根據(jù)所述累加器傳送過(guò)來(lái)的移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)選擇而輸出32位有效碼流數(shù)據(jù)組到解壓縮裝置。較優(yōu)地,所述碼流解析裝置,還包括一第二緩存器,用于緩存32比特有效數(shù)據(jù);所述多路選擇器的輸出連接到所述第二緩存器。為實(shí)現(xiàn)本發(fā)明目的還提供一種解碼器的碼流解析裝置,連接在解碼器的內(nèi)存管理裝置和解壓縮裝置之間,包括一累加器和一多路選擇器;其中所述累加器,用于根據(jù)所述解壓縮裝置的碼流讀取請(qǐng)求,產(chǎn)生從所述多路選擇器中移位后有效碼流數(shù)據(jù)組的選擇信號(hào);并將所述選擇信號(hào)傳輸給所述多路選擇器,用于控制所述多路選擇器的有效碼流數(shù)據(jù)組選擇;
所述多路選擇器,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,根據(jù)所述碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取的多位碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組;然后根據(jù)所述選擇信號(hào),經(jīng)過(guò)選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到所述解壓縮裝置。較優(yōu)地,所述的碼流解析裝置,還包括移位寄存器組,用于作為從所述內(nèi)存管理裝置中輸入的碼流數(shù)據(jù)的暫存裝置;所述解析裝置還包括一碼流緩存器,用于緩存從所述內(nèi)存管理裝置中讀入并等待移位寄存器組讀取的碼流數(shù)據(jù);所述累加器,還用于對(duì)根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù)進(jìn)行累加,當(dāng)累加結(jié)果大于或等于門限值而溢出時(shí),產(chǎn)生移位寄存器組的移位控制信號(hào)和從碼流緩存器中讀取數(shù)據(jù)的讀使能信號(hào);并將移位控制信號(hào)傳輸給移位寄存器組,用于控制移位寄存器組的移位;將讀使能信號(hào)傳輸給碼流緩存器,用于控制從碼流緩存器讀取碼流數(shù)據(jù)到移位寄存器組;所述多路選擇器,還用于當(dāng)累加結(jié)果大于或等于門限值而溢出,移位寄存器組的移位后,根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,重新從所述移位寄存器組中根據(jù)碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取新的多位碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組,然后根據(jù)累加器傳送過(guò)來(lái)的新的選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)再次選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到解壓縮裝置。本發(fā)明的有益效果是本發(fā)明的解碼器及碼流解析裝置,既能剔除有規(guī)律的無(wú)效比特(bit),又能夠作為解碼器的一部分,有效提供數(shù)據(jù)的按位讀取功能,根據(jù)解碼要求有效處理其中碼流解析部分,為解碼器提供一種簡(jiǎn)單高效的碼流按位讀取通道,提高了解碼器解碼的效率。
圖1是本發(fā)明實(shí)施例解碼器結(jié)構(gòu)示意圖;圖2是圖1中碼流解析裝置電路結(jié)構(gòu)示意圖;圖3是圖1中累加器結(jié)構(gòu)示意圖;圖4是圖2中多路選擇器工作過(guò)程示意圖;圖5是在音頻⑶14比特模式下多路選擇器中64比特有效碼流數(shù)據(jù)組成示意圖;圖6是在音頻CD 14比特模式下碼流數(shù)據(jù)(Bitstreams Data, BSD)移位9位時(shí)多路選擇器工作過(guò)程示意圖;圖7是圖6移位9位后再移位27位時(shí)多路選擇器工作過(guò)程示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明的解碼器及碼流解析裝置進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖1、圖2所示,作為一種可實(shí)施方式,本發(fā)明實(shí)施例的解碼器,包括內(nèi)存管理裝置1和解壓縮裝置3,還包括連接在內(nèi)存管理裝置1和解壓縮裝置3之間的一碼流解析裝置 2 ;
所述碼流解析裝置2包括一累加器21和一多路選擇器22 ;其中所述累加器21,用于根據(jù)所述解壓縮裝置3的碼流讀取請(qǐng)求,產(chǎn)生從多路選擇器 22中移位后有效碼流數(shù)據(jù)組的選擇信號(hào);并將所述選擇信號(hào)傳輸給多路選擇器22,用于控制多路選擇器22的有效碼流數(shù)據(jù)組選擇。所述多路選擇器22,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,根據(jù)碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組;然后根據(jù)所述選擇信號(hào),經(jīng)過(guò)選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到解壓縮裝置3。較佳地,如圖2所示,所述碼流解析裝置2,還包括移位寄存器組23,所述移位寄存器組23由4個(gè)32位的移位寄存器(3,2,1,0號(hào)寄存器)串聯(lián)而成,用于作為從內(nèi)存管理裝置1中輸入的碼流數(shù)據(jù)的4級(jí)暫存裝置;所述4個(gè)移位寄存器(3,2,1,0號(hào)寄存器)以先進(jìn)先出(FIFO)方式串聯(lián),首一個(gè)移位寄存器(3號(hào)寄存器)連接到內(nèi)存管理裝置1中,其余三個(gè)移位寄存器0,1,0號(hào)寄存器)連接到多路選擇器22。其中三個(gè)移位寄存器0,1,0號(hào)寄存器),用于暫存需要送入所述多路選擇器22的碼流數(shù)據(jù);另外一個(gè)移位寄存器(3號(hào)寄存器),用于預(yù)取需要送入三個(gè)移位寄存器0,1,0號(hào)寄存器)的碼流數(shù)據(jù),其是為了提高碼流解析裝置2的效率而增加的預(yù)取寄存器。較佳地,所述碼流解析裝置2還包括一碼流緩存器對(duì),用于緩存從內(nèi)存管理裝置1 中讀入并等待移位寄存器組23的4個(gè)寄存器(3,2,1,0號(hào)寄存器)讀取的碼流數(shù)據(jù);所述碼流緩存器M連接到首一個(gè)寄存器(3號(hào)寄存器)。作為一種可實(shí)施方式,所述碼流緩存器M由兩塊SRAM (Static RAM)組成,乒乓使用,配合碼流數(shù)據(jù)的預(yù)取,使多路選擇器22在需要碼流數(shù)據(jù)的時(shí)候基本無(wú)需等待時(shí)間。SRAM是英文Matic RAM的縮寫,它是一種具有靜止存取功能的內(nèi)存,不需要刷新電路即能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù)。所述累加器21,還用于對(duì)根據(jù)所述解壓縮裝置3碼流讀取請(qǐng)求得到的需要移位數(shù)進(jìn)行累加,當(dāng)累加結(jié)果大于或等于門限值而溢出時(shí),產(chǎn)生移位寄存器組23的移位控制信號(hào)和從碼流緩存器M中讀取數(shù)據(jù)的讀使能信號(hào);并將移位控制信號(hào)傳輸給移位寄存器組23, 用于控制移位寄存器組的移位;將讀使能信號(hào)傳輸給碼流緩存器對(duì),用于控制從碼流緩存器M讀取碼流數(shù)據(jù)到移位寄存器組23。所述多路選擇器22,還用于當(dāng)累加結(jié)果大于或等于門限值而溢出,移位寄存器組 23的移位后,根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,重新從所述移位寄存器組23中根據(jù)碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取新的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組,然后根據(jù)累加器21傳送過(guò)來(lái)的新的選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)再次選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到解壓縮裝置3。較佳地,作為一種可實(shí)施方式,所述碼流模式可以是音頻⑶14比特模式,或者其他以32比特?cái)?shù)據(jù)為字塊進(jìn)行傳輸?shù)囊粢曨l碼流數(shù)據(jù)的碼流模式;較佳地,作為一種可實(shí)施方式,所述多位有效碼流數(shù)據(jù)是64位有效碼流數(shù)據(jù);所述多組有效碼流數(shù)據(jù)組是32組有效碼流數(shù)據(jù)組;所述32組有效碼流數(shù)據(jù)組,每組數(shù)據(jù)組共包括32比特位有效碼流數(shù)據(jù)。所述門限值為32位碼流數(shù)據(jù)塊中最大有效比特?cái)?shù)。本發(fā)明實(shí)施例的碼流解析裝置2,當(dāng)累加結(jié)果大于或等于門限值而溢出時(shí),表示從第0號(hào)寄存器的有效碼流開(kāi)始的移位碼流數(shù)據(jù)已經(jīng)不能滿足移位要求,需要導(dǎo)入3號(hào)寄存器的有效碼流數(shù)據(jù)進(jìn)行移位,因此,產(chǎn)生控制移位寄存器組23的移位控制信號(hào)和碼流緩存器的讀使能信號(hào),使串聯(lián)(串行)的移位寄存器組23依次左移,并從碼流緩存器M中讀取一個(gè)新的32比特字進(jìn)行新的移位有效碼流數(shù)據(jù)組。當(dāng)累加器21的累加結(jié)果超過(guò)溢出門限值時(shí)將溢出產(chǎn)生進(jìn)位,累加器21根據(jù)溢出標(biāo)志位控制產(chǎn)生移位寄存器組23的移位控制信號(hào)和從碼流緩存器M中讀取數(shù)據(jù)的讀使能信號(hào);并將移位控制信號(hào)傳輸給移位寄存器組23,用于控制移位寄存器組23的移位;將讀使能信號(hào)傳輸給碼流緩存器對(duì),用于控制從碼流緩存器M讀取碼流數(shù)據(jù)到移位寄存器組 23。當(dāng)累加器21沒(méi)有溢出時(shí),多路選擇器22的選擇信號(hào)為根據(jù)解壓縮裝置3指示的移位數(shù)進(jìn)行累加后,作為選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào);當(dāng)累加器21溢出時(shí),多路選擇器22的選擇信號(hào)為根據(jù)解壓縮裝置3指示的移位數(shù)進(jìn)行累加得到的累加值減去門限值,即溢出后累加器中的二進(jìn)制累加結(jié)果,作為選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào)。本發(fā)明實(shí)施例的累加器21根據(jù)解碼器中解壓縮裝置3解析按位碼流讀取的請(qǐng)求, 即通過(guò)碼字解析得到需請(qǐng)求的碼流比特?cái)?shù),得到碼流數(shù)據(jù)需要移位數(shù),如解壓縮裝置解析后得到解壓縮裝置請(qǐng)求按位讀取9位碼流數(shù)據(jù),即請(qǐng)求的碼流比特?cái)?shù)為9,則將9作為碼流數(shù)據(jù)需要移位數(shù)傳送給本發(fā)明實(shí)施例的碼流解析裝置的累加器,經(jīng)累加器21累加后得到所述選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào);并在溢出時(shí)產(chǎn)生了移位寄存器組23的移位信號(hào)和碼流的讀使能信號(hào),用來(lái)控制移位寄存器組23的移位及從碼流緩存器M中讀取新碼流的數(shù)據(jù)。通過(guò)解碼器中解壓縮裝置3通過(guò)碼字解析得到需請(qǐng)求的碼流比特?cái)?shù),是一種現(xiàn)有技術(shù),因此在本發(fā)明實(shí)施例中不再一一詳細(xì)描述。為了提高內(nèi)存的訪問(wèn)效率,避免低效率的內(nèi)存讀操作,且為了減少碼流移位之后的等待時(shí)間,本發(fā)明實(shí)施例的碼流緩存器M先把數(shù)據(jù)從解碼器的內(nèi)存管理裝置1中讀入碼流緩存器M,等待累加器21的讀使能信號(hào)后按先進(jìn)先出(FIFO)的方式選取數(shù)據(jù)到移位寄存器組23。本發(fā)明實(shí)施例的碼流緩存器M在累加器21讀使能信號(hào)控制下,從碼流緩存器M 中以32比特為單位依次讀取碼流數(shù)據(jù)到移位寄存器組23 ;然后移位寄存器組23在累加器 21移位控制信號(hào)的控制下,多路選擇器22根據(jù)碼流數(shù)據(jù)中每32比特中有效比特?cái)?shù)目,從移位寄存器組23中選取64比特有效碼流數(shù)據(jù)送入多路選擇器22,避免了將碼流數(shù)據(jù)中的無(wú)效比特讀入解壓縮裝置3,提高了解壓縮裝置的解碼效率;多路選擇器22將接收到的碼流數(shù)據(jù)分為32組32比特的有效碼流數(shù)據(jù),然后根據(jù)累加器21產(chǎn)生的選擇信號(hào)選擇一組32 比特的碼流數(shù)據(jù)組送出到解壓縮裝置3進(jìn)行解碼。將碼流數(shù)據(jù)在解壓縮裝置3中進(jìn)行解碼是一種現(xiàn)有技術(shù),因此,在本發(fā)明中不再
一一詳細(xì)描述。
累加器21在每次根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù)后,根據(jù)移位數(shù)進(jìn)行一次累加動(dòng)作,將原累加器21的結(jié)果加上新的移位數(shù),其和更新為累加器21的新結(jié)果;當(dāng)累加新結(jié)果大于等于門限值而溢出時(shí),累加器21產(chǎn)生移位控制信號(hào)和讀使能信號(hào),控制多路選擇器22、移位寄存器組23和碼流緩存器M移入新的碼流數(shù),并根據(jù)選擇信號(hào),控制多路選擇器22選擇出一組移位后的32位有效碼流數(shù)據(jù)組。其中讀使能信號(hào)和移位控制信號(hào)分別輸出到碼流緩存器M及移位寄存器組23的 4個(gè)移位寄存器;當(dāng)讀使能信號(hào)有效時(shí),從碼流緩存器M中讀出一個(gè)32位的數(shù)據(jù)字送入到移位寄存器組23的首個(gè)寄存器(3號(hào)寄存器);首先,移位控制信號(hào)控制4個(gè)移位寄存器的碼流數(shù)據(jù)依次向左移位,即將1號(hào)寄存器的碼流數(shù)據(jù)存入0號(hào)寄存器,2號(hào)寄存器的碼流數(shù)據(jù)存入1號(hào)寄存器,3號(hào)寄存器的碼流數(shù)據(jù)存入2號(hào)寄存器,然后從碼流緩存中讀入一個(gè)32位的數(shù)據(jù)到寄存器3,如圖2所示,最左邊為已使用數(shù)據(jù),直接移出丟棄。為了簡(jiǎn)單剔除無(wú)效比特,本發(fā)明實(shí)施例巧妙地處理了該溢出位,當(dāng)累加器21累加結(jié)果大于或等于門限值(即32位碼流數(shù)據(jù)塊中最大有效比特)時(shí),發(fā)生溢出,需要讀取下一組數(shù)據(jù),此時(shí)累加器21的當(dāng)前移位比特?cái)?shù)組為當(dāng)前累加結(jié)果減去溢出門限值后的結(jié)果。如普通全有效數(shù)據(jù),當(dāng)累積器21的和大于等于32時(shí),發(fā)生溢出,溢出后的累加器 21的累加結(jié)果作為新的當(dāng)前移位比特。對(duì)于音頻⑶14比特模式的時(shí)候,當(dāng)累加器21的和大于等于觀時(shí)就發(fā)生溢出,用當(dāng)前累加器21的累加和減去觀得到新的當(dāng)前移位比特?cái)?shù)。較佳地,作為一種可實(shí)施方式,如圖3所示,所述累加器21為一 5比特二進(jìn)制累加器(其最大值為十進(jìn)制32);其輸入為根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù),所述移位數(shù)經(jīng)過(guò)累加后傳輸給所述多路選擇器22作為選擇信號(hào),保存累加結(jié)果進(jìn)行下一輪累加數(shù);然后在下一輪接收到解壓縮裝置3指示的需要移位數(shù)時(shí),進(jìn)行所接收到的所有移位數(shù)的累加,并在當(dāng)累加結(jié)果大于或等于門限值(碼流數(shù)據(jù)塊中最大有效比特?cái)?shù))時(shí), 產(chǎn)生溢出,溢出后的累加結(jié)果作為新的需要移位數(shù)作為選擇信號(hào)傳送給多路選擇器22,保存累加結(jié)果進(jìn)行下一輪累加數(shù)。較佳地,如圖4所示,作為一種可實(shí)施試,所述多路選擇器22分為第一選擇單元 221和第二選擇單元222共2級(jí)選擇單元,其中第一選擇單元221,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式從3個(gè)移位寄存器0, 1,0號(hào)寄存器)中選出w:63]總共64比特的有效碼流數(shù)據(jù),并將64比特碼流數(shù)據(jù)W:63] 分成按從左至右的順序分成32組,每組32比特的有效碼流數(shù)據(jù),即[31:00],[32:01], [33:02],..., [63:32]共32組碼流數(shù)據(jù),其分別相當(dāng)于64比特有效碼流數(shù)據(jù)分別移位0 31位后得到的移位有效碼流數(shù)據(jù)組;第二選擇單元222,用于從第一級(jí)輸出的64比特碼流數(shù)據(jù)得到的32組,每組32比特的碼流數(shù)據(jù),即[31:00], [32:01], [33:02],..., [63 32]共32組碼流數(shù)據(jù)中,根據(jù)累加器傳送過(guò)來(lái)的移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)選擇而輸出32位有效碼流數(shù)據(jù)組到解壓縮裝置。較佳地,作為一種可實(shí)施方式,所述選擇信號(hào)中的選擇最小值為0,最大值為一個(gè)
10碼流數(shù)據(jù)中的有效比特?cái)?shù)減1,其門限值=最大值+1。如32位比特碼流數(shù)據(jù),如果沒(méi)有無(wú)效比特時(shí),為31 ;如在音頻⑶14比特模式下,一個(gè)32比特字中有28比特有效,需最大值為27,溢出門限值為最大值加1,即觀。當(dāng)碼流數(shù)據(jù)中沒(méi)有無(wú)效比特時(shí),第一選擇單元221輸出的64比特全部為有效數(shù)據(jù);輸入為寄存器O和寄存器1的各32比特?cái)?shù)據(jù);當(dāng)碼流數(shù)據(jù)中含有無(wú)效比特時(shí),需要剔除無(wú)效比特,如音頻⑶14比特模式下,每 16比特中的高2比特?cái)?shù)據(jù)無(wú)效,所以輸出為寄存器0的[13:00]和[四16]和寄存器1的 [13:00]和[29:16],加上寄存器2的[29 22],如圖5所示。第一選擇單元221根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式得到待解碼的碼流數(shù)據(jù)中一個(gè)字塊中的無(wú)效比特個(gè)數(shù),根據(jù)無(wú)效比特的長(zhǎng)度把輸入的碼流數(shù)據(jù)分組。從碼流數(shù)據(jù)的碼流模式的控制字中,通過(guò)解析可以得到待解碼的碼流數(shù)據(jù)中一個(gè)字塊中的無(wú)效比特個(gè)數(shù),其是一種現(xiàn)有技術(shù),因此,在本發(fā)明實(shí)施例中,不再一一詳細(xì)描述。本發(fā)明實(shí)施例的多路選擇器22中,在待解碼的碼流數(shù)據(jù)中,通過(guò)第一選擇單元 221把無(wú)效比特剔除,同時(shí),對(duì)剔除無(wú)效比特位后的讀入有效碼流數(shù)據(jù),從3個(gè)32比特的寄存器0號(hào)寄存器)中再選取部分位碼流數(shù)據(jù),組成64比特有效碼流數(shù)據(jù)傳送到第二選擇單元222,避免了將碼流數(shù)據(jù)中的無(wú)效比特讀入解壓縮裝置3,提高了解壓縮裝置的解碼效率。然后第二選擇單元222把輸入的64比特?cái)?shù)據(jù)按從左到右順序分成32組,相當(dāng)于64比特?cái)?shù)據(jù)分別移位0 31位后得到的每組32個(gè)連續(xù)比特的碼流數(shù)據(jù),即[31:00], [32:01], [33:02],...,[63:32]。然后根據(jù)累加器傳送過(guò)來(lái)的選擇信號(hào),選擇其中一組32 位有效碼流數(shù)據(jù)組輸出。更佳地,所述碼流解析裝置2,還包括一第二緩存器25,用于緩存32比特有效數(shù)據(jù);多路選擇器22的輸出連接所述第二緩存器25,采用一個(gè)32位的寄存器緩沖,緩解對(duì)輸出數(shù)據(jù)的使用時(shí)序壓力。本發(fā)明實(shí)施例的解碼器在解壓縮過(guò)程中,按位讀取壓縮碼流數(shù)據(jù)塊,由于每次讀取的開(kāi)始數(shù)據(jù)位不相同,而且壓縮碼流數(shù)據(jù)中還可能存在無(wú)效比特,其需要解壓縮裝置3 進(jìn)一步解析,才能得到有效的壓縮碼流數(shù)據(jù)塊,本發(fā)明實(shí)施例通過(guò)多路選擇器22,首先按碼流數(shù)據(jù)的碼流模式,從碼流數(shù)據(jù)中根據(jù)碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取64比特有效碼流數(shù)據(jù),然后按所有32種解壓縮裝置3讀取的移位后的有效碼流數(shù)據(jù),對(duì)64比特有效碼流數(shù)據(jù),按順序(從左到右或者從右到左)分成32組有效碼流數(shù)據(jù)組;當(dāng)解壓縮裝置根據(jù)碼流讀取請(qǐng)求得到讀取碼流數(shù)據(jù)后,根據(jù)碼流讀取請(qǐng)求得到碼流解析裝置的需要移位數(shù);根據(jù)需要移位數(shù),累加器21計(jì)算出所選擇的移位后的有效碼流數(shù)據(jù)組,并將選擇信號(hào)傳輸給多路選擇器22,多路選擇器22選擇移位后得到的有效碼流數(shù)據(jù)組傳輸給解壓縮裝置3,從而既能剔除有規(guī)律的無(wú)效比特(bit),又能夠作為解碼器的一部分,有效提供數(shù)據(jù)的按位讀取功能,為解碼器提供一種簡(jiǎn)單高效的碼流解析按位讀取通道,提高了解碼器解碼的效率。下面以音頻CD 14比特模式的碼流數(shù)據(jù)為例,說(shuō)明本發(fā)明實(shí)施例的解碼器及其碼流解析裝置,過(guò)程如下步驟S100,碼流解析裝置2首先從碼流緩存器M中間讀出4個(gè)32比特字的碼流數(shù)據(jù)(BITSTREAMS DATA, BSD)到串聯(lián)的移位寄存器組23,0號(hào)寄存器寄存第0個(gè)32比特字,1號(hào)寄存器寄存第1個(gè)32比特字,2號(hào)寄存器2寄存第2個(gè)32比特字,3號(hào)寄存器寄存第3個(gè)32比特字;步驟S200,累加器21清零,等待輸入;步驟S300,多路選擇器22的輸入始終根據(jù)音頻⑶14比特模式中每16比特字中有高2位為無(wú)效比特的狀態(tài),選擇0號(hào)寄存器的[13:00]和[四16]和1號(hào)寄存器的 [13:00]和[29:16],加上2號(hào)寄存器的[29:22],按照碼流順序排列為{regO[29 16], regO[1300],regl [29 16],regl [13:00],reg2[29:22]},自左向右為由高到低傳輸?shù)降诙x擇單元222,第二選擇單元222將64位有效碼流數(shù)據(jù)分成32組32位比特碼流數(shù)據(jù),相當(dāng)于將64位有效碼流數(shù)據(jù)各進(jìn)行32次移位后得到的32組數(shù)據(jù),如圖5所示。步驟S300,累加累21初始值為0,因此,32位多路選擇器22的選擇信號(hào)初始也為 0,當(dāng)前32比特有效碼流的輸出為第O組數(shù)據(jù)[31:0],即多路選擇器第二級(jí)64比特中的第 31-0比特。步驟S400,在解壓縮裝置根據(jù)碼流讀取請(qǐng)求得到讀取碼流數(shù)據(jù),根據(jù)碼流讀取請(qǐng)求得到碼流解析裝置的需要移位數(shù),如需要移位數(shù)為9,碼流解析裝置2將移位9位后的32 位有效碼流數(shù)據(jù)輸出,則累加器21產(chǎn)生一次累加動(dòng)作,累加器21的輸出為9,即送到多路選擇器22的信號(hào)為(5’b) 01001 ( 二進(jìn)制),多路選擇器22根據(jù)選擇信號(hào),從選擇多路選擇器22的第二選擇單元222的64比特碼流數(shù)據(jù)的32組32比特碼流數(shù)據(jù)中選擇第9組,即 [40:09]碼流數(shù)據(jù)組輸出到解壓縮裝置3,如圖6所示。步驟S500,在解壓縮裝置根據(jù)碼流讀取請(qǐng)求得到讀取碼流數(shù)據(jù),根據(jù)碼流讀取請(qǐng)求得到碼流解析裝置的需要移位數(shù),如移位數(shù)為27,碼流解析裝置2將移位27位后的32位有效碼流數(shù)據(jù)輸出,則累加器21的結(jié)果為9+27 > (28-1),產(chǎn)生溢出,表示從第O號(hào)寄存器的有效碼流開(kāi)始的移位碼流數(shù)據(jù)已經(jīng)不能滿足移位要求,需要導(dǎo)入3號(hào)寄存器的有效碼流數(shù)據(jù)進(jìn)行移位,因此,產(chǎn)生控制移位寄存器組23的移位控制信號(hào)和碼流緩存器M的讀使能信號(hào),使串聯(lián)(串行)的移位寄存器組23依次左移,并從碼流緩存器M中讀取一個(gè)新的32 比特字,即將1號(hào)寄存器的碼流數(shù)據(jù)移位到O號(hào)寄存器,2號(hào)寄存器的碼流數(shù)據(jù)移位到1號(hào)寄存器,3號(hào)寄存器的碼流數(shù)據(jù)移位到2號(hào)寄存器,然后從碼流緩存器M中讀入一個(gè)32比特的碼流數(shù)據(jù)到3號(hào)寄存器中;將新的0號(hào)寄存器寄存第0個(gè)32比特字,1號(hào)寄存器寄存第1個(gè)32比特字,2號(hào)寄存器2寄存第2個(gè)32比特字讀取到第一選擇單元221,然后第一選擇單元221根據(jù)音頻 ⑶14比特模式中每16比特字中有高2位為無(wú)效比特的狀態(tài),選擇寄存器0的[13:00]和 [29:16]和寄存器1的[13:00]和[29:16],加上寄存器2的[29 22],按照碼流順序排列為 IregO [29:16],reg0[13:00], regl [29:16], regl [13:00],reg2 [29 22]},自左向右為由高到低傳輸?shù)降诙x擇單元222,第二選擇單元222將64位有效碼流數(shù)據(jù)從左到右順序分成新的32組32位比特碼流數(shù)據(jù),相當(dāng)于將新的64位有效碼流數(shù)據(jù)各進(jìn)行32次移位后得到新的32組數(shù)據(jù);累加器21的累加結(jié)果后溢出結(jié)果為(27+9-28) = 8 (十進(jìn)制),將8按二進(jìn)制編碼成01000作為需移位的比特?cái)?shù)組數(shù)的選擇信號(hào)送到多路選擇器22中;選擇多路選擇器 22根據(jù)選擇信號(hào),從第二選擇單元222的64比特碼流數(shù)據(jù)的32組32比特碼流數(shù)據(jù)的第8
12組,即第[39:8]比特的數(shù)據(jù)作為當(dāng)前有效比特的輸出到解壓縮裝置3,如圖7所示。步驟S600,在解壓縮裝置根據(jù)碼流讀取請(qǐng)求得到讀取碼流數(shù)據(jù),根據(jù)碼流讀取請(qǐng)求得到碼流解析裝置的需要移位數(shù),如移位數(shù)為7,碼流解析裝置2將移位7位后的32位有效碼流數(shù)據(jù)輸出,則累加器21累加的結(jié)果為8+7 = 15 <觀-1,則不溢出,累加器21的輸出為15,送到多路選擇器22的信號(hào)為(5’ b)01111( 二進(jìn)制),多路選擇器22根據(jù)選擇信號(hào), 從選擇多路選擇器22的第二選擇單元222的64比特碼流數(shù)據(jù)的32組32比特碼流數(shù)據(jù)中選擇第15組,即[46:15]碼流數(shù)據(jù)組輸出到解壓縮裝置3。步驟S700,在解壓縮裝置根據(jù)碼流讀取請(qǐng)求得到讀取碼流數(shù)據(jù),根據(jù)碼流讀取請(qǐng)求得到碼流解析裝置的需要移位數(shù),如移位數(shù)為20,碼流解析裝置2將移位20位后的32位有效碼流數(shù)據(jù)輸出,則累加器21的結(jié)果為15+20 > (28-1),產(chǎn)生溢出,產(chǎn)生控制移位寄存器組23的移位控制信號(hào)和碼流緩存器的讀使能信號(hào),使串聯(lián)(串行)的移位寄存器組23依次左移,并從碼流緩存器M中讀取一個(gè)新的32比特碼流數(shù)據(jù),得到新的32組32位比特碼流數(shù)據(jù);累加器21的累加結(jié)果后溢出結(jié)果為Q0+15-28) = 7 (十進(jìn)制),將7按二進(jìn)制編碼成00111作為需移位的比特?cái)?shù)組數(shù)的選擇信號(hào)送到多路選擇器22中;多路選擇器22根據(jù)選擇信號(hào),從第二選擇單元222的64比特碼流數(shù)據(jù)的32組32比特碼流數(shù)據(jù)的第7組, 即第[38:07]比特的數(shù)據(jù)作為當(dāng)前有效比特的輸出到解壓縮裝置3。根據(jù)解碼器的解壓縮裝置3的請(qǐng)求,重復(fù)進(jìn)行解析移位輸出,直至碼流數(shù)據(jù)解壓縮完畢。本發(fā)明實(shí)施例的解碼器及碼流解析裝置,既能剔除有規(guī)律的無(wú)效比特(bit),又能夠作為解碼器的一部分,有效提供數(shù)據(jù)的按位讀取功能,根據(jù)解碼要求有效處理其中碼流解析部分,為解碼器提供一種簡(jiǎn)單高效的碼流讀取通道,提高了解碼器解碼的效率。最后應(yīng)當(dāng)說(shuō)明的是,很顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型。
權(quán)利要求
1.一種解碼器,包括內(nèi)存管理裝置和解壓縮裝置,其特征在于,還包括連接在所述內(nèi)存管理裝置和所述解壓縮裝置之間的一碼流解析裝置;所述碼流解析裝置包括一累加器和一多路選擇器;其中所述累加器,用于根據(jù)所述解壓縮裝置的碼流讀取請(qǐng)求,產(chǎn)生從所述多路選擇器中移位后有效碼流數(shù)據(jù)組的選擇信號(hào);并將所述選擇信號(hào)傳輸給所述多路選擇器,用于控制所述多路選擇器的有效碼流數(shù)據(jù)組選擇;所述多路選擇器,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,根據(jù)所述碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組;然后根據(jù)所述選擇信號(hào),經(jīng)過(guò)選擇而輸出移位后的一組有效碼流數(shù)據(jù)組到所述解壓縮裝置。
2.根據(jù)權(quán)利要求1所述的解碼器,其特征在于,所述碼流解析裝置,還包括移位寄存器組,用于作為從所述內(nèi)存管理裝置中輸入的碼流數(shù)據(jù)的暫存裝置;所述碼流解析裝置還包括一碼流緩存器,用于緩存從所述內(nèi)存管理裝置中讀入并等待移位寄存器組讀取的碼流數(shù)據(jù);所述累加器,還用于對(duì)根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù)進(jìn)行累力口,當(dāng)累加結(jié)果大于或等于門限值而溢出時(shí),產(chǎn)生移位寄存器組的移位控制信號(hào)和從碼流緩存器中讀取數(shù)據(jù)的讀使能信號(hào);并將移位控制信號(hào)傳輸給移位寄存器組,用于控制移位寄存器組的移位;將讀使能信號(hào)傳輸給碼流緩存器,用于控制從碼流緩存器讀取碼流數(shù)據(jù)到移位寄存器組;所述多路選擇器,還用于當(dāng)累加結(jié)果大于或等于門限值而溢出,移位寄存器組的移位后,根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,重新從所述移位寄存器組中根據(jù)碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取新的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組,然后根據(jù)累加器傳送過(guò)來(lái)的新的選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)再次選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到解壓縮裝置。
3.根據(jù)權(quán)利要求2所述的解碼器,其特征在于,所述移位寄存器組由4個(gè)32位的移位寄存器串聯(lián)而成,用于作為從內(nèi)存管理裝置中輸入的碼流數(shù)據(jù)的4級(jí)暫存裝置;所述4個(gè)移位寄存器以先進(jìn)先出方式串聯(lián),首一個(gè)移位寄存器連接到內(nèi)存管理裝置中,其余三個(gè)移位寄存器連接到多路選擇器;其中三個(gè)移位寄存器,用于暫存需要送入所述多路選擇器的碼流數(shù)據(jù);另外一個(gè)移位寄存器,用于預(yù)取需要送入另外三個(gè)移位寄存器的碼流數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的解碼器,其特征在于,所述碼流緩存器由兩塊SRAM組成,乒乓使用。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的解碼器,其特征在于,所述碼流模式是以32比特?cái)?shù)據(jù)為字塊進(jìn)行傳輸?shù)囊粢曨l碼流數(shù)據(jù)的碼流模式;所述多位有效碼流數(shù)據(jù)是64位有效碼流數(shù)據(jù);所述多組有效碼流數(shù)據(jù)組是32組有效碼流數(shù)據(jù)組;所述32組有效碼流數(shù)據(jù)組, 每組數(shù)據(jù)組共包括32比特位有效碼流數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的解碼器,其特征在于,所述碼流模式為音頻CD14比特模式。
7.根據(jù)權(quán)利要求5所述的解碼器,其特征在于,所述門限值為32位碼流數(shù)據(jù)塊中最大有效比特?cái)?shù)。
8.根據(jù)權(quán)利要求5所述的解碼器,其特征在于,所述累加器為一5比特二進(jìn)制累加器;其輸入為根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù),所述移位數(shù)經(jīng)過(guò)累加后傳輸給所述多路選擇器作為選擇信號(hào),保存累加結(jié)果進(jìn)行下一輪累加數(shù);然后在下一輪接收到新的需要移位數(shù)時(shí),進(jìn)行所接收到的所有移位數(shù)的累加,并在當(dāng)累加結(jié)果大于或等于門限值時(shí),產(chǎn)生溢出,溢出后的累加結(jié)果作為新的需要移位數(shù)作為選擇信號(hào)傳送給所述多路選擇器,保存累加結(jié)果進(jìn)行下一輪累加數(shù)。
9.根據(jù)權(quán)利要求5所述的解碼器,其特征在于,所述多路選擇器分為第一選擇單元和第二選擇單元共2級(jí)選擇單元,其中第一選擇單元,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式從所述移位寄存器組的3個(gè)移位寄存器中選出W:63]總共64比特的有效碼流數(shù)據(jù),并將64比特碼流數(shù)據(jù)W:63] 分成按從左至右的順序分成32組,每組32比特的有效碼流數(shù)據(jù),即[31:00],[32:01], [33:02],..., [63:32]共32組碼流數(shù)據(jù),其分別相當(dāng)于64比特有效碼流數(shù)據(jù)分別移位0 31位后得到的移位有效碼流數(shù)據(jù)組;第二選擇單元,用于從第一級(jí)輸出的64比特碼流數(shù)據(jù)得到的32組,每組32比特的碼流數(shù)據(jù),即[31:00], [32:01], [33:02],..., [63 32]共32組碼流數(shù)據(jù)中,根據(jù)所述累加器傳送過(guò)來(lái)的移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)選擇而輸出32位有效碼流數(shù)據(jù)組到解壓縮裝置。
10.根據(jù)權(quán)利要求9所述的解碼器,其特征在于,所述選擇信號(hào)中的選擇最小值為0,最大值為一個(gè)碼流數(shù)據(jù)中的有效比特?cái)?shù)減1 ;門限值為最大值加1。
11.根據(jù)權(quán)利要求5所述的解碼器,其特征在于,所述碼流解析裝置,還包括一第二緩存器,用于緩存32比特有效數(shù)據(jù);所述多路選擇器的輸出連接到所述第二緩存器。
12.—種解碼器的碼流解析裝置,連接在解碼器的內(nèi)存管理裝置和解壓縮裝置之間,其特征在于,包括一累加器和一多路選擇器;其中所述累加器,用于根據(jù)所述解壓縮裝置的碼流讀取請(qǐng)求,產(chǎn)生從所述多路選擇器中移位后有效碼流數(shù)據(jù)組的選擇信號(hào);并將所述選擇信號(hào)傳輸給所述多路選擇器,用于控制所述多路選擇器的有效碼流數(shù)據(jù)組選擇;所述多路選擇器,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,根據(jù)所述碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組;然后根據(jù)所述選擇信號(hào),經(jīng)過(guò)選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到所述解壓縮裝置。
13.根據(jù)權(quán)利要求12所述的碼流解析裝置,其特征在于,還包括移位寄存器組,用于作為從所述內(nèi)存管理裝置中輸入的碼流數(shù)據(jù)的暫存裝置;所述解析裝置還包括一碼流緩存器,用于緩存從所述內(nèi)存管理裝置中讀入并等待移位寄存器組讀取的碼流數(shù)據(jù);所述累加器,還用于對(duì)根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù)進(jìn)行累力口,當(dāng)累加結(jié)果大于或等于門限值而溢出時(shí),產(chǎn)生移位寄存器組的移位控制信號(hào)和從碼流緩存器中讀取數(shù)據(jù)的讀使能信號(hào);并將移位控制信號(hào)傳輸給移位寄存器組,用于控制移位寄存器組的移位;將讀使能信號(hào)傳輸給碼流緩存器,用于控制從碼流緩存器讀取碼流數(shù)據(jù)到移位寄存器組;所述多路選擇器,還用于當(dāng)累加結(jié)果大于或等于門限值而溢出,移位寄存器組的移位后,根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,重新從所述移位寄存器組中根據(jù)碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取新的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組,然后根據(jù)累加器傳送過(guò)來(lái)的新的選擇移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)再次選擇而輸出一組移位后的有效碼流數(shù)據(jù)組到解壓縮裝置。
14.根據(jù)權(quán)利要求13所述的碼流解析裝置,其特征在于,所述移位寄存器組由4個(gè)32 位的移位寄存器串聯(lián)而成,用于作為從內(nèi)存管理裝置中輸入的碼流數(shù)據(jù)的4級(jí)暫存裝置;所述4個(gè)移位寄存器以先進(jìn)先出方式串聯(lián),首一個(gè)移位寄存器連接到內(nèi)存管理裝置中,其余三個(gè)移位寄存器連接到多路選擇器;其中三個(gè)移位寄存器,用于暫存需要送入所述多路選擇器的碼流數(shù)據(jù);另外一個(gè)移位寄存器,用于預(yù)取需要送入另外三個(gè)移位寄存器的碼流數(shù)據(jù)。
15.根據(jù)權(quán)利要求12至14任一項(xiàng)所述的碼流解析裝置,其特征在于,所述碼流模式是以32比特?cái)?shù)據(jù)為字塊進(jìn)行傳輸?shù)囊粢曨l碼流數(shù)據(jù)的碼流模式;所述多位有效碼流數(shù)據(jù)是 64位有效碼流數(shù)據(jù);所述多組有效碼流數(shù)據(jù)組是32組有效碼流數(shù)據(jù)組;所述32組有效碼流數(shù)據(jù)組,每組數(shù)據(jù)組共包括32比特位有效碼流數(shù)據(jù)。
16.根據(jù)權(quán)利要求15所述的碼流解析裝置,其特征在于,所述碼流模式為音頻CD14比特模式。
17.根據(jù)權(quán)利要求15所述的碼流解析裝置,其特征在于,所述累加器為一5比特二進(jìn)制累加器;其輸入為根據(jù)所述解壓縮裝置碼流讀取請(qǐng)求得到的需要移位數(shù),所述移位數(shù)經(jīng)過(guò)累加后傳輸給所述多路選擇器作為選擇信號(hào),保存累加結(jié)果進(jìn)行下一輪累加數(shù);然后在下一輪接收到新的需要移位數(shù)時(shí),進(jìn)行所接收到的所有移位數(shù)的累加,并在當(dāng)累加結(jié)果大于或等于門限值時(shí),產(chǎn)生溢出,溢出后的累加結(jié)果作為新的需要移位數(shù)作為選擇信號(hào)傳送給所述多路選擇器,保存累加結(jié)果進(jìn)行下一輪累加數(shù)。
18.根據(jù)權(quán)利要求15所述的碼流解析裝置,其特征在于,所述多路選擇器分為第一選擇單元和第二選擇單元共2級(jí)選擇單元,其中第一選擇單元,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式從所述移位寄存器組的3個(gè)移位寄存器中選出W:63]總共64比特的有效碼流數(shù)據(jù),并將64比特碼流數(shù)據(jù)W:63] 分成按從左至右的順序分成32組,每組32比特的有效碼流數(shù)據(jù),即[31:00],[32:01], [33:02],..., [63:32]共32組碼流數(shù)據(jù),其分別相當(dāng)于64比特有效碼流數(shù)據(jù)分別移位0 31位后得到的移位有效碼流數(shù)據(jù)組;第二選擇單元,用于從第一級(jí)輸出的64比特碼流數(shù)據(jù)得到的32組,每組32比特的碼流數(shù)據(jù),即[31:00], [32:01], [33:02],..., [63 32]共32組碼流數(shù)據(jù)中,根據(jù)所述累加器傳送過(guò)來(lái)的移位后有效碼流數(shù)據(jù)組的選擇信號(hào),經(jīng)過(guò)選擇而輸出32位有效碼流數(shù)據(jù)組到解壓縮裝置。
19.根據(jù)權(quán)利要求15所述的碼流解析裝置,其特征在于,還包括一第二緩存器,用于緩存32比特有效數(shù)據(jù);所述多路選擇器的輸出連接到所述第二緩存器。
全文摘要
本發(fā)明公開(kāi)一種解碼器及碼流解析裝置。該解碼器包括內(nèi)存管理裝置和解壓縮裝置,和連接在內(nèi)存管理裝置和解壓縮裝置之間的一碼流解析裝置;所述碼流解析裝置包括一累加器和一多路選擇器;所述累加器,用于根據(jù)所述解壓縮裝置的碼流讀取請(qǐng)求,產(chǎn)生從所述多路選擇器中移位后有效碼流數(shù)據(jù)組的選擇信號(hào);并將所述選擇信號(hào)傳輸給所述多路選擇器,用于控制所述多路選擇器的有效碼流數(shù)據(jù)組選擇;所述多路選擇器,用于根據(jù)待解碼的碼流數(shù)據(jù)的碼流模式,根據(jù)所述碼流數(shù)據(jù)中無(wú)效比特?cái)?shù)目而選取的多位有效碼流數(shù)據(jù)并進(jìn)行移位重組得到多組有效碼流數(shù)據(jù)組;然后根據(jù)所述選擇信號(hào),經(jīng)過(guò)選擇而輸出移位后的一組有效碼流數(shù)據(jù)組到所述解壓縮裝置。其提供簡(jiǎn)單高效的碼流讀取通道。
文檔編號(hào)H04N7/30GK102469307SQ20101054170
公開(kāi)日2012年5月23日 申請(qǐng)日期2010年11月12日 優(yōu)先權(quán)日2010年11月12日
發(fā)明者嚴(yán)智, 鄒建發(fā) 申請(qǐng)人:珠海全志科技股份有限公司