亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

多通道協(xié)同工作的多比特JBIG編解碼方法及編解碼器裝置與流程

文檔序號:12136269閱讀:1557來源:國知局
多通道協(xié)同工作的多比特JBIG編解碼方法及編解碼器裝置與流程

本發(fā)明屬于JBIG編解碼器領(lǐng)域,具體是一種多通道協(xié)同工作的多比特JBIG編解碼器。



背景技術(shù):

隨著數(shù)字信息時代的發(fā)展,人們對圖像數(shù)據(jù)的需求向高速和高分辨率方向發(fā)展,JBIG作為一種有效的二值圖像壓縮算法,廣泛應(yīng)用于打印機、傳真等行業(yè)。

在實際應(yīng)用中,JBIG編碼模塊一般對半色調(diào)處理后的圖片進行壓縮,JBIG解碼模塊一般將解壓后的圖片直接送出到打印模塊。隨著人們對分辨率需求的增加,打印模塊逐漸能夠支持1/2/4比特圖片,因此也要求JBIG編解碼模塊能夠?qū)Χ啾忍貓D片進行壓縮和解壓。ITU-T T82標準規(guī)定了JBIG算法對于多比特圖片處理,相當于把每一像素同一比特單獨取出,當作多幅1比特的二值圖片獨立處理。目前業(yè)內(nèi)廣泛運用的JBIG編解碼C代碼jbigkit-2.1則是將多比特放在不同數(shù)組中進行處理。在硬件實現(xiàn)上,1路JBIG編解碼器同樣只能處理其中的1比特。同一像素的各個比特在內(nèi)存中一般連續(xù)存儲,若要使用1路JBIG編解碼器支持多比特圖片,則會浪費大量帶寬,否則需要事先對數(shù)據(jù)進行處理,將每一比特單獨存儲,因此目前多數(shù)JBIG IP(知識產(chǎn)權(quán))只支持1比特圖片。



技術(shù)實現(xiàn)要素:

本發(fā)明的主要目的是針對多比特二值圖像的JBIG編解碼問題,提供了一種多通道協(xié)同工作的多比特JBIG編解碼裝置,包括n路JBIG編解碼器、輸入橋、輸出橋,其中n為1、2或4,輸入橋、輸出橋分別連接在JBIG編解碼器兩端,輸入橋、輸出橋另一端分別連接n路輸入DMA和輸出DMA,僅配置1路寄存器控制JBIG編解碼方式以及比特數(shù),通過橋判斷,將正確寄存器值送到各路編解碼器。

進一步的,四路編解碼通道能協(xié)同工作,每一路通道能獨立處理1bit數(shù)據(jù)的圖片,處理B(1/2/4)比特數(shù)據(jù)的圖片時,使用B路通道一起工作。

進一步的,四路編解碼通道相對獨立,某一路通道能配置成編碼模式,也能配置成解碼模式,同時其他通道也既可以配置成編碼或者解碼模式。

進一步的,內(nèi)核通過AHB總線訪問JBIG編解碼器,并讀寫寄存器。

進一步的,各路總線請求經(jīng)過仲裁器后通過AXI主機連接到DDR。

進一步的,在4比特編碼時,只有第一路輸入DMA被使能進行工作,其余三路輸入DMA處于空閑狀態(tài),橋會將轉(zhuǎn)換后的數(shù)據(jù)分別輸給各個路的編解碼器,編碼結(jié)果則寫入輸出橋,通過4路輸出DMA,接著分別寫入4塊不同的地址中;

在4比特解碼時,4路壓縮數(shù)據(jù)分別通過4個輸入DMA從內(nèi)存中讀入,直接進入4路編解碼器;解碼結(jié)果寫入輸出橋中,再將數(shù)據(jù)重新拼接成4比特圖片,通過第一路輸出DMA寫入DDR,其余輸出DMA不使能。

本發(fā)明還提供了一種多通道協(xié)同工作的多比特JBIG編解碼方法,,適合于處理1/2/4比特數(shù)據(jù)的圖片,其編解碼方法包括如下步驟:

輸入橋?qū)⒖偩€輸入的1個字圖片數(shù)據(jù)取同一比特放在一起分成n個平面分別輸出給n路JBIG編碼器進行編碼;其中n為1、2或4;

