專利名稱:可變長碼解碼裝置的制作方法
技術領域:
本發(fā)明涉及按照MPEG標準的圖象壓縮比特流的可變長碼解碼裝置。
背景技術:
為了識別畫面等信息的開始位置或包含在后面的比特流內的數據的種類,把具有特定的比特碼形的固定長代碼(后稱起始碼)插入在按照MPEG標準(省略了記載在藤原洋監(jiān)修「最新MPEG教科書」(ASKII)、三木弼一編著「MPEG-4大全」(工業(yè)調查會)等內的詳細說明)的圖象壓縮比特流中。在解碼被壓縮過的圖象信息時,檢測出該起始碼,并根據接在其后的信息(后稱起始碼·數值)進行解碼處理。如圖7(a)所示,起始碼的構成是23個"0"和1個"1"總計24比特上附加8比特起始碼·數值。以MPEG4(Moving Picture Experts Group 4)為例,正在標準化的起始碼有如圖7(b)那樣的碼形。
為了能夠明確地與其他數據相區(qū)別,起始碼采取下面的措施,即采用在其他數據中難以出現的比特碼形。另外,在圖象信息的編碼處理的過程中,通過碼語的組合有可能成為與起始碼相同的比特碼形,但是為了避免因此而引起的仿形,在編碼器中在有可能仿形的碼語中插入1比特的比特串。如圖6所示,起始碼、同步標識符等同步語被配置得各同步語開頭間的距離為8的正整數倍。
在進行上述那樣的同步語的檢出的情況下,原來的檢碼裝置用1比特/循環(huán)或8比特/循環(huán)的移位寄存器對例如從移位寄存器的開頭的32比特的比特串檢查某比特長的比特流是否與同步語的碼形一致。
比特流內的圖象壓縮信息(固定長碼、可變長碼)與同步語中有時會因為通信狀態(tài)的惡化引起的傳送差錯而產生重疊。
作為例子用附圖來說明在可變長碼與同步語內產生有重疊的狀態(tài),首先,圖4(a)表示未產生重疊的正常比特流??勺冮L碼500的后面接續(xù)著32比特的同步語501。另一方面,圖4(b)表示產生有重疊的比特流。從可變長碼510的最下位3比特數據與后續(xù)的32比特同步語511的最上位3比特相重疊。檢測出圖4(b)所示的狀況進而檢測出接續(xù)可變長碼的同步語關系到圖象解碼處理的效率提高和抑制解碼圖象的圖象品質的劣化。
但是,在比特流內的圖象壓縮信息(固定長碼、可變長碼)與同步語中產生有重疊的情況下,用上述原來的同步語檢測裝置有可能檢側不出來同步語。另外,即使能夠檢測出來同步語,也檢測不出來圖象壓縮信息與同步語相重疊的狀態(tài)。
因為同步語是表示后面的圖象解碼處理的重要信息,所以,同步語的未檢出或誤檢出對后面的圖象解碼處理產生影響的可能性很大,而且成為圖象解碼處理的效率降低和解碼后的圖象品質劣化的主要原因。因為不能夠檢測出所謂可變長碼與同步語重疊的差錯,所以,本來在檢出差錯之后應該立即中斷圖象解碼處理的地方照樣繼續(xù)進行處理,從而也可能生成錯誤的解碼圖象,并使輸出圖象的品質劣化。
另外,由于在原來的同步語檢測裝置中,一面廢棄數據,一面進行同步語的檢索,并繼續(xù)進行上述的處理,直到檢測出同步語為止,所以,不可能確認最鄰近的字節(jié)對點處是否存在同步語。
技術內容為了消除上述的問題,本發(fā)明的目的在于提供一種可變長碼解碼裝置,該裝置在圖象壓縮信息與同步語中產生有重疊的情況下,能夠進行同步語的檢出和進行圖象壓縮信息與同步語重疊那樣的差錯的檢出,另外還能夠有效地確認最鄰近的字節(jié)對正點處同步語的存在。
為了解決上述的課題,按照本發(fā)明的第1方面的可變長碼解碼裝置,其特征在于設置有存儲來自外部裝置的圖象壓縮信息的比特流的寄存器;按每1個機器循環(huán)n字節(jié)單位把信號向上位方向移位的第一移位寄存器;在從上述第一移位寄存器的最下位開始的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間并從上述第一移位寄存器的空閑區(qū)間的上位側按順序存儲上述第一移位寄存器的信號的第一選擇器;按每1個機器循環(huán)任意比特數單位把信號向上位方向移位的第二移位寄存器;在從上述第二移位寄存器的最下位開始的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間并從上述第二移位寄存器的空閑區(qū)間的上位側按順序存儲上述第一移位寄存器的信號的第二選擇器;在上述第二移位寄存器內選擇連續(xù)的規(guī)定比特數的信號的第三選擇器;可變長碼解碼器,在上述第三選擇器選擇的信號是可變長碼并可解碼的情況下,進行解碼處理,同時輸出表示可變長碼的碼長的碼長信息;第四選擇器,在上述可變長碼解碼器正在進行可變長碼的解碼處理期間,從上述第一移位寄存器選擇輸出連續(xù)的規(guī)定比特數的信號,并在結束上述解碼處理時輸出由上述第三選擇器輸入的信號;具有把由上述第四選擇器選擇的上述第一移位寄存器的信號與特定比特碼形進行比較并進行一致檢測的第一檢碼器和把由上述第四選擇器選擇的上述第二移位寄存器的信號與特定比特碼形進行比較并進行一致檢測的第二檢碼器的同步語檢測器;特定比特碼形位置信息管理器,在由上述第一檢碼器檢測出上述第一移位寄存器中的特定比特碼形的信號,并且該特定比特碼的最上位比特的信號移動到上述第二移位寄存器內的情況下,在該時刻設定上述第二移位寄存器內的特定比特碼形的開頭比特位置信息,在上述第二移位寄存器內發(fā)生了移位處理的情況下,根據移位量來更新前述開頭比特位置信息;重疊檢測器,從來自上述可變長碼解碼器的可變碼長的碼長信息和來自上述特定比特碼形位置信息管理器的特定比特碼形的開頭比特位置信息判定上述第二移位寄存器內是否發(fā)生有可變長碼與特定比特碼形的重疊,在檢出重疊時輸出重疊通知信號。
這樣,就能夠進行高精度的重疊檢測,并能夠提高圖象壓縮信息的解碼圖象的品質。
按照本發(fā)明的第2方面的可變長碼解碼裝置的特征在于在第1方面記載的可變長碼解碼裝置中,上述特定比特碼形位置信息管理器設置有存儲上述第二移位寄存器內的多個特定比特碼形的各開頭比特位置信息的多個存儲器;上述重疊檢測器使用上述多個存儲器內存儲的多個開頭位置信息中最接近上述第二移位寄存器的最上位的開頭位置信息或全部開頭位置信息來判定上述第二移位寄存器中是否發(fā)生有可變長碼與特定比特碼形的重疊。
這樣,即使在第二移位寄存器中存在兩個同步語的開頭比特,也能夠檢測出雙方同步語與可變長碼的重疊。
按照本發(fā)明的第3方面的可變長碼解碼裝置的特征在于在第2方面記載的可變長碼解碼裝置中,上述第二移位寄存器內不存在特定比特碼形的開頭的情況下,上述特定比特碼形位置信息管理器把上述多個存儲器的開頭比特位置信息初始化,并且當上述第一檢碼器檢測出特定比特碼形的信號時,從上述多個存儲器中選擇開頭比特位置信息是初始值的存儲器,并設定上述開頭比特位置信息。
這樣,在檢測出了同步語時,就能夠回避與已經存儲在某個存儲器內的開頭比特位置信息的重疊。
按照本發(fā)明的第4方面的可變長碼解碼裝置的特征在于在第1方面至第3方面任一項記載的可變長碼解碼裝置中,在對上述第三選擇器選擇出的可變長碼信號進行解碼時,在可變長碼一覽表內不存在相應的代碼的情況下,上述可變長碼解碼器把一覽表內的可變長碼的最大碼長輸出到前述重疊檢測器。
這樣,即使在可變長碼的解碼處理中發(fā)生了差錯的情況下,也能夠檢出同步語與可變長碼的重疊,從而實現高精度的重疊檢出。
按照本發(fā)明的第5方面的可變長碼解碼裝置的特征在于在第1方面至第3方面任一項記載的可變長碼解碼裝置中,在對上述第三選擇器選擇出的可變長碼信號進行解碼時,在可變長碼一覽表內不存在相應的代碼的情況下,上述可變長碼解碼器把從選擇出的可變長碼和一覽表內的可變長碼的最上位比特連續(xù)一致的比特數加1的值輸出到前述重疊檢測器。
這樣,即使在可變長碼的解碼處理中發(fā)生了差錯的情況下,也能夠避免同步語與可變長碼的重疊的誤檢,從而實現更高精度的重疊檢出。
按照本發(fā)明的第6方面的可變長碼解碼裝置的特征在于在第1方面至第5方面任一項記載的可變長碼解碼裝置中,設置有字節(jié)對正點管理器,在上述第二檢碼器檢測出了上述第二移位寄存器中的特定比特碼形的情況下,在該時刻,把比特流的字節(jié)對正點初始化,在上述第二移位寄存器中發(fā)生了移位處理的情況下,字節(jié)對正點管理器根據移位量來更新字節(jié)對正點。
這樣,在下一個同步語檢索時第二移位寄存器使數據移位,以便使字節(jié)對正點成為最上位,從而能夠用第二檢碼器檢測出同步語,并能夠防止因同步語的仿形等引起的同步語的誤檢。
按照本發(fā)明的第7方面的可變長碼解碼裝置的特征在于在第1方面至第6方面任一方面記載的可變長碼解碼裝置中,設置有第二同步語檢測器,所述第二同步語檢測器根據上述字節(jié)對正點管理器的字節(jié)對正點信息,以最鄰近上述第二移位寄存器的最上位的字節(jié)對正點為基點,比較連續(xù)的規(guī)定比特數的信號與特定比特碼形,來進行一致檢出。
這樣,對于每一個字節(jié)對正點都能夠進行同步語的檢測,并能夠進行有效的同步語檢測和圖象解碼處理。
圖1是按照本發(fā)明的實施例1的可變長碼解碼裝置的構成圖。
圖2是按照本發(fā)明的實施例1的可變長碼解碼裝置的可變長碼解碼模式時的動作流程圖。
圖3(a)是原來的可變長碼表的示例圖,(b)是本發(fā)明的可變長碼表例1的示例圖,(c)是本發(fā)明的可變長碼表例2的示例圖。
圖4(a)是正常比特流的示圖,(b)是可變長碼與同步語中發(fā)生了重疊的狀態(tài)的比特流的示圖。
圖5(a)是原來的解碼差錯時的可變長碼與同步語中發(fā)生了重疊的狀態(tài)的比特流的示圖,(b)是本發(fā)明的實施例1中檢出解碼差錯時的可變長碼與同步語中發(fā)生的重疊時的動作的說明圖,(c)是本發(fā)明的實施例1中誤檢解碼差錯時的可變長碼與同步語的重疊時的動作的說明圖,(d)回避誤檢解碼差錯時的可變長碼與同步語的重疊的動作的說明圖。
圖6是比特流中字節(jié)對正了的同步語的示圖。
圖7(a)是同步語的構成圖,(b)是同步語的起始碼·數值的示例圖。
圖8是按照本發(fā)明的實施例2的可變長碼解碼裝置的部分構成圖。
圖9是按照本發(fā)明的實施例2的可變長碼解碼裝置的同步語搜索模式時的動作的流程圖。
圖10是按照本發(fā)明的實施例2的最鄰近字節(jié)對正點的同步語檢索模式時的動作的流程圖。
具體實施例方式
下面,參考
本發(fā)明的實施例。這里所示的實施例僅作為一個示例,并不限定于該實施例。
下面說明實施例1的可變長碼解碼裝置。另外本發(fā)明的可變長碼解碼裝置中有可變長碼解碼模式、同步語檢測模式、以最鄰近字節(jié)對正點為基點進行同步語檢測模式,在本實施例1中,主要說明可變長碼解碼模式。其他模式后面說明。
圖1是實施例1的可變長碼解碼裝置的結構圖。
首先,來說明進行比特流的移位處理的部分的構成和動作。
寄存器100、第一移位寄存器104以及第二移位寄存器109這類寄存器中,從最下位比特起附上順序排列的序號,就能夠明確比特位置。這些類型的寄存器的寄存器長或進行數據移位處理時的移位處理并不限定于下述的值。
寄存器100存儲來自外部裝置的圖象壓縮信息的比特流,這里,寄存器100是存儲16比特的比特流的寄存器群。
第一移位寄存器104把信號按每1個機器循環(huán)n字節(jié)單位向上位方向移位,這里,第一移位寄存器104是每1機器循環(huán)移位8比特的48比特移位寄存器。
第一選擇器102在起始于第一移位寄存器104的最下位的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間,并從第一移位寄存器104的空閑區(qū)間內的上位側開始按順序存儲第一寄存器的信號。這里,選擇第一移位寄存器104的[220]區(qū)間內的任意的連續(xù)16比特區(qū)間,并把寄存器100的[150]輸入的信號存儲在該區(qū)間內。其中,第一選擇器102選擇第一移位寄存器104的[220]區(qū)間內未存儲有效數據的連續(xù)的16比特區(qū)間中的最上位側,把數據填滿并存儲在該[220]區(qū)間內的空閑部分的上位側,相反,在[220]區(qū)間內沒有16比特的空閑部分的情況下,就不進行數據的存儲。
第二移位寄存器109按每1機器循環(huán)任意比特數單位把信號移位到上位方向。這里,第二移位寄存器109是48比特的移位寄存器。
第二選擇器106在起始于第二移位寄存器109的最下位的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間,并從所述第二移位寄存器109的空閑區(qū)間的上位側開始按順序存儲第一移位寄存器104的信號。
例如,在第二移位寄存器109的動作模式為每1機器循環(huán)移位8比特的情況下,第二選擇器106選擇第二移位寄存器109的[140]區(qū)間內的任意的連續(xù)8比特區(qū)間,并把從第一移位寄存器104的[4740]輸入的8比特信號存儲在該區(qū)間內。其中,第二選擇器106選擇第二移位寄存器109的[140]區(qū)間內未存儲有效數據的連續(xù)的8比特區(qū)間中的最上位側,把數據填滿并存儲在該[140]區(qū)間內的空閑部分的上位側,相反,在[140]區(qū)間內沒有8比特的空閑部分的情況下,就不進行數據的存儲。
在第二移位寄存器109的動作模式為每1機器循環(huán)移位1比特的情況下,第二選擇器106選擇第二移位寄存器109的
,并把從第一移位寄存器104的[4747]輸入的信號存儲在該區(qū)間內,相反,如果第二移位寄存器109的
不空閑,就不進行數據的存儲。
作為整體動作,首先,第一選擇器102把第一移位寄存器104的[220]的連續(xù)的空閑比特數與16進行比較評價,如果連續(xù)的空閑比特數大于16,就把寄存器100的16比特數據存儲在第一移位寄存器104的[220]的空閑區(qū)間內,并把第一移位寄存器104的空閑比特數加上-16進行更新。然后,從外部的存儲裝置(未示出)把16比特的新規(guī)制比特流補充到寄存器100內。
接下來,第二選擇器106把第二移位寄存器109的下位側的空閑比特數與第二移位寄存器109的1比特/8比特的移位量sft進行比較評價,如果空閑比特數大于等于sft,就把第一移位寄存器104的[4748-sft]內存儲的數據存儲到第二移位寄存器109的下位側的空閑區(qū)間內,并把第二移位寄存器109的空閑比特數加上(-sft)進行更新。然后,第一移位寄存器104把數據沿上位方向移位sft比特,再把第一移位寄存器104的空閑比特數加上sft。
這樣,本發(fā)明的可變長碼解碼裝置一面進行由外部輸入來的圖象壓縮比特流的移位處理,一面進行數據的同步語檢測和可變長碼的解碼處理。
下面來說明進行數據的同步語檢測和可變長碼的解碼處理的部分的構成和動作。
第三選擇器111在第二移位寄存器109中選擇連續(xù)的規(guī)定比特數信號,這里,選擇輸出第二移位寄存器109的[478]區(qū)間內的連續(xù)32比特數據。
在可變長碼解碼部113進行可變長碼的解碼處理期間,第四選擇器117從第一移位寄存器104選擇輸出連續(xù)的規(guī)定比特數的信號,一旦結束前述的解碼處理,就輸出從第三選擇器111輸入的信號。在這里,是選擇輸出從第一移位寄存器104的[4716]輸入的32比特數據的信號107和從第三選擇器111輸入的32比特數據的信號112的某一個。在可變長碼解碼模式下,由第四選擇器117選擇信號107,在同步語檢索模式和以最鄰近字節(jié)對正點為基點進行同步語檢測的模式下,選擇信號112。
同步語檢測部119具有第一檢碼器和第二檢碼器;第一檢碼器把由第四選擇器117選擇的第一移位寄存器104的信號與特定比特碼形進行比較,進行一致檢測;第二檢碼器把由第四選擇器117選擇的第二移位寄存器109的信號與特定比特碼形進行比較,進行一致檢測。同步語檢測部119從由第四選擇器117選擇的32比特數據進行同步語的檢測,當檢測出同步語時,輸出通知該同步語的同步語檢出信號121和表示同步語的種類的同步語種類通知信號120。
在第三選擇器111選擇出的信號是可變長碼并可解碼的情況下,可變長碼解碼部113對從第三選擇器111的輸出數據112作為可變長碼表的索引而得到的代碼進行解碼處理,并作為解碼信號125輸出,同時,輸出表示可變長碼的碼長的碼長信息即碼長通知信號114。在可變長碼表中不存在對應于從第三選擇器111接收到的信號112的代碼情況下,可變長碼解碼部113也可以把表示解碼差錯的信號或進一步用來使可變長碼解碼裝置本體停止的控制信號輸出到控制本裝置的CPU(未示出)。
在第一檢碼器檢測出第一移位寄存器中的特定比特碼形的信號,并且該特定比特碼的最上位比特的信號移動到第二移位寄存器109內的情況下,在該時刻,同步語位置管理部122設定第二移位寄存器109內的特定比特碼形的開頭比特位置信息,如果在第二移位寄存器內發(fā)生了移位處理,就根據移位量更新所述開頭比特位置信息。這里,同步語位置管理部122管理存在于第二移位寄存器109內的同步語的開頭比特位置,并輸出表示同步語的開頭比特位置信息的同步語開頭位置通知信號124。同步語位置管理部122接受由同步語檢測部119輸出的同步語檢出信號121,并確認在第一移位寄存器104內檢測出了同步語,然后按照把存在于第一移位寄存器104內的同步語的開頭移動到第二移位寄存器109的定時來設定表示第二移位寄存器109內的同步語的開頭比特位置的同步語開頭指針。這時,同步語位置管理部122設定第二移位寄存器109的空閑比特數作為同步語開頭指針。同步語位置管理部122還具備在第二移位寄存器109進行移位處理時在同步語開頭指針上加上其移位量進行的更新等反映移位量的功能。
字節(jié)對正點管理部123管理最鄰近第二移位寄存器109的最上位的字節(jié)對正點的位置信息。在實施例2說明的同步語檢索模式中,同步語檢測部119從第二移位寄存器109檢測出同步語時,此時,字節(jié)對正點管理部123具有把字節(jié)對正點初始化為0、第二移位寄存器109進行移位處理時,把該移動量加到字節(jié)對正點,把從加法結果的最下面開始的3位的結果更新為新的字節(jié)對正點等反映移位量的功能。
重疊檢測部115從來自可變長碼解碼部113的可變長碼的碼長信息和來自同步語位置管理部122的特定比特碼形的開頭比特位置信息判定第二移位寄存器109中是否沒有發(fā)生可變長碼和特定比特碼形的重疊,在檢測出重疊時把重疊通知信號116輸出。重疊的檢出也可以從來自可變長碼解碼部113的碼長通知信號114和來自同步語位置管理部122的同步語開頭位置通知信號124來判定,在檢測出發(fā)生了重疊的情況下,也可以把用來使可變長碼解碼裝置本體停止的控制信號輸出到控制本裝置的CPU(未示出)。
下面用圖2來說明本發(fā)明的實施例1中的可變長碼解碼模式的處理流程。
可變長碼解碼部113對從第三選擇器111輸入的可變長碼信號進行解碼,并取得可變長碼的碼長VLC-Length,然后輸出碼長通知信號114。(步驟200)重疊檢測部115評價存在于第二移位寄存器109內的同步語開頭指針加上VLC-Length的值(步驟201),在{(同步語開頭指針)+VLC-Length}小于等于48的情況下,就判斷為未發(fā)生可變長碼與同步語的重疊,并轉移到步驟202。在{(同步語開頭指針)+sft}大于等于48的情況下,就判斷為發(fā)生可變長碼與同步語的重疊,即判斷為可變長碼比特不足,并輸出重疊通知信號(步驟210),立刻結束處理。
在步驟202,在可變長碼表內不存在第三選擇器111輸入的可變長碼的情況下,可變長碼解碼部113輸出可變長碼解碼差錯通知信號(步驟209),在可變長解碼表內存在可變長碼的情況下,輸出對應于可變長碼的解碼信號125(步驟203)。
字節(jié)對正點管理部123把VLC-Length加在處于最鄰近第二移位寄存器109的最上位的字節(jié)對正點上,并把計算結果的最下位起的3比特作為新規(guī)制的字節(jié)對正點(步驟204)。
同步語位置管理部122判定第二移位寄存器109內是否存在同步語,或者由同步語檢測部119檢測出第一移位寄存器104中的同步語后,判定是否接收到了同步語檢出信號121(步驟205)。
具體地說,在步驟205,把第二移位寄存器109的同步語開頭指針與0進行比較評價,如果同步語開頭指針不是0,就判斷為第二移位寄存器109內存在同步語,并把VLC-Length加在同步語開頭指針上,由此來更新同步語開頭指針(步驟206)。另外,在步驟205,如果同步語檢測部119從第一移位寄存器104檢測出同步語,并從同步語檢測部119接收到了同步語檢測信號121,就設定第二移位寄存器109的下位側的空閑比特數作為同步語開頭指針(步驟206)。
相反,如果同步語開頭指針是0,而且同步語檢測部119從第一移位寄存器104未檢測出同步語,就判斷為第二移位寄存器109內不存在同步語開頭,不更新同步語開頭指針,轉移到步驟207。
第二移位寄存器109移位可變長碼的碼長比特,并把VLC-Length加在第二移位寄存器109的空閑比特數上(步驟207)。
在步驟208,從第一移位寄存器104把新規(guī)制比特流補充到第二移位寄存器109的空閑區(qū)域內。
在48比特的第二移位寄存器109內有可能最大存在兩個32比特的同步語的開頭比特,在同步語位置管理部122內設定兩個同步語開頭指針,并管理兩個同步語開頭位置。同步語位置管理部122選擇兩個同步語開頭位置中的最接近第二移位寄存器109的最上位的同步語開頭位置的信息作為向重疊檢測部115通知的同步語開頭位置信息。
在同步語位置管理部122中設置有多個存儲器,用來存儲第二移位寄存器109中的多個特定比特碼形的各開頭比特位置信息,例如,設置存儲兩個同步語開頭位置信息的2個寄存器,重疊檢測部115用存儲在上述多個存儲器內的多個開頭比特位置信息中最接近于第二移位寄存器109的最上位的開頭位置信息或全部開頭比特位置信息來判定上述第二移位寄存器109中是否發(fā)生了可變長碼與特定比特碼形的重疊,在特定比特碼形的開頭不存在于上述第二移位寄存器內的情況下,把上述多個存儲器的開頭比特位置信息初始化,并且,每當用同步語檢測部119的第一檢碼器檢測特定比特碼形的信號時,選擇上述多個存儲器中的開頭比特位置信息是初始值的存儲器,并設定上述開頭比特位置信息,然后按從第一移位寄存器104存儲到第二移位寄存器109內的定時使同步語開頭比特反轉,這樣,就能夠防止用新的同步語開頭位置信息寫入抹除掉已經存儲在寄存器內的同步語開頭位置信息。
原來,可變長碼解碼部113從圖3(a)所示的可變長碼表取得可變長碼的碼長VLC-Length,并在可變長碼表沒有對應于從第三選擇器111輸入的信號112的要素的情況下,判斷為是差錯,并停止可變長碼解碼處理。這時,作為可變長碼的碼長VLC-Length,如圖3(a)的No.7所示,因為取得輸出0比特,所以重疊檢測部115不能檢測出可變長碼與同步語的重疊。
用圖來進行具體說明,如圖5(a)所示,雖然可變長碼600與同步語601發(fā)生重疊,但是,因為重疊的檢查區(qū)間長是0比特,所以,重疊檢測部115不能檢測出可變長碼與同步語的重疊。但是,根據情況,為了提高圖象解碼處理的效率或防止解碼圖象的品質劣化,必須確認可變長碼與同步語不重疊。
因此,即使在可變長碼處理中產生差錯而在可變長碼表內又沒有相應的要素的情況下,例如如圖3(b)所示,可變長碼表內沒有相應的要素的情況下,如果可變長碼解碼部113輸出表內要素的碼長的最大值9比特作為可變長碼的碼長VLC-Length,如圖5(b)所示,即使在可變長碼610與同步語611發(fā)生重疊的情況下,重疊的檢查區(qū)間長612就為9比特,所以,重疊檢測部115能夠檢出重疊。
但是在上述的例子中,如圖5(c)所示,可變長碼620中出了錯,而且表中沒有相應的代碼的情況下,不管后續(xù)的什么碼,同步語621都不重疊,因為可變長碼解碼部113輸出的碼長VLC-Length是9比特,所以重疊檢測部115檢出9比特區(qū)間,并判斷為發(fā)生了重疊,產生了誤檢。
因此,如圖3(c)所示,在可變長碼表內沒有相應的要素的情況下,可變長碼解碼部113輸出與被輸入的可變長碼和表內的代碼的前方部分一致的比特數加1的值作為可變長碼的碼長VLC-Length。因此,如圖5(d)所示,即使在可變長碼630中產生了差錯的情況下,同步語631與可變長碼630的重疊檢查區(qū)間632為圖3(c)的表中的No.5的代碼和可變長碼630的前方部分一致的比特數7加1比特共8比特,所以重疊檢測部115檢查該8比特區(qū)間。
像上述那樣,在本發(fā)明的實施例1的可變長碼解碼裝置中,為了檢出可變長碼與同步語的重疊,作為可變長碼解碼處理的前處理,檢出處于字節(jié)對正點上的同步語,并始終監(jiān)視同步語的開頭位置,而且,在可變長碼解碼器對由第三選擇器111所選擇的可變長碼信號進行解碼時,在可變長碼的一覽表內沒有相應的代碼的情況下,把一覽表內的可變長碼的最大碼長或所選擇的可變長碼和一覽表內的可變長碼的最上位開始連續(xù)一致的比特數加1的值輸出到重疊檢測部115,從而能夠防止由可變長碼差錯引起的可變長碼與同步語的重疊的誤檢,并能夠從可變長碼的碼長的位置關系正確地檢測出重疊,可提高圖像壓縮信息的解碼圖像品質;另外,即使可變長碼解碼時所使用的一覽表內不存在相應的代碼時,僅僅變更可變長碼表就能夠避免同步語與可變長碼的重疊的誤檢,而不受裝置規(guī)模的影響,并且能夠容易地實現高精度的重疊檢測。
在同步語位置管理部122內設置存儲兩個同步語開頭位置信息的兩個寄存器,即使第二移位寄存器109內存在2個同步語的開頭比特,也能夠檢測出雙方的同步語與可變長碼的重疊。
(實施例2)以下,來說明按照實施例2的可變長碼解碼裝置。在本實施例2中,說明原來進行的同步語檢索模式和以與第二移位寄存器的最上位最鄰近的字節(jié)對正點為基點進行同步語檢測的模式。
圖8是按照本實施例2的可變長碼解碼裝置中的同步語檢測部和可變長碼解碼部的夠策劃能夠示圖。圖中,對與圖1相同或相當的構成要素使用相同的標號,并省略其說明。
第一同步語檢測部801以第二移位寄存器109的最上位為基點進行連續(xù)32比特數據的同步語檢測。
最鄰近字節(jié)對正點的同步語檢測部802(下稱第二同步語檢測部)以最鄰近第二移位寄存器109的最上位的字節(jié)對正點為基點進行連續(xù)32比特數據的同步語檢測。
可變長碼解碼部803的構成和動作與實施例的可變長碼解碼部113相同,故省略其說明。
切換開關800根據動作模式把從第一、第二移位寄存器104、109經第三、第四選擇器111、117輸入的比特流數據750輸出到第一同步語檢測部801、第二同步語檢測部802和可變長碼解碼部803的某一個。
解碼數據存儲用存儲裝置805存儲從可變長碼解碼部803輸出的解碼數據809并作為解碼信號807輸出到去量化單元等。
檢測結果標示符存儲用存儲裝置804存儲由同步語檢測部801和第二同步語檢測部802輸出的檢測結果標示符808,并作為控制信號806輸出到差錯隱蔽處理等。檢測結果標示符包含檢錯時的差錯識別標示符。
下面來說明具有上述構成的可變長碼解碼裝置的同步語檢索模式的情況的動作。
第一同步語檢測部801進行由第二移位寄存器109經第三選擇器111、第四選擇器117輸入的32比特數據的同步語判定(步驟900)。在第一同步語檢測部801未檢出同步語的情況下,直到檢出同步語之前一直進行第二移位寄存器109的移位處理(步驟901),同時,把數據補充到第二移位寄存器109的空閑區(qū)域(步驟902)。
第一同步語檢測部801檢測到同步語的情況下,輸出同步語檢出信號121,字節(jié)對正點管理部123接受來自第一同步語檢測部801的同步語檢出信號121,并把最鄰近第二移位寄存器109的最上位比特的字節(jié)對正點初始化為0(步驟903)。同時,第一同步語檢測部801輸出通知檢出的同步語的種類的同步語種類通知信號120(步驟904)。
按照原來的同步語檢索模式,一面廢棄數據一面檢索同步語,而且直到檢出同步語之前連續(xù)進行處理,所以,不可能確認最鄰近的字節(jié)對正點存在有同步語,但是,設置第二同步語檢測部802就能夠以最鄰近第二移位寄存器109的最上位的字節(jié)對正點為基點進行同步語檢測。
以下,用圖10來說明以最鄰近字節(jié)對正點為基點進行同步語檢測模式時的可變長碼解碼裝置的動作。
字節(jié)對正點管理部123把由同步語檢索模式見到的字節(jié)對正點作為基準,然后對照第二移位寄存器109的移位處理更新字節(jié)對正點。
以最鄰近第二移位寄存器109的最上位的字節(jié)對正點為基點進行同步語檢測時,首先,第三選擇器111以處于最鄰近第二移位寄存器109的最上位的字節(jié)對正點為基點選擇連續(xù)的32比特區(qū)間的數據,并輸出信號112。第四選擇器117接受由第三選擇器111輸出的信號112,并輸出到第二同步語檢測部802。
第二同步語檢測部802進行信號112同步語檢測(步驟S1000),檢測到同步語的情況下,輸出指示同步語的種類的同步語種類通知信號120(步驟S1001),未檢測到同步語的情況下,結束檢測處理。
這樣,在檢測比特流中的同步語時,與第一同步語檢測部801一面廢棄數據一面進行同步語檢索的現有技術相比較,按照本發(fā)明,在第二移位寄存器109不進行同步語檢測的數據移位,而且第二同步語檢測部802僅僅參照一次以最鄰近第二移位寄存器109的最上位的字節(jié)對正點為基點的32比特數據,就能夠進行同步語檢測的判定。
根據同步語檢索模式時取得的字節(jié)對正點信息,第二移位寄存器109把數據進行移位,從而使字節(jié)對正點成為最上位,這樣也可以由第一同步語檢測部801進行以第二移位寄存器109的最上位為基點的32比特數據的同步語檢測,并能夠防止因同步語的仿形等引起的同步語的誤檢。
像以上那樣,在本發(fā)明的實施例2的可變長碼解碼裝置中,根據通常的同步語檢索模式時所取得的字節(jié)對正點信息,確認在最鄰近第二移位寄存器109的最上位的字節(jié)對正點上是否存在同步語,第二移位寄存器109把數據進行移位,從而使字節(jié)對正點成為最上位,而由第一同步語檢測部801檢測字節(jié)對正點上的同步語,因此,檢測每個字節(jié)對正點的同步語,從而能夠防止因同步語的仿形等引起的同步語的誤檢。
按照本發(fā)明的權利要求1記載的可變長碼解碼裝置,由于設置有存儲來自外部裝置的圖象壓縮信息的比特流的寄存器;按每1個機器循環(huán)n字節(jié)單位把信號向上位方向移位的第一移位寄存器;在從上述第一移位寄存器的最下位開始的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間并從上述第一移位寄存器的空閑區(qū)間的上位側按順序存儲上述第一移位寄存器的信號的第一選擇器;按每1個機器循環(huán)任意比特數單位把信號向上位方向移位的第二移位寄存器;在從上述第二移位寄存器的最下位開始的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間并從上述第二移位寄存器的空閑區(qū)間的上位側按順序存儲上述第一移位寄存器的信號的第二選擇器;在上述第二移位寄存器內選擇連續(xù)的規(guī)定比特數的信號的第三選擇器;可變長碼解碼器,在上述第三選擇器選擇的信號是可變長碼并可解碼的情況下,進行解碼處理,同時輸出表示可變長碼的碼長的碼長信息;第四選擇器,在上述可變長碼解碼器正在進行可變長碼的解碼處理期間,從上述第一移位寄存器選擇輸出連續(xù)的規(guī)定比特數的信號,并在結束上述解碼處理時輸出由上述第三選擇器輸入的信號;具有把由上述第四選擇器選擇的上述第一移位寄存器的信號與特定比特碼形進行比較并進行一致檢測的第一檢碼器和把由上述第四選擇器選擇的上述第二移位寄存器的信號與特定比特碼形進行比較并進行一致檢測的第二檢碼器的同步語檢測器;特定比特碼形位置信息管理器,在由上述第一檢碼器檢測出上述第一移位寄存器中的特定比特碼形的信號,并且該特定比特碼的最上位比特的信號移動到上述第二移位寄存器內的情況下,在該時刻設定上述第二移位寄存器內的特定比特碼形的開頭比特位置信息,在上述第二移位寄存器內發(fā)生了移位處理的情況下,根據移位量來更新前述開頭比特位置信息;重疊檢測器,從來自上述可變長碼解碼器的可變碼長的碼長信息和來自上述特定比特碼形位置信息管理器的特定比特碼形的開頭比特位置信息判定上述第二移位寄存器內是否發(fā)生有可變長碼與特定比特碼形的重疊,在檢出重疊時輸出重疊通知信號。所以,能夠進行高精度的重疊檢測,并能夠提高圖象壓縮信息的解碼圖象的品質。
按照本發(fā)明的權利要求2記載的可變長碼解碼裝置,由于在權利要求1記載的可變長碼解碼裝置中,上述特定比特碼形位置信息管理器設置有存儲上述第二移位寄存器內的多個特定比特碼形的各開頭比特位置信息的多個存儲器;上述重疊檢測器使用上述多個存儲器內存儲的多個開頭位置信息中最接近上述第二移位寄存器的最上位的開頭位置信息或全部開頭位置信息來判定上述第二移位寄存器中是否發(fā)生有可變長碼與特定比特碼形的重疊。所以,即使在第二移位寄存器中存在兩個同步語的開頭比特,也能夠檢測出雙方同步語與可變長碼的重疊。
按照本發(fā)明的權利要求3記載的可變長碼解碼裝置,由于在權利要求2記載的可變長碼解碼裝置中,上述第二移位寄存器內不存在特定比特碼形的開頭的情況下,上述特定比特碼形位置信息管理器把上述多個存儲器的開頭比特位置信息初始化,并且當上述第一檢碼器檢測出特定比特碼形的信號時,從上述多個存儲器中選擇開頭比特位置信息是初始值的存儲器,并設定上述開頭比特位置信息。所以,在檢測出了同步語時,能夠回避與已經存儲在某個存儲器內的開頭比特位置信息的重疊。
按照本發(fā)明的權利要求4記載的可變長碼解碼裝置,由于在權利要求1至權利要求3任一項記載的可變長碼解碼裝置中,在對上述第三選擇器選擇出的可變長碼信號進行解碼時,在可變長碼一覽表內不存在相應的代碼的情況下,上述可變長碼解碼器把一覽表內的可變長碼的最大碼長輸出到前述重疊檢測器。所以,即使在可變長碼的解碼處理中發(fā)生了差錯的情況下,也能夠檢出同步語與可變長碼的重疊,從而實現高精度的重疊檢出。
按照本發(fā)明的權利要求5記載的可變長碼解碼裝置,由于在權利要求1至權利要求3任一項記載的可變長碼解碼裝置中,在對上述第三選擇器選擇出的可變長碼信號進行解碼時,在可變長碼一覽表內不存在相應的代碼的情況下,上述可變長碼解碼器把從選擇出的可變長碼和一覽表內的可變長碼的最上位比特連續(xù)一致的比特數加1的值輸出到前述重疊檢測器。所以,即使在可變長碼的解碼處理中發(fā)生了差錯的情況下,也能夠避免同步語與可變長碼的重疊的誤檢,從而實現更高精度的重疊檢出。
按照本發(fā)明的權利要求6記載的可變長碼解碼裝置,由于在權利要求1至權利要求5任一項記載的可變長碼解碼裝置中,設置有字節(jié)對正點管理器,在上述第二檢碼器檢測出了上述第二移位寄存器中的特定比特碼形的情況下,在該時刻,把比特流的字節(jié)對正點初始化,在上述第二移位寄存器中發(fā)生了移位處理的情況下,字節(jié)對正點管理器根據移位量來更新字節(jié)對正點。所以,在下一個同步語檢索時第二移位寄存器使數據移位,以便使字節(jié)對正點成為最上位,從而能夠用第二檢碼器檢測出同步語,并能夠防止因同步語的仿形等引起的同步語的誤檢。
按照本發(fā)明的權利要求7記載的可變長碼解碼裝置的特征在于在權利要求1至權利要求6任一項記載的可變長碼解碼裝置中,設置有第二同步語檢測器,所述第二同步語檢測器根據上述字節(jié)對正點管理器的字節(jié)對正點信息,以最鄰近上述第二移位寄存器的最上位的字節(jié)對正點為基點,比較連續(xù)的規(guī)定比特數的信號與特定比特碼形,來進行一致檢出。所以,對于每一個字節(jié)對正點都能夠進行同步語的檢測,并能夠進行有效的同步語檢測和圖象解碼處理。
權利要求
1.一種可變長碼解碼裝置,其特征在于設置有存儲來自外部裝置的圖象壓縮信息的比特流的寄存器;按每1個機器循環(huán)n字節(jié)單位把信號向上位方向移位的第一移位寄存器;在從上述第一移位寄存器的最下位開始的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間并從上述第一移位寄存器的空閑區(qū)間的上位側按順序存儲上述第一移位寄存器的信號的第一選擇器;按每1個機器循環(huán)任意比特數單位把信號向上位方向移位的第二移位寄存器;在從上述第二移位寄存器的最下位開始的規(guī)定區(qū)間內選擇連續(xù)的規(guī)定比特數的空閑區(qū)間并從上述第二移位寄存器的空閑區(qū)間的上位側按順序存儲上述第一移位寄存器的信號的第二選擇器;在上述第二移位寄存器內選擇連續(xù)的規(guī)定比特數的信號的第三選擇器;可變長碼解碼器,在上述第三選擇器選擇的信號是可變長碼并可解碼的情況下,進行解碼處理,同時輸出表示可變長碼的碼長的碼長信息;第四選擇器,在上述可變長碼解碼器正在進行可變長碼的解碼處理期間,從上述第一移位寄存器選擇輸出連續(xù)的規(guī)定比特數的信號,并在結束上述解碼處理時輸出由上述第三選擇器輸入的信號;具有把由上述第四選擇器選擇的上述第一移位寄存器的信號與特定比特碼形進行比較并進行一致檢測的第一檢碼器和把由上述第四選擇器選擇的上述第二移位寄存器的信號與特定比特碼形進行比較并進行一致檢測的第二檢碼器的同步語檢測器;特定比特碼形位置信息管理器,在由上述第一檢碼器檢測出上述第一移位寄存器中的特定比特碼形的信號,并且該特定比特碼的最上位比特的信號移動到上述第二移位寄存器內的情況下,在該時刻設定上述第二移位寄存器內的特定比特碼形的開頭比特位置信息,在上述第二移位寄存器內發(fā)生了移位處理的情況下,根據移位量來更新前述開頭比特位置信息;重疊檢測器,從來自上述可變長碼解碼器的可變碼長的碼長信息和來自上述特定比特碼形位置信息管理器的特定比特碼形的開頭比特位置信息判定上述第二移位寄存器內是否發(fā)生有可變長碼與特定比特碼形的重疊,在檢出重疊時輸出重疊通知信號。
2.根據權利要求1記載的可變長碼解碼裝置,其特征在于上述特定比特碼形位置信息管理器設置有存儲上述第二移位寄存器內的多個特定比特碼形的各開頭比特位置信息的多個存儲器;上述重疊檢測器使用上述多個存儲器內存儲的多個開頭位置信息中最接近上述第二移位寄存器的最上位的開頭位置信息或全部開頭位置信息來判定上述第二移位寄存器中是否發(fā)生有可變長碼與特定比特碼形的重疊。
3.根據權利要求2記載的可變長碼解碼裝置,其特征在于上述第二移位寄存器內不存在特定比特碼形的開頭的情況下,上述特定比特碼形位置信息管理器把上述多個存儲器的開頭比特位置信息初始化,并且當上述第一檢碼器檢測出特定比特碼形的信號時,從上述多個存儲器中選擇開頭比特位置信息是初始值的存儲器,并設定上述開頭比特位置信息。
4.根據權利要求1至權利要求3任一項記載的可變長碼解碼裝置,其特征在于在對上述第三選擇器選擇出的可變長碼信號進行解碼時,在可變長碼一覽表內不存在相應的代碼的情況下,上述可變長碼解碼器把一覽表內的可變長碼的最大碼長輸出到前述重疊檢測器。
5.根據權利要求1至權利要求3任一項記載的可變長碼解碼裝置,其特征在于在對上述第三選擇器選擇出的可變長碼信號進行解碼時,在可變長碼一覽表內不存在相應的代碼的情況下,上述可變長碼解碼器把從選擇出的可變長碼和一覽表內的可變長碼的最上位比特連續(xù)一致的比特數加1的值輸出到前述重疊檢測器。
6.根據權利要求1至權利要求5任一項記載的可變長碼解碼裝置,其特征在于設置有字節(jié)對正點管理器,在上述第二檢碼器檢測出了上述第二移位寄存器中的特定比特碼形的情況下,在該時刻,把比特流的字節(jié)對正點初始化,在上述第二移位寄存器中發(fā)生了移位處理的情況下,字節(jié)對正點管理器根據移位量來更新字節(jié)對正點。
7.根據權利要求1至權利要求6任一項記載的可變長碼解碼裝置,其特征在于設置有第二同步語檢測器,所述第二同步語檢測器根據上述字節(jié)對正點管理器的字節(jié)對正點信息,以最鄰近上述第二移位寄存器的最上位的字節(jié)對正點為基點,比較連續(xù)的規(guī)定比特數的信號與特定比特碼形,來進行一致檢出。
全文摘要
本發(fā)明提供一種在圖象壓縮比特流的可變長碼解碼裝置中因傳送差錯而引起的在比特流上發(fā)生了可變長碼與同步語重疊的情況下,能夠正確地檢測發(fā)生了同步語或重疊的狀態(tài)的可變長碼解碼裝置。具有:在第一移位寄存器104中檢測比特流的同步語的同步語檢測部119、按存在于第一移位寄存器104內的同步語的開頭向第二移位寄存器109移動的定時設定同步語的開頭比特的位置并在以后進行更新的同步語位置管理部122、進行第二移位寄存器109的可變長碼的解碼處理同時取得可變長碼的碼長的可變長碼解碼部113、在第二移位寄存器109中根據可變長碼的碼長和同步語的開頭比特位置檢測同步語與可變長碼的重疊的重疊檢測部115。
文檔編號G06T9/00GK1349353SQ0114315
公開日2002年5月15日 申請日期2001年6月1日 優(yōu)先權日2000年6月1日
發(fā)明者中村剛, 橋本幸吉, 井村康治 申請人:松下電器產業(yè)株式會社