解碼時,每一路解碼器將解出來的圖片寫入輸出橋的FIFO中,當數(shù)量足夠一個突發(fā)后被輸出DMA讀出,通過總線寫入DDR存儲。

進一步的,若n=4,對于每一行圖片數(shù)據(jù),JBIG解碼器會對圖片數(shù)據(jù)進行字對齊處理,即當圖片寬度不為32的整數(shù)倍時,JBIG解碼器會將解碼后一行最后一個字的數(shù)據(jù)低位自動補0至整字輸出。

進一步的,在組合2/4比特圖片時,若出現(xiàn)多余的字,在橋輸出的時將多余的數(shù)據(jù)剔除。

進一步的,具體為:把1個字拆成4個字節(jié),分別存儲到4個8比特位寬FIFO中,通過計數(shù)器判斷當前字是否為行末字;通過圖片寬度以及為圖片的比特數(shù)判斷是否有多余全0的字,以及行末字中有幾個字節(jié)為多余數(shù)據(jù);多余字節(jié)不寫入FIFO中。

進一步的,僅配置1路寄存器,該寄存器控制JBIG編解碼方式以及比特數(shù),通過橋判斷,將正確寄存器值送到各路編解碼器。

本發(fā)明使用了4路JBIG編解碼器,并使用輸入和輸出橋?qū)?shù)據(jù)進行拆分和組合,通過寄存器配置控制每一路功能,不需要改變原有單路JBIG編解碼器,僅需要在外部加上輸入輸出橋等模塊即可實現(xiàn)數(shù)據(jù)上1比特到多比特的擴展。

附圖說明

圖1是4比特圖片編碼數(shù)據(jù)拆分示意圖;

圖2是JBIG解碼對圖片數(shù)據(jù)進行字對齊示意圖;

圖3是4比特圖片組合示意圖;

圖4是FIFO對應(yīng)關(guān)系判斷流程圖;

圖5是模式寄存器配置示意圖;

圖6是完整的支持1/2/4比特圖片的JBIG編解碼架構(gòu)圖。

具體實施方式

下面結(jié)合附圖對本發(fā)明作進一步說明。

如圖1所示,現(xiàn)以4比特圖片編碼為例,說明輸入橋如何將數(shù)據(jù)進行拆分(解碼與此類似,只需將步驟反過來即可):輸入橋?qū)⒖偩€過來的1個字數(shù)據(jù)取同一比特放在一起分成4個平面分別輸出給4路JBIG編碼器。

解碼過程中,每一路解碼器將解出來的圖片寫入輸出橋的FIFO中,當數(shù)量足夠一個突發(fā)后會被輸出DMA讀出,通過總線寫入DDR存儲。如圖2所示,對于每一行圖片數(shù)據(jù),JBIG解碼器會對圖片數(shù)據(jù)進行字對齊處理,即當圖片寬度不為32的整數(shù)倍時,JBIG解碼器會將解碼后一行最后一個字的數(shù)據(jù)低位自動補0至整字輸出。因此在組合2/4比特圖片時,有可能出現(xiàn)多余的字,例如對于2比特圖片,寬度除32后余數(shù)小于16的情況下,在組合后的數(shù)據(jù)則會出現(xiàn)1個多余的全0字(該字由分別來自兩幅圖片用于補齊的低16位全0數(shù)據(jù)組成)。4比特圖片則可能出現(xiàn)1/2/3個字的多余數(shù)據(jù)。在橋輸出的時候需要將多余的數(shù)據(jù)剔除。如圖3所示為4比特圖片出現(xiàn)2個字的多余數(shù)據(jù)情形,處理方法為把1個字拆成4個字節(jié),分別存儲到4個8比特位寬FIFO中,通過計數(shù)器判斷當前字是否為行末字。通過圖片寬度以及為圖片的比特數(shù)判斷是否有多余全0的字,以及行末字中有幾個字節(jié)為多余數(shù)據(jù)。多余字節(jié)不寫入FIFO中。經(jīng)過該操作后JBIG解碼器輸出的1個字到輸出橋中的4個字節(jié)的FIFO的對應(yīng)關(guān)系可能發(fā)生變化,即原本JBIG解碼器輸出1個字中的[31:24]位寫入輸出橋的第一個8比特FIFO中,下一行可能寫入第二個8比特FIFO中。FIFO對應(yīng)關(guān)系判斷流程如圖4所示。

此外,為了配置方便,同時避免誤配,多比特的JBIG編解碼僅需配置1路寄存器即可。例如對于4比特圖片進行編解碼,只需配置第1路的模式寄存器,該寄存器包括JBIG如何進行編解碼(例如典型預(yù)測、2/3行模板等)以及比特數(shù)。通過橋判斷,將正確寄存器值送到各路編解碼器。

如圖5所示,若要編解碼4比特圖片,則會使用第1,2,3,4路編解碼器,將第1路配置成4bit模式,接著只需配置第1路的模式寄存器即可。若編解碼2比特圖片則使用第1,2路或者第3,4路,使用第1,2路時,先將第1路配置成2bit模式,接著配置第1路的模式寄存器。剩下的3,4路可以自由使用成1個2比特編解碼器或者2個1比特編解碼器。使用第3,4路是,先將第3路配制成2bit模式,接著配置第3路的模式寄存器,剩下的1,2路也可以自由使用。

對于每一路編解碼器,均有對應(yīng)的模式寄存器,硬件需要根據(jù)對應(yīng)的模式采用不同的方式對圖片進行編碼或者解碼,且編解碼配置必須一致。在多路工作的時候,硬件要求軟件先配置圖片為幾比特,再配置模式寄存器,此時硬件會根據(jù)圖片比特數(shù),將總線配置的模式值分別寫入多路的寄存器中。保證多比特情況下,每一路的編解碼配置均一致,同時解簡化了軟件配置多次的操作。

此外在編碼模式下,需要配置多個目的地址,因為此時每一路編碼器把1張多比特圖片當作獨立多張單比特進行操作,多比特的編碼結(jié)果需要寫入到多塊地址中獨立存放。同理多比特解碼時需要配置多個源地址。各路編解碼器讀取各自路的寄存器值。

此外,在結(jié)束中斷上也需要進行一定的處理。由于多路情況下,雖然編解碼器的處理速度均為1比特每周期,但是當打開典型預(yù)測功能并且遇到典型行時(當前行數(shù)據(jù)和上一行數(shù)據(jù)相同),則不需要對當前行點進行編碼或者解碼,僅需要復(fù)制上一行數(shù)據(jù),速度大大加快。由此造成了多路圖片的編解碼速度不同步,結(jié)束也有先后。在編碼時,即要求各路在編完本路的圖片后,拉低該路的使能信號,當所有路都編碼結(jié)束后,才給出結(jié)束中斷。若出現(xiàn)錯誤中斷則與是否為多比特圖片無關(guān),直接輸出到內(nèi)核。

如圖6所示,該圖為一個完整的支持1/2/4比特圖片的JBIG編解碼架構(gòu)圖,包括寄存器以及DMA等模塊。將輸入輸出橋接在JBIG編解碼器外層,完成信號以及數(shù)據(jù)轉(zhuǎn)換,即可支持多比特圖片。內(nèi)核可以通過AHB總線訪問JBIG編解碼子系統(tǒng),讀寫寄存器。每一路編解碼器通過輸入DMA和輸出DMA向外請求讀入或者寫出數(shù)據(jù)。各路總線請求經(jīng)過仲裁器后通過1個AXI主機連接到DDR。

在4比特編碼時,將1副4比特圖像通過橋轉(zhuǎn)變?yōu)?副1比特的圖像。因此只有第一路輸入DMA被使能進行工作,其余三路輸入DMA處于空閑狀態(tài),橋會將轉(zhuǎn)換后的數(shù)據(jù)分別輸給各個路的編解碼器。編碼結(jié)果則寫入輸出橋,通過4路輸出DMA,接著分別寫入4塊不同的地址中。

在4比特解碼時,4路壓縮數(shù)據(jù)分別通過4個輸入DMA從內(nèi)存中讀入,直接進入4路編解碼器。解碼結(jié)果寫入輸出橋中,輸入橋會確保每路解碼結(jié)果都已經(jīng)寫入內(nèi)部FIFO中,再將數(shù)據(jù)重新拼接成4比特圖片,通過第一路輸出DMA寫入DDR,其余輸出DMA不使能。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1