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

可變長(zhǎng)度譯碼裝置及譯碼方法

文檔序號(hào):7533975閱讀:217來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):可變長(zhǎng)度譯碼裝置及譯碼方法
技術(shù)領(lǐng)域
本發(fā)明涉及對(duì)例如動(dòng)圖象信號(hào)等由在壓縮編碼中采用的可變長(zhǎng)碼構(gòu)成的編碼數(shù)據(jù)進(jìn)行譯碼的可變長(zhǎng)度譯碼裝置及譯碼方法。
背景技術(shù)
可變長(zhǎng)碼,是根據(jù)符號(hào)的發(fā)生頻度分別對(duì)頻繁出現(xiàn)的符號(hào)分配代碼長(zhǎng)度短的代碼、而對(duì)只是很少出現(xiàn)的符號(hào)分配代碼長(zhǎng)度長(zhǎng)的代碼從而平均地生成代碼長(zhǎng)度短的代碼的代碼序列。因此,當(dāng)采用可變長(zhǎng)碼時(shí),與編碼前的數(shù)據(jù)相比,可以大幅度地壓縮數(shù)據(jù)量。由于上述原因,可變長(zhǎng)碼作為用于信息壓縮的代碼獲得廣泛應(yīng)用。
對(duì)于動(dòng)圖象編碼方式,也在MPEG1、MPEG2、H.261、H.263等一般的標(biāo)準(zhǔn)方式中采用著可變長(zhǎng)碼。
作為可變長(zhǎng)碼的一般問(wèn)題,可以舉出這樣一點(diǎn),即當(dāng)因傳輸線(xiàn)路差錯(cuò)或其他原因而在編碼數(shù)據(jù)中混入了差錯(cuò)時(shí),由于其影響的傳播,將使譯碼裝置不能對(duì)混入了差錯(cuò)的以后的數(shù)據(jù)進(jìn)行正確的譯碼。為避免這種問(wèn)題,一般采用當(dāng)在傳輸線(xiàn)路中有可能發(fā)生差錯(cuò)時(shí)在數(shù)據(jù)中按一定間隔插入同步碼借以防止差錯(cuò)傳播的方法。對(duì)同步碼分配在可變長(zhǎng)碼的組合中不出現(xiàn)的位模式。按照這種方法,即使在編碼數(shù)據(jù)中發(fā)生差錯(cuò)因而已不能譯碼,也可以找到下一個(gè)同步碼并從該處重新開(kāi)始譯碼,所以能防止差錯(cuò)的傳播,并可以繼續(xù)進(jìn)行譯碼。
但是,即使采用了同步碼,對(duì)從發(fā)生差錯(cuò)而不能正確譯碼的位置起到發(fā)現(xiàn)下一個(gè)同步碼的位置之間的編碼數(shù)據(jù),也仍然不能進(jìn)行譯碼。
因此,在本申請(qǐng)人的專(zhuān)利申請(qǐng)(特愿平7-260383號(hào)及特愿平9-81614號(hào))中提出了一種可變長(zhǎng)度編碼/譯碼裝置,采用可在正向和反向兩個(gè)方向上譯碼的可變長(zhǎng)碼從下一個(gè)同步碼起進(jìn)行反向譯碼,從而減少不能譯碼的部分。
但是,即使在采用了這種可變長(zhǎng)度編碼/譯碼裝置的情況下,可以檢出編碼數(shù)據(jù)差錯(cuò)的條件也是出現(xiàn)了不是作為可變長(zhǎng)碼的代碼字使用的位模式,所以有時(shí)不是在實(shí)際混入差錯(cuò)的位置而是在其相當(dāng)靠后的位置發(fā)現(xiàn)差錯(cuò)。其原因是,即使是實(shí)際混入了差錯(cuò)的位置,在該位置上也不一定必然出現(xiàn)不是作為可變長(zhǎng)碼的代碼字使用的位模式,因此只要符合作為可變長(zhǎng)碼的代碼字使用的位模式,就可以繼續(xù)進(jìn)行譯碼處理。因此,就產(chǎn)生了將本來(lái)不正確的代碼字錯(cuò)誤地當(dāng)作正確的代碼字而進(jìn)行譯碼的問(wèn)題。
另一方面,迄今為止,作為動(dòng)圖象編碼·譯碼裝置的傳輸線(xiàn)路差錯(cuò)的對(duì)策,已探討了各種各樣的方法。例如,在文獻(xiàn)(″圖象編碼技術(shù)″,黑田英夫著,昭晃堂,1996)中,作為傳輸線(xiàn)路差錯(cuò)的對(duì)策公開(kāi)了若干種方法。其中,作為在譯碼器側(cè)進(jìn)行的技術(shù),介紹了一種隱誤技術(shù)。隱誤技術(shù),是當(dāng)編碼數(shù)據(jù)發(fā)生短缺時(shí)使用畫(huà)面上周?chē)膭?dòng)矢量等使差錯(cuò)的影響盡可能不出現(xiàn)在畫(huà)面上的技術(shù)。
但是,在將本來(lái)不正確的代碼字錯(cuò)誤地當(dāng)作正確的代碼字而進(jìn)行譯碼的情況下,存在著不能采用像上述隱誤技術(shù)之類(lèi)的使差錯(cuò)的影響盡可能不出現(xiàn)的技術(shù)因而差錯(cuò)的影響仍會(huì)在畫(huà)面上出現(xiàn)的問(wèn)題。
特別是,存在著幀內(nèi)編碼(INTRA)模式下的差錯(cuò)影響比幀間預(yù)測(cè)編碼(INTER)模式的影響大因而在畫(huà)面上出現(xiàn)顏色不自然的圖塊的問(wèn)題。
如上所述,在現(xiàn)有的可變長(zhǎng)度譯碼裝置中,當(dāng)對(duì)可變長(zhǎng)碼進(jìn)行譯碼時(shí),有時(shí)會(huì)將本來(lái)不正確的代碼字錯(cuò)誤地當(dāng)作正確的代碼字而進(jìn)行譯碼,因此,在應(yīng)用于進(jìn)行了可變長(zhǎng)度編碼的動(dòng)圖象信號(hào)的譯碼時(shí),存在著差錯(cuò)的影響在畫(huà)面上出現(xiàn)的問(wèn)題。
本發(fā)明的目的是,提供一種能夠減少將本來(lái)不正確的代碼字錯(cuò)誤地當(dāng)作正確的代碼字而進(jìn)行譯碼的情況的發(fā)生從而可實(shí)現(xiàn)足夠抗錯(cuò)性的可變長(zhǎng)度譯碼裝置及譯碼方法。
發(fā)明的公開(kāi)本發(fā)明提供的可變長(zhǎng)度譯碼裝置,備有輸入部,用于接受由可變長(zhǎng)碼構(gòu)成的編碼數(shù)據(jù),該可變長(zhǎng)碼由包含在正向或反向都能進(jìn)行譯碼的代碼字的代碼字構(gòu)成;正向譯碼部,從正向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;反向譯碼部,從反向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;及譯碼值決定部,根據(jù)上述正向譯碼部和反向譯碼部的譯碼結(jié)果輸出最終譯碼結(jié)果;上述正向譯碼部及反向譯碼部,分別具有對(duì)上述編碼數(shù)據(jù)的差錯(cuò)進(jìn)行檢測(cè)的部,上述譯碼值決定部,利用指示由上述正向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置、及指示由上述反向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置,決定譯碼值。
在該可變長(zhǎng)度譯碼裝置中,當(dāng)由上述正向譯碼部及反向譯碼部分別發(fā)現(xiàn)了差錯(cuò)時(shí),將該差錯(cuò)發(fā)現(xiàn)位置作為位上的位置和語(yǔ)法上的位置的兩種位置信息通知譯碼值決定部。因此,就能以位上的差錯(cuò)發(fā)現(xiàn)位置和語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置對(duì)實(shí)際的差錯(cuò)位置進(jìn)行雙重檢查,并能以相當(dāng)大的概率僅利用只與正確的代碼字對(duì)應(yīng)的譯碼結(jié)果,從而可以減少將本來(lái)不正確的代碼字錯(cuò)誤地當(dāng)作正確的代碼字而進(jìn)行譯碼的情況。
另外,作為譯碼值決定部的譯碼值決定方法,最好是,(a)當(dāng)正向譯碼部和反向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上的位置還是在語(yǔ)法上的位置都不交叉時(shí),將正向的譯碼結(jié)果用作與在正向譯碼部的位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與在反向譯碼部的位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之后的代碼字對(duì)應(yīng)的譯碼值,并將其余的編碼數(shù)據(jù)廢棄;(b)當(dāng)正向譯碼部和反向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置在位上的位置不交叉而在語(yǔ)法上的位置交叉時(shí),將正向的譯碼結(jié)果用作與緊接在反向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在正向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之后的代碼字對(duì)應(yīng)的譯碼值,并將語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置交叉部分的編碼數(shù)據(jù)廢棄;(c)當(dāng)正向譯碼部和反向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置在位上的位置交叉而在語(yǔ)法上的位置不交叉時(shí),將正向的譯碼結(jié)果用作與緊接在反向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在正向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之后的代碼字對(duì)應(yīng)的譯碼值,并將位上的差錯(cuò)發(fā)現(xiàn)位置交叉部分的編碼數(shù)據(jù)廢棄;(d)當(dāng)正向譯碼部和反向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上的位置還是在語(yǔ)法上的位置都交叉時(shí),選擇交叉部分為最大的位置為差錯(cuò)發(fā)現(xiàn)位置,而將正向的譯碼結(jié)果用作與緊接在反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置之后的代碼字對(duì)應(yīng)的譯碼值,并將差錯(cuò)位置交叉部分的編碼數(shù)據(jù)廢棄。
按照如上方式,可以考慮可變長(zhǎng)碼的差錯(cuò)發(fā)現(xiàn)位置比本來(lái)混入差錯(cuò)的位置相當(dāng)靠后的情況,并在差錯(cuò)發(fā)現(xiàn)位置在正向或反向都不交叉的(a)的情況下,可以使用一直回溯到其位置與差錯(cuò)發(fā)現(xiàn)位置相距一定量的代碼字,對(duì)于正向和反向差錯(cuò)發(fā)現(xiàn)位置以任何形式交叉的(b)~(d)的情況,通過(guò)將交叉范圍寬的部分廢棄,可以有效地防止發(fā)生將本來(lái)出錯(cuò)的部分判斷為正確的情況。
本發(fā)明提供的動(dòng)圖象譯碼裝置,備有輸入部,用于接受包含可變長(zhǎng)碼的動(dòng)圖象信號(hào)的編碼數(shù)據(jù),該編碼數(shù)據(jù),通過(guò)用在正向或反向都能譯碼的代碼字對(duì)變換系數(shù)進(jìn)行編碼生成,該變換系數(shù),通過(guò)對(duì)動(dòng)圖象信號(hào)進(jìn)行正交變換而求得;同步區(qū)間檢測(cè)部,用于檢測(cè)上述編碼數(shù)據(jù)的同步區(qū)間;正向譯碼部,從正向?qū)τ缮鲜鐾絽^(qū)間檢測(cè)部檢測(cè)出的規(guī)定同步區(qū)間的編碼數(shù)據(jù)進(jìn)行譯碼;反向譯碼部,從反向?qū)τ缮鲜鐾絽^(qū)間檢測(cè)部檢測(cè)出的規(guī)定同步區(qū)間的編碼數(shù)據(jù)進(jìn)行譯碼;及譯碼值決定部,根據(jù)正向譯碼部和反向譯碼部的譯碼結(jié)果輸出最終譯碼結(jié)果;上述正向譯碼部及反向譯碼部,分別具有對(duì)上述編碼數(shù)據(jù)的差錯(cuò)進(jìn)行檢測(cè)的差錯(cuò)檢測(cè)部,上述譯碼值決定部,利用指示由上述正向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置、及指示由上述反向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置,決定譯碼值。
一般說(shuō)來(lái),在動(dòng)圖象編碼方式的性質(zhì)上,與將本來(lái)正確的部分廢棄的影響相比,將本來(lái)錯(cuò)誤的部分判斷為正確的影響對(duì)顯示畫(huà)面造成的影響大。因此,通過(guò)以位上的差錯(cuò)發(fā)現(xiàn)位置和語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置進(jìn)行雙重檢查,可以大幅度地減低因?qū)⒈緛?lái)錯(cuò)誤的部分判斷為正確而對(duì)顯示畫(huà)面造成的影響。
另外,作為該動(dòng)圖象譯碼裝置的譯碼值決定部的譯碼值決定方法,最好是,(a)當(dāng)正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上的位置還是在語(yǔ)法上的位置都不交叉時(shí),將正向的譯碼結(jié)果用作與在正向譯碼部的位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與在反向譯碼部的位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由其余的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄;(b)當(dāng)正向譯碼部和反向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置在位上的位置不交叉而在語(yǔ)法上的位置交叉時(shí),將正向的譯碼結(jié)果用作與緊接在反向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在正向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置交叉的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄;(c)當(dāng)正向譯碼部和反向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置在位上的位置交叉而在語(yǔ)法上的位置不交叉時(shí),將正向的譯碼結(jié)果用作與緊接在反向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在正向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由位上的差錯(cuò)發(fā)現(xiàn)位置交叉的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄;(d)當(dāng)正向譯碼部和反向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上的位置還是在語(yǔ)法上的位置都交叉時(shí),選擇交叉部分最大位置為差錯(cuò)發(fā)現(xiàn)位置,并將正向的譯碼結(jié)果用作與緊接在反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由差錯(cuò)發(fā)現(xiàn)位置交叉的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄。
按照如上方式,可以考慮可變長(zhǎng)碼的差錯(cuò)發(fā)現(xiàn)位置比本來(lái)混入差錯(cuò)的位置相當(dāng)靠后的情況,并在差錯(cuò)發(fā)現(xiàn)位置在正向或反向都不交叉的(a)的情況下,可以使用一直回溯到其位置與差錯(cuò)發(fā)現(xiàn)位置相距一定量的微數(shù)據(jù)塊,對(duì)于正向和反向差錯(cuò)發(fā)現(xiàn)位置以任何形式交叉的(b)~(d)的情況,通過(guò)將交叉范圍寬的部分廢棄,可以有效地防止發(fā)生將本來(lái)出錯(cuò)的部分判斷為正確的情況。
進(jìn)一步,當(dāng)在同步區(qū)間內(nèi)的編碼數(shù)據(jù)中檢出差錯(cuò)時(shí),譯碼值決定部,在未檢出差錯(cuò)的微數(shù)據(jù)塊內(nèi),將由進(jìn)行了幀內(nèi)編碼的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)的一部分或全部廢棄。
幀內(nèi)編碼模式,當(dāng)發(fā)生差錯(cuò)時(shí)對(duì)畫(huà)面造成的影響大。具體地說(shuō),由于顯示出錯(cuò)的系數(shù)而發(fā)生在畫(huà)面內(nèi)出現(xiàn)顏色不自然的圖塊的現(xiàn)象。因此,如果判明至少在同步區(qū)間內(nèi)發(fā)生差錯(cuò),則將幀內(nèi)編碼模式的微數(shù)據(jù)塊廢棄可以減小對(duì)畫(huà)面的影響。
另外,譯碼值決定部,對(duì)已將編碼數(shù)據(jù)廢棄的微數(shù)據(jù)塊,在幀內(nèi)編碼模式的情況下顯示前面的畫(huà)面或作為不進(jìn)行編碼的模式處理,并在幀間預(yù)測(cè)編碼模式的情況下進(jìn)行動(dòng)態(tài)補(bǔ)償。
當(dāng)已將DCT系數(shù)廢棄時(shí),在幀內(nèi)編碼模式的情況下,由于沒(méi)有動(dòng)矢量,所以顯示前一個(gè)畫(huà)面或作為不進(jìn)行編碼的模式處理,在幀間編碼的情況下,由于有上層(upper layer)的動(dòng)矢量,可利用其進(jìn)行動(dòng)態(tài)補(bǔ)償,所以,即使沒(méi)有DCT系數(shù),也能生成相當(dāng)自然的圖象。即,DCT系數(shù)是下層(lower layer),動(dòng)矢量是上層。因此,即使沒(méi)有下位的DCT系數(shù),但如果有上位的動(dòng)矢量,就可以生成圖象。
另外,本發(fā)明提供的可變長(zhǎng)度譯碼裝置,備有輸入部,用于接受由可變長(zhǎng)碼構(gòu)成的編碼數(shù)據(jù),該可變長(zhǎng)碼由包含在正向或反向都能進(jìn)行譯碼的代碼字的代碼字構(gòu)成;正向譯碼部,從正向?qū)幋a數(shù)據(jù)進(jìn)行譯碼;反向譯碼部,從反向?qū)幋a數(shù)據(jù)進(jìn)行譯碼;及譯碼值決定部,根據(jù)正向譯碼部和反向譯碼部的譯碼結(jié)果輸出最終譯碼結(jié)果;正向譯碼部及反向譯碼部,分別具有對(duì)編碼數(shù)據(jù)的差錯(cuò)進(jìn)行檢測(cè)的差錯(cuò)檢測(cè)部,譯碼值決定部,根據(jù)由正向和反向譯碼部檢出的編碼數(shù)據(jù)的差錯(cuò)檢測(cè)位置、傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率、各代碼字的發(fā)生概率、及代碼字表中的代碼字的位模式,推斷差錯(cuò)的存在范圍,從而決定最終的譯碼值。
在該可變長(zhǎng)度譯碼裝置中,根據(jù)傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率及代碼字的性能,以一定的概率從差錯(cuò)發(fā)現(xiàn)位置推斷實(shí)際的差錯(cuò)存在位置,所以能夠使將本來(lái)不正確的代碼字錯(cuò)誤地當(dāng)作正確的代碼字而進(jìn)行譯碼的情況減低到一定的概率以下。
附圖的簡(jiǎn)單說(shuō)明圖1是用于說(shuō)明可逆碼的代碼字的第1構(gòu)成方法的圖。
圖2A和圖2B是分別表示正向碼樹(shù)及反向碼樹(shù)的圖。
圖3是用于說(shuō)明可逆碼的代碼字的第2構(gòu)成方法的圖。
圖4是用于說(shuō)明可逆碼的代碼字的第3構(gòu)成方法的圖。
圖5是表示采用了本發(fā)明第1實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置的編碼譯碼系統(tǒng)的結(jié)構(gòu)的框圖。
圖6A和圖6B是表示在第1實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置中采用的編碼數(shù)據(jù)的語(yǔ)法例的圖。
圖7A和圖7B是用于說(shuō)明第1實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置的第1譯碼值判斷方法的原理的圖。
圖8A和圖8B是用于說(shuō)明第1實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置的第2譯碼值判斷方法的原理的圖。
圖9是說(shuō)明第1實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置的譯碼值判斷方法的步驟的流程圖。
圖10是表示采用了本發(fā)明第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置的動(dòng)圖象編碼/譯碼系統(tǒng)的結(jié)構(gòu)的框圖。
圖11是表示第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置的動(dòng)圖象多路分離器的結(jié)構(gòu)的框圖。
圖12A和圖12B是表示在第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置中采用的編碼數(shù)據(jù)的語(yǔ)法的圖。
圖13是表示在第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置中所設(shè)有的下層可變長(zhǎng)度譯碼器的結(jié)構(gòu)的框圖。
圖14是表示在第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置中所設(shè)有的信息源譯碼器的結(jié)構(gòu)的框圖。
圖15A和圖15B是用于說(shuō)明第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置的第1譯碼值判斷方法的原理的圖。
圖16A和圖16B是用于說(shuō)明第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置的第2譯碼值判斷方法的原理的圖。
圖17是用于說(shuō)明第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置的第3譯碼值判斷方法的原理的圖。
圖18是說(shuō)明第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置的譯碼值判斷方法的步驟的流程圖。
圖19是說(shuō)明圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的編碼器采用可逆碼對(duì)動(dòng)圖象信號(hào)的DCT系數(shù)進(jìn)行可變長(zhǎng)度編碼的步驟的流程圖。
圖20是說(shuō)明圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的正向譯碼器對(duì)包含可逆碼編碼數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼的步驟的流程圖。
圖21是說(shuō)明圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的反向譯碼器對(duì)包含可逆碼的編碼數(shù)據(jù)進(jìn)行可變長(zhǎng)度譯碼的步驟的流程圖。
圖22是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的編碼器中為從INTRA模式的非LAST系數(shù)的RUN及LEVEL值檢索代碼字表的INDEX值而采用的INDEX表的圖。
圖23是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的編碼器中為從INTER模式的非LAST系數(shù)的RUN及LEVEL值檢索代碼字表的INDEX值而采用的INDEX表的圖。
圖24是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的編碼器中為從LAST系數(shù)的RUN及LEVEL檢索代碼字表的INDEX值而采用的INDEX表的圖。
圖25是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)中使用的代碼字表的一部分的圖。
圖26是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)中使用的代碼字表的其余部分的圖。
圖27是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)中使用的RUN用固定長(zhǎng)度代碼字表的圖。
圖28是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)中使用的LEVEL用固定長(zhǎng)度代碼字表的圖。
圖29是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)中使用的固定長(zhǎng)度可逆碼的數(shù)據(jù)形式的圖。
圖30是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的譯碼器中使用的代碼字表的一部分的圖。
圖31是表示在圖10的動(dòng)圖象編碼/譯碼系統(tǒng)的譯碼器中使用的代碼字表的其余部分的圖。
圖32是表示在第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置中根據(jù)不在代碼字中使用的位模式的出現(xiàn)檢測(cè)差錯(cuò)的方法的步驟的流程圖。
圖33是表示在第2實(shí)施形態(tài)的動(dòng)圖象譯碼裝置中根據(jù)語(yǔ)法上不可能有的狀態(tài)的出現(xiàn)檢測(cè)差錯(cuò)的方法的步驟的流程圖。
圖34是表示LEVEL用固定長(zhǎng)度代碼字表的其他結(jié)構(gòu)例的圖。
圖35是表示在兩端附加了ESCAPE碼的編碼數(shù)據(jù)串的其他結(jié)構(gòu)例的圖。
圖36是表示在兩端附加了ESCAPE碼的編碼數(shù)據(jù)串的另一種結(jié)構(gòu)例的圖。
圖37是表示使用了圖35或圖36的編碼數(shù)據(jù)串時(shí)的編碼處理步驟的流程圖。
圖38是表示使用了圖35或圖36的編碼數(shù)據(jù)串時(shí)的正向譯碼處理步驟的流程圖。
圖39是表示使用了圖35或圖36的編碼數(shù)據(jù)串時(shí)的反向譯碼處理步驟的流程圖。
圖40是表示使用了圖35或圖36的編碼數(shù)據(jù)串時(shí)所采用的差錯(cuò)檢測(cè)處理步驟的流程圖。
圖41是表示使用了二進(jìn)制補(bǔ)碼表示的LEVEL固定長(zhǎng)度代碼字表的結(jié)構(gòu)例的圖。
圖42是表示使用了圖41的LEVEL固定長(zhǎng)度代碼字表時(shí)的編碼數(shù)據(jù)串的結(jié)構(gòu)例的圖。
圖43是表示使用了圖41的LEVEL固定長(zhǎng)度代碼字表時(shí)的編碼數(shù)據(jù)串的其他結(jié)構(gòu)例的圖。
圖44是表示編碼數(shù)據(jù)串的其他結(jié)構(gòu)例的圖。
圖45是表示使用了圖41的LEVEL固定長(zhǎng)度代碼字表時(shí)的編碼數(shù)據(jù)串的又一種結(jié)構(gòu)例的圖。
圖46是表示使用了圖41的LEVEL固定長(zhǎng)度代碼字表時(shí)的編碼數(shù)據(jù)串的另一結(jié)構(gòu)例的圖。
圖47是表示使用了圖42、圖43或圖46的編碼數(shù)據(jù)串時(shí)所采用的正向譯碼處理步驟的流程圖。
圖48是表示使用了圖42、圖43或圖46的編碼數(shù)據(jù)串時(shí)所采用的反向譯碼處理步驟的流程圖。
圖49是表示使用了圖45的編碼數(shù)據(jù)串時(shí)所采用的正向譯碼處理步驟的流程圖。
圖50是表示使用了圖45的編碼數(shù)據(jù)串時(shí)所采用的反向譯碼處理步驟的流程圖。
圖51是表示本發(fā)明第3實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置的結(jié)構(gòu)的框圖。
圖52是表示不能以等號(hào)滿(mǎn)足Kraft不等式的代碼的圖。
圖53是表示不能以等號(hào)滿(mǎn)足Kraft不等式的代碼的碼樹(shù)的圖。
圖54是說(shuō)明二進(jìn)制對(duì)稱(chēng)通信線(xiàn)路的圖。
圖55是二進(jìn)制對(duì)稱(chēng)通信線(xiàn)路上的代碼字的狀態(tài)遷移圖的例。
圖56是二進(jìn)制對(duì)稱(chēng)通信線(xiàn)路上的代碼字的狀態(tài)遷移表。
圖57A、57B和57C是表示出該第3實(shí)施形態(tài)的譯碼值決定部的譯碼動(dòng)作的圖。
圖58A、58B和58C是表示出該第3實(shí)施形態(tài)的譯碼值決定部的另一種譯碼動(dòng)作的圖。
圖59是表示組裝了本發(fā)明的可變長(zhǎng)度譯碼裝置的系統(tǒng)一例的圖。
用于實(shí)施發(fā)明的最佳形態(tài)以下,參照


本發(fā)明的實(shí)施形態(tài)。
本發(fā)明,將可在正向和反向兩個(gè)方向上譯碼的可逆碼(ReversibleVLC)用作可變長(zhǎng)碼,所以在說(shuō)明本發(fā)明的實(shí)施形態(tài)前先參照?qǐng)D1~圖4說(shuō)明可逆碼。
圖1示出可逆碼的代碼字的第1構(gòu)成方法。首先,如圖1的左側(cè)所示,按代碼長(zhǎng)度短的順序以各序列的權(quán)重(在該情況下,為″1″的數(shù))為定值的形式生成具有不同權(quán)重的2個(gè)二進(jìn)制序列(在該情況下,權(quán)重為0個(gè)和1個(gè))。接著,如圖1的中央所示,在該二進(jìn)制序列的開(kāi)頭和末尾分別追加″1″并使權(quán)重為1的二進(jìn)制序列的位反轉(zhuǎn),然后,如圖1的右側(cè)所示,將這2個(gè)二進(jìn)制序列合成。
在該可變長(zhǎng)碼中,通過(guò)對(duì)位于各代碼開(kāi)頭的符號(hào)的個(gè)數(shù)進(jìn)行計(jì)數(shù)而得知代碼的長(zhǎng)度。在圖1的例中,代碼的結(jié)構(gòu)為,當(dāng)開(kāi)頭為″0″時(shí),如果″0″出現(xiàn)了3個(gè)就可以得知代碼的分界(代碼長(zhǎng)度),當(dāng)開(kāi)頭為″1″時(shí),如果″1″出現(xiàn)了2個(gè)就可以得知代碼的分界。此外,該圖1中示出的可變長(zhǎng)碼,無(wú)論對(duì)圖2A所示的正向譯碼樹(shù)的葉部還是對(duì)圖2B所示的反向譯碼樹(shù)的葉部都分配了與所有信息符號(hào)A~J對(duì)應(yīng)的代碼字,所以可以看出在正向或反向都可以進(jìn)行譯碼。
圖3示出可逆碼的代碼字的第2構(gòu)成方法。首先,如圖3的左側(cè)所示,準(zhǔn)備好第1可逆碼及第2可逆碼。其次,如圖3的中央所示,在第1可逆碼的所有代碼字的末尾追加第2可逆碼的開(kāi)頭的一個(gè)代碼字。接著,同樣地在第1可逆碼的所有代碼字的末尾逐個(gè)地追加第2可逆碼的所有代碼字,然后,如圖3的右側(cè)所示,進(jìn)行重新排列,從而構(gòu)成新的可逆碼。按照這種構(gòu)成方法,可以構(gòu)成將第1可逆碼的代碼字?jǐn)?shù)A(在本例中A=9)與第2可逆碼的代碼字?jǐn)?shù)B(在本例中B=3)相乘后的個(gè)數(shù)為A×B個(gè)(在本例中為27個(gè))的新的可逆碼。
當(dāng)對(duì)本構(gòu)成方法的可逆碼進(jìn)行譯碼時(shí),如從正向譯碼,則首先對(duì)第1可逆碼譯碼,然后對(duì)第2可逆碼進(jìn)行譯碼。當(dāng)從反向譯碼時(shí),首先對(duì)第2可逆碼譯碼,然后對(duì)第1可逆碼進(jìn)行譯碼。因此,可以看出在正向或反向都可以進(jìn)行譯碼。
另外,在本例中,在第1可逆碼的代碼字末尾追加了第2可逆碼,但也可以將第2可逆碼追加在第1可逆碼的開(kāi)頭,還可以在第1可逆碼的代碼字的末尾和開(kāi)頭兩邊都追加固定長(zhǎng)度碼。此外,在本例中,采用了不同的第1可逆碼和第2可逆碼,但也可以使用同一個(gè)可逆碼。進(jìn)一步,在本實(shí)施形態(tài)中,第1可逆碼或第2可逆碼都采用了可變長(zhǎng)碼,但也可以將其中任何一個(gè)變更為固定長(zhǎng)度碼。
圖4示出可逆碼的第3代碼構(gòu)成方法。首先,如圖4的左側(cè)所示,準(zhǔn)備好可變長(zhǎng)度的可逆碼及固定長(zhǎng)度的可逆碼。其次,如圖4的右側(cè)所示,在可逆碼的代碼字的各位的后面追加固定長(zhǎng)度的可逆碼。按照這種構(gòu)成方法,當(dāng)采用K位的固定長(zhǎng)度可逆碼時(shí),可以使H位的代碼字變?yōu)?K+1)H位,并使代碼字?jǐn)?shù)變?yōu)?KH倍。
另外,在本例中,在可逆碼的代碼字的每個(gè)位的后面追加了固定長(zhǎng)度代碼,但也可以將固定長(zhǎng)度碼追加在各位的前面,還可以在前面和后面兩邊都追加固定長(zhǎng)度碼。
以下,說(shuō)明按照本發(fā)明的實(shí)施形態(tài)的可變長(zhǎng)度編碼/譯碼裝置的結(jié)構(gòu)。
(第1實(shí)施形態(tài))在圖5中,示出本發(fā)明第1實(shí)施形態(tài)的可變長(zhǎng)度編碼/譯碼裝置的結(jié)構(gòu)。該可變長(zhǎng)度編碼/譯碼裝置,執(zhí)行可變長(zhǎng)度編碼數(shù)據(jù)的生成及其譯碼。在可變長(zhǎng)度編碼數(shù)據(jù)中按一定間隔插入同步碼,并將如上所述的可在正向和反向兩個(gè)方向上譯碼的可逆碼(Reversible VLC)用作可變長(zhǎng)碼。
可變長(zhǎng)度譯碼裝置11,如圖5所示,由編碼器111、代碼字表112、及同步區(qū)間設(shè)定部113構(gòu)成。在代碼字表112內(nèi),以與各信息符號(hào)對(duì)應(yīng)的方式存儲(chǔ)著根據(jù)參照?qǐng)D1~圖4說(shuō)明過(guò)的可逆代碼字的構(gòu)成方法預(yù)先生成的可變長(zhǎng)度代碼字。在該代碼字表112中,還與各信息符號(hào)對(duì)應(yīng)地存儲(chǔ)著在正向或反向都能譯碼的可逆碼。編碼器111,參照代碼字表112將信息符號(hào)編碼為可變長(zhǎng)度代碼字,并從存儲(chǔ)在代碼字表112內(nèi)的代碼字中選擇和輸出與所輸入的信息符號(hào)對(duì)應(yīng)的代碼字。在同步區(qū)間設(shè)定部113中,按每個(gè)同步區(qū)間匯集由編碼器111選定的代碼字,進(jìn)一步插入在正向或反向都能譯碼的填充代碼,并按每個(gè)同步區(qū)間輸出編碼數(shù)據(jù)。該編碼數(shù)據(jù),通過(guò)傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)13傳送到可變長(zhǎng)度譯碼器12。
可變長(zhǎng)度譯碼器12,包括同步區(qū)間檢測(cè)部121、緩沖器122、2個(gè)開(kāi)關(guān)S和T、正向譯碼器123、正向代碼字表124、譯碼值決定部125、反向譯碼器126、及反向代碼字表127。
在可變長(zhǎng)度譯碼器12中,由同步區(qū)間檢測(cè)部106檢測(cè)從傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)13輸入的編碼數(shù)據(jù)的同步區(qū)間,并按該每個(gè)同步區(qū)間進(jìn)行編碼數(shù)據(jù)的譯碼處理。
當(dāng)從傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)13輸入的編碼數(shù)據(jù)為只能正向譯碼的可變長(zhǎng)碼時(shí),開(kāi)關(guān)S連接在A(yíng)側(cè),由正向譯碼器123使用正向代碼字表124進(jìn)行通常的正向譯碼。由正向譯碼器123譯碼后的編碼數(shù)據(jù)傳送到譯碼值決定部125。
當(dāng)編碼數(shù)據(jù)為可雙向譯碼的可變長(zhǎng)碼時(shí),開(kāi)關(guān)S連接在B側(cè),并將同步區(qū)間內(nèi)的所有編碼數(shù)據(jù)暫時(shí)存儲(chǔ)在緩沖器122內(nèi)。由正向譯碼器123等通過(guò)對(duì)存儲(chǔ)在緩沖器122內(nèi)的編碼數(shù)據(jù)的位數(shù)進(jìn)行計(jì)數(shù)等檢查由可雙向譯碼的可變長(zhǎng)碼構(gòu)成的編碼數(shù)據(jù)的總位數(shù)。然后,從緩沖器122讀出編碼數(shù)據(jù),并由正向譯碼器123開(kāi)始使用正向代碼字表124的通常的正向譯碼。該正向譯碼,一面檢查編碼數(shù)據(jù)是否含有差錯(cuò)一面進(jìn)行譯碼處理。
具體地說(shuō),當(dāng)出現(xiàn)了在正向代碼字表124內(nèi)不存在的位模式時(shí),或在譯碼后的編碼數(shù)據(jù)的位長(zhǎng)合計(jì)值尚未達(dá)到上述總位數(shù)的狀態(tài)下已經(jīng)沒(méi)有了應(yīng)進(jìn)行譯碼的數(shù)據(jù)時(shí),或者,發(fā)生了語(yǔ)法(編碼數(shù)據(jù)的文法上的規(guī)則)上不可能有的狀態(tài)時(shí),在上述狀態(tài)的發(fā)現(xiàn)位置檢測(cè)發(fā)生差錯(cuò)的情況。所謂語(yǔ)法上不可能有的狀態(tài),例如,意味著當(dāng)由上層編碼數(shù)據(jù)指定著下層的對(duì)應(yīng)各編碼數(shù)據(jù)所含有的代碼字?jǐn)?shù)時(shí),該指定的代碼字?jǐn)?shù)與各編碼數(shù)據(jù)所含有的代碼字?jǐn)?shù)不一致的狀態(tài)等。
無(wú)論在什么樣的條件下發(fā)現(xiàn)了編碼數(shù)據(jù)的差錯(cuò),都要將發(fā)現(xiàn)差錯(cuò)前正常完成譯碼的正向譯碼結(jié)果與位上的差錯(cuò)發(fā)現(xiàn)位置及語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置一起作為指示發(fā)現(xiàn)了該差錯(cuò)的位置的信息傳送到譯碼值判定部125。這里,位上的差錯(cuò)發(fā)現(xiàn)位置,指示檢出差錯(cuò)的位置從同步位置開(kāi)始數(shù)起是第幾位的編碼數(shù)據(jù)。而語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置,例如,指示檢測(cè)出該同一差錯(cuò)的位置從同步位置開(kāi)始數(shù)起是第幾個(gè)代碼字的編碼數(shù)據(jù)等。
當(dāng)由正向譯碼器123發(fā)現(xiàn)了差錯(cuò)時(shí),開(kāi)關(guān)T被接通,存儲(chǔ)在緩沖器122內(nèi)的編碼數(shù)據(jù)這次是傳送到反向譯碼器126,由此開(kāi)始使用反向代碼字表127從反向進(jìn)行譯碼。該反向譯碼,也是一面檢查編碼數(shù)據(jù)是否含有差錯(cuò)一面進(jìn)行譯碼處理。差錯(cuò)檢測(cè)的條件,與正向譯碼器123時(shí)相同,當(dāng)由反向譯碼發(fā)現(xiàn)了差錯(cuò)時(shí),將發(fā)現(xiàn)差錯(cuò)前正常完成譯碼的反向譯碼結(jié)果與位上的差錯(cuò)發(fā)現(xiàn)位置及語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置一起作為指示發(fā)現(xiàn)了該差錯(cuò)的位置的信息傳送到譯碼值判定部125。
在譯碼值決定部125中,將正向譯碼器123的譯碼結(jié)果與反向譯碼器126的譯碼結(jié)果進(jìn)行對(duì)照,以決定最終的譯碼結(jié)果。即,根據(jù)從正向譯碼器123和反向譯碼器126分別通知的位上和語(yǔ)法上的兩方面的差錯(cuò)發(fā)現(xiàn)位置,對(duì)正確代碼字與不正確代碼字的邊界進(jìn)行雙重判斷,并僅對(duì)以相當(dāng)大的概率估計(jì)為正確代碼字的代碼字將來(lái)自正向的譯碼結(jié)果和來(lái)自反向的譯碼結(jié)果有選擇地作為其譯碼值,而將除此以外的代碼字廢棄。
圖6A和圖6B,是表示本實(shí)施形態(tài)的編碼數(shù)據(jù)的語(yǔ)法一例的圖。
如圖6A所示,編碼數(shù)據(jù)被分成上層的D信息和下層的G信息兩層信息,并進(jìn)行編碼使G的代碼字相對(duì)于1個(gè)D的代碼字連續(xù)存在m個(gè),當(dāng)D信息由n個(gè)代碼字構(gòu)成時(shí),在該D信息的后面G信息由n×m個(gè)代碼字構(gòu)成。這里,以D信息及接在其后的G信息為單位設(shè)定同步區(qū)間,并在其中插入再同步標(biāo)記(RM1)。此外,在D信息與G信息之間也設(shè)定再同步標(biāo)記(RM2)。
另外,D信息,以只能進(jìn)行通常的正向譯碼的可變長(zhǎng)碼進(jìn)行編碼,G信息則以可雙向譯碼的可變長(zhǎng)碼進(jìn)行編碼。因此,在該語(yǔ)法中,G信息的總代碼字?jǐn)?shù),在對(duì)D信息進(jìn)行譯碼的時(shí)刻判明,已知為n×m個(gè)。該G信息的總代碼字?jǐn)?shù)的值,用于以語(yǔ)法上的位置表示差錯(cuò)發(fā)現(xiàn)位置,就是說(shuō),用于判斷在屬于從同步開(kāi)始位置到結(jié)束位置的代碼字中的第幾個(gè)代碼字上發(fā)生了差錯(cuò)等。
圖7和圖8,是表示對(duì)由可雙向譯碼的可變長(zhǎng)碼構(gòu)成的G信息的編碼數(shù)據(jù)進(jìn)行譯碼時(shí)的譯碼值決定部304的動(dòng)作的圖。
首先,對(duì)G信息定義如下的函數(shù)。
L ...總位數(shù)W ...總代碼字?jǐn)?shù)(=n×m)W1...正向譯碼后的代碼字?jǐn)?shù)W2...反向譯碼后的代碼字?jǐn)?shù)L1...正向譯碼后的位數(shù)L2...反向譯碼后的位數(shù)f_code(L1)...正向L1位譯碼后的代碼字?jǐn)?shù)b_code(L2)...反向L2譯碼后的代碼字?jǐn)?shù)圖7A示出當(dāng)正向譯碼器123和反向譯碼器126各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置或代碼字上的位置都不交叉(不交錯(cuò))時(shí)即L1+L2<L、且W1+W2<W時(shí)的情況。在這種情況下,使用回溯了T代碼字的位置之前的編碼數(shù)據(jù),從正向使用W1-T個(gè)代碼字,從反向使用W2-T個(gè)代碼字,而將其余的代碼字廢棄。
這里,規(guī)定了回溯T代碼字,但也可以將G信息回溯T位或T數(shù)據(jù)塊。
圖7B示出當(dāng)正向譯碼器123和反向譯碼器126各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置不交叉但與代碼字上的位置交叉時(shí)即L1+L2<L、且W1+W2≥W時(shí)的情況。這種狀況,例如在從實(shí)際混入差錯(cuò)的位置起很小的間隔內(nèi)將編碼數(shù)據(jù)所含有的各代碼字作為具有位數(shù)比其本來(lái)的位數(shù)少的位模式的代碼字進(jìn)行譯碼等情況下發(fā)生。
在這種情況下,從正向使用W-W2個(gè)代碼字,從反向使用W-W1個(gè)代碼字,而將其余的代碼字廢棄。
圖7A示出當(dāng)正向譯碼器123和反向譯碼器126各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置交叉但與代碼字上的位置不交叉時(shí)即L1+L2≥L、且W1+W2<W時(shí)的情況。這種狀況,例如在從實(shí)際混入差錯(cuò)的位置起很小的間隔內(nèi)將編碼數(shù)據(jù)所含有的各代碼字作為具有比其本來(lái)的位數(shù)多的位數(shù)的位模式的代碼字進(jìn)行譯碼等情況下發(fā)生。
在這種情況下,從正向使用W-b_code(L2)微數(shù)據(jù)塊的代碼字,從反向使用W-f_code(L1)微數(shù)據(jù)塊的代碼字,而將其余的代碼字廢棄。
圖7B示出當(dāng)正向譯碼器123和反向譯碼器126各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置或代碼字上的位置都交叉時(shí)即L1+L2≥L、且W1+W2≥W時(shí)的情況。在這種情況下,從正向使用min{W-b_code(L2),W-W2}個(gè)代碼字,從反向使用min{W-f_code(L1),W-W1}個(gè)代碼字,而將其余的代碼字廢棄。
這里,通過(guò)使用圖2的語(yǔ)法判明G信息的總代碼字?jǐn)?shù)并將代碼字的位置用作語(yǔ)法上的位置,但除此以外,只要是采用利用了語(yǔ)法的邏輯位置,則無(wú)論什么樣的情況都可以適用。
以下,說(shuō)明本實(shí)施形態(tài)的可變長(zhǎng)度譯碼器12的譯碼處理方法的步驟。
本譯碼處理方法,如圖5所述,基本上是在采用了可從兩個(gè)方向譯碼的可變長(zhǎng)碼的編碼數(shù)據(jù)中檢出差錯(cuò)前從正向進(jìn)行譯碼處理,而當(dāng)從該正向的譯碼處理中檢出差錯(cuò)時(shí),開(kāi)始從反向的譯碼處理,直到下一次在該編碼數(shù)據(jù)中檢出差錯(cuò)為止。并利用從正向和反向的譯碼結(jié)果、及在從正向和反向的譯碼中分別檢出的編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置及語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置決定譯碼值。
圖9是表示由可逆碼構(gòu)成的可變長(zhǎng)度編碼數(shù)據(jù)的譯碼處理方法的步驟的流程圖。
首先,定義上述的函數(shù)L、W、W1、W2、L1、L2、f_code(L1)、b_code(L2),然后,從同步區(qū)間開(kāi)頭的G信息開(kāi)始進(jìn)行正向譯碼(步驟S101)。如果在該正向的譯碼處理中在同步區(qū)間內(nèi)沒(méi)有發(fā)現(xiàn)任何差錯(cuò),則結(jié)束譯碼處理(步驟S102)。另一方面,當(dāng)在該正向的譯碼處理中發(fā)現(xiàn)了差錯(cuò)時(shí),從同步區(qū)間末尾的G信息開(kāi)始進(jìn)行反向譯碼(步驟S103)。當(dāng)在正向的譯碼處理中發(fā)現(xiàn)了差錯(cuò)時(shí),通常,在反向的譯碼處理中也會(huì)發(fā)現(xiàn)差錯(cuò)。
如果差錯(cuò)發(fā)現(xiàn)位置與位上的位置或代碼字上的位置都不交叉時(shí),即當(dāng)L1+L2<L、且W1+W2<W時(shí)(步驟S104),使用回溯了T代碼字的位置之前的編碼數(shù)據(jù),從正向使用W1-T個(gè)代碼字、從反向使用W2-T個(gè)代碼字,而將其余的代碼字廢棄(步驟S105)。
如果差錯(cuò)發(fā)現(xiàn)位置與位上的位置不交叉但與代碼字上的位置交叉時(shí),即當(dāng)L1+L2<L、且W1+W2≥W時(shí)(步驟S106),從正向使用W-W2個(gè)代碼字,從反向使用W-W1個(gè)代碼字,而將其余的代碼字廢棄(步驟S107)。
如果差錯(cuò)發(fā)現(xiàn)位置與位上的位置交叉但與代碼字上的位置不交叉時(shí),即當(dāng)L1+L2≥L、且W1+W2<W時(shí)(步驟S108),從正向使用W-b_code(L2)微數(shù)據(jù)塊的代碼字,從反向使用W-f_code(L1)微數(shù)據(jù)塊的代碼字,而將其余的代碼字廢棄(步驟S109)。
如果差錯(cuò)發(fā)現(xiàn)位置是除上述以外的情況,具體地說(shuō),當(dāng)與位上的位置或代碼字上的位置都交叉時(shí),即當(dāng)L1+L2≥L、且W1+W2≥W時(shí),從正向使用min{W-b_code(L2),W-W2}個(gè)代碼字,從反向使用min{W-f_code(L1),W-W1}個(gè)代碼字,而將其余的代碼字廢棄(步驟S110)。
(第2實(shí)施形態(tài))在圖10中,示出本第2實(shí)施形態(tài)的動(dòng)圖象信號(hào)可變長(zhǎng)度編碼/譯碼裝置的結(jié)構(gòu)。
該動(dòng)圖象編碼/譯碼裝置,由動(dòng)圖象編碼器(視頻編碼器)21、動(dòng)圖象譯碼器22、及傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)23構(gòu)成。
在動(dòng)圖象編碼器21中,由信息源編碼器202編碼后的數(shù)據(jù),用動(dòng)圖象多路化器203分成上層和下層而分別進(jìn)行可變長(zhǎng)度編碼,并進(jìn)行該上層數(shù)據(jù)和下層數(shù)據(jù)的多路化及同步區(qū)間的設(shè)定等。該數(shù)據(jù)由發(fā)送緩沖器204平滑化后,作為編碼數(shù)據(jù)輸送到傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)23。編碼控制部201,通過(guò)考慮發(fā)送緩沖器204的緩沖量,對(duì)信息源編碼器202及動(dòng)圖象多路化器203進(jìn)行控制。
另一方面,在動(dòng)圖象譯碼器22中,來(lái)自傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)23的數(shù)據(jù)存儲(chǔ)在接收緩沖器205內(nèi),并由動(dòng)圖象多路化分離器206按編碼數(shù)據(jù)的每個(gè)同步區(qū)間進(jìn)行上層和下層的多路分離及其可變長(zhǎng)度譯碼,然后,傳送到信息源譯碼器207,對(duì)動(dòng)圖象信息進(jìn)行最終的譯碼。
這里,在動(dòng)圖象多路化器203及動(dòng)圖象多路化分離器206中,應(yīng)用著在第1實(shí)施形態(tài)中說(shuō)明過(guò)的可變長(zhǎng)度編碼/譯碼裝置。
圖11是表示本第2實(shí)施形態(tài)的動(dòng)圖象多路化分離器206的框圖。
由接收緩沖器205接收到的編碼數(shù)據(jù),傳送到多路化分離器501,由多路化分離器501檢測(cè)同步區(qū)間后,按每個(gè)同步區(qū)間分離上層和下層的編碼數(shù)據(jù),并分別傳送到上層可變長(zhǎng)度譯碼器502、下層可變長(zhǎng)度譯碼器503,進(jìn)行可變長(zhǎng)度譯碼。
圖12A和圖12B,示出在本第2實(shí)施形態(tài)中使用的動(dòng)圖象編碼數(shù)據(jù)的語(yǔ)法。
編碼數(shù)據(jù),按每個(gè)視頻信息包分層為上層(圖12A)和下層(圖12B)。在上層數(shù)據(jù)和下層數(shù)據(jù)中,分別由再同步標(biāo)記(RM)及運(yùn)動(dòng)標(biāo)記(MM)設(shè)定同步區(qū)間。此外,下層的ST是填充代碼。
在該語(yǔ)法中,用作動(dòng)圖象信號(hào)的預(yù)測(cè)編碼單位的微數(shù)據(jù)塊的模式信息的一部分及動(dòng)矢量信息為上層,模式信息的一部分、INTRA DC(幀內(nèi)編碼的DCT系數(shù)的DC值)、及DCT系數(shù)信息為下層。在這些信息間也設(shè)定著表示其分界的同步碼。此外,在DCT系數(shù)信息中采用著可逆碼。
通常,視頻信息包,包含多個(gè)微數(shù)據(jù)塊,在上層的標(biāo)題信息中,設(shè)定著該視頻信息包所含有的開(kāi)頭的微數(shù)據(jù)塊編號(hào)。此外,上層的模式信息1及動(dòng)矢量信息按每個(gè)微數(shù)據(jù)塊進(jìn)行設(shè)定,模式信息1及動(dòng)矢量信息的循環(huán)數(shù),僅相當(dāng)于該視頻信息包所含有的微數(shù)據(jù)塊的個(gè)數(shù)。
圖13是表示本第2實(shí)施形態(tài)的下層可變長(zhǎng)度譯碼器503的結(jié)構(gòu)的框圖。
如上所述,由圖11的多路化分離器501按每個(gè)同步區(qū)間分離為上層和下層編碼數(shù)據(jù)后的數(shù)據(jù)中的下層編碼數(shù)據(jù),被傳送到下層可變長(zhǎng)度譯碼器503。
在該下層可變長(zhǎng)度譯碼器503中,在語(yǔ)法上變?yōu)镈CT系數(shù)信息之前,開(kāi)關(guān)S連接在A(yíng)側(cè),并由正向譯碼器704使用正向代碼字表703進(jìn)行通常的正向譯碼。由正向譯碼器704譯碼后的編碼數(shù)據(jù)傳送到譯碼值決定部705。當(dāng)發(fā)現(xiàn)了差錯(cuò)時(shí),通過(guò)與上層可變長(zhǎng)度譯碼器502的譯碼結(jié)果進(jìn)行比較而決定譯碼結(jié)果。
當(dāng)編碼數(shù)據(jù)為DCT系數(shù)信息時(shí),開(kāi)關(guān)S連接在B側(cè),并將同步區(qū)間內(nèi)的所有DCT系數(shù)信息存儲(chǔ)在緩沖器702內(nèi)。由正向譯碼器704等通過(guò)對(duì)存儲(chǔ)在緩沖器702內(nèi)的編碼數(shù)據(jù)的位數(shù)進(jìn)行計(jì)數(shù),檢查由可雙向譯碼的可變長(zhǎng)碼構(gòu)成的DCT系數(shù)信息的總位數(shù)。然后,從緩沖器702讀出編碼數(shù)據(jù),并由正向譯碼器704開(kāi)始使用正向代碼字表703的通常的正向譯碼。該正向譯碼,一面檢查編碼數(shù)據(jù)是否含有差錯(cuò)一面進(jìn)行譯碼處理。
具體地說(shuō),當(dāng)出現(xiàn)了在正向代碼字表703內(nèi)不存在的位模式時(shí),或在譯碼后的編碼數(shù)據(jù)的位長(zhǎng)合計(jì)值尚未達(dá)到上述總位數(shù)的狀態(tài)下已經(jīng)沒(méi)有了應(yīng)進(jìn)行譯碼的數(shù)據(jù)時(shí),或者,發(fā)生了語(yǔ)法上不可能有的狀態(tài)時(shí),在上述狀態(tài)的發(fā)現(xiàn)位置檢測(cè)發(fā)生差錯(cuò)的情況。所謂語(yǔ)法上不可能有的狀態(tài),例如,意味著在8×8的DCT系數(shù)的各數(shù)據(jù)塊中的連″0″的個(gè)數(shù)與非零系數(shù)的個(gè)數(shù)的合計(jì)值大于64個(gè)的狀態(tài)等。
無(wú)論在什么樣的條件下發(fā)現(xiàn)了編碼數(shù)據(jù)的差錯(cuò),都要將發(fā)現(xiàn)差錯(cuò)前正常完成譯碼的正向譯碼結(jié)果與位上的差錯(cuò)發(fā)現(xiàn)位置及語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置一起作為指示發(fā)現(xiàn)了該差錯(cuò)的位置的信息傳送到譯碼值決定部705。這里,位上的差錯(cuò)發(fā)現(xiàn)位置,指示檢出差錯(cuò)的位置從DCT系數(shù)信息的同步開(kāi)始數(shù)起是第幾位的編碼數(shù)據(jù)。而語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置,例如,對(duì)于該同一差錯(cuò),指示檢出該差錯(cuò)的位置是從同步位置開(kāi)始數(shù)起是第幾個(gè)微數(shù)據(jù)塊等。
當(dāng)由正向譯碼器704發(fā)現(xiàn)了差錯(cuò)時(shí),開(kāi)關(guān)T被接通,存儲(chǔ)在緩沖器122內(nèi)的編碼數(shù)據(jù)這次是傳送到反向譯碼器708,由反向譯碼器708開(kāi)始使用反向代碼字表707從反向進(jìn)行譯碼。該反向譯碼,也是一面檢查在由可雙向譯碼的DCT系數(shù)信息構(gòu)成的編碼數(shù)據(jù)中是否含有差錯(cuò)一面進(jìn)行譯碼處理。差錯(cuò)檢測(cè)的條件,與正向譯碼器704時(shí)相同,當(dāng)在反向譯碼中發(fā)現(xiàn)了差錯(cuò)時(shí),將發(fā)現(xiàn)差錯(cuò)前正常完成譯碼的反向譯碼結(jié)果與位上的差錯(cuò)發(fā)現(xiàn)位置及語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置一起作為指示發(fā)現(xiàn)了該差錯(cuò)的位置的信息傳送到譯碼值決定部705。
在譯碼值決定部705中,將正向譯碼器704的譯碼結(jié)果與反向譯碼器708的譯碼結(jié)果進(jìn)行對(duì)照,以決定最終的譯碼結(jié)果。即,根據(jù)從正向譯碼器704和反向譯碼器708分別通知的位上和語(yǔ)法上的兩方面的差錯(cuò)發(fā)現(xiàn)位置,對(duì)正確微數(shù)據(jù)塊與不正確微數(shù)據(jù)塊的邊界進(jìn)行雙重判斷,并僅對(duì)以相當(dāng)大的概率估計(jì)為所有代碼字都正確的微數(shù)據(jù)塊將來(lái)自正向的譯碼結(jié)果和來(lái)自反向的譯碼結(jié)果有選擇地作為其譯碼值,而將除此以外的微數(shù)據(jù)塊廢棄。
圖14示出信息源譯碼器207的結(jié)構(gòu)的一例。
在信息源譯碼器207上,輸入由動(dòng)圖象多路化分離器206分離并進(jìn)行了可變長(zhǎng)度譯碼后的模式信息、動(dòng)矢量信息、DCT系數(shù)信息等。
輸入了模式信息的模式判定電路804,當(dāng)模式信息為INTRA時(shí),有選擇地使模式切換開(kāi)關(guān)805斷開(kāi),從而切斷與幀存儲(chǔ)器806的連接,而由反量化電路801對(duì)DCT系數(shù)信息進(jìn)行反量化,并由IDCT電路802進(jìn)行反離散余弦變換處理。由此,生成再生圖象信號(hào)。該再生圖象信號(hào),作為參照?qǐng)D象存儲(chǔ)在幀存儲(chǔ)器806內(nèi),另一方面,作為再生圖象信號(hào)輸出到顯示裝置。
如果模式信息為INTER,則使模式切換開(kāi)關(guān)805接通,從而將加法器803與幀存儲(chǔ)器806連接。因此,由反量化電路801對(duì)DCT系數(shù)信息進(jìn)行反量化,并由IDCT電路802進(jìn)行反離散余弦變換處理,然后通過(guò)加法器803與根據(jù)動(dòng)矢量信息對(duì)幀存儲(chǔ)器806的參照?qǐng)D象進(jìn)行動(dòng)態(tài)補(bǔ)償后所得到的信息相加,以生成再生圖象信號(hào)。該再生圖象信號(hào),作為參照?qǐng)D象存儲(chǔ)在幀存儲(chǔ)器806內(nèi),另一方面,作為再生圖象信號(hào)輸出。
圖15A~圖16B,是表示對(duì)由可雙向譯碼的可變長(zhǎng)碼構(gòu)成的DCT系數(shù)信息的編碼數(shù)據(jù)進(jìn)行譯碼時(shí)譯碼值決定部705的動(dòng)作。
首先,對(duì)DCT系數(shù)信息定義如下的函數(shù)。
L ...總位數(shù)N ...總微數(shù)據(jù)塊數(shù)N1 ...正向譯碼后的微數(shù)據(jù)塊數(shù)N2 ...反向譯碼后的微數(shù)據(jù)塊數(shù)L1 ...正向譯碼后的位數(shù)L2 ...反向譯碼后的位數(shù)f_mb(L)...正向L位譯碼后的微數(shù)據(jù)塊數(shù)b_mb(L)...反向L位譯碼后的微數(shù)據(jù)塊數(shù)圖15A示出當(dāng)正向譯碼器704和反向譯碼器708各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置或代碼字上的位置都不交叉時(shí),即L1+L2<L、且N1+N2<N時(shí)的情況。在這種情況下,使用回溯了T位的位置之前的位,從正向使用f_mb(L1-T)微數(shù)據(jù)塊的系數(shù)信息,從反向使用b_mb(L2-T)微數(shù)據(jù)塊的系數(shù)信息,而將其余的系數(shù)信息廢棄。
這里,規(guī)定了回溯T位,但也可以回溯T代碼字、或T數(shù)據(jù)塊、或T微數(shù)據(jù)塊。
圖15B示出當(dāng)正向譯碼器704和反向譯碼器708各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置不交叉但與代碼字上的位置交叉時(shí),即L1+L2<L、且N1+N2≥N時(shí)的情況。在這種情況下,從正向使用N-N2-1微數(shù)據(jù)塊的系數(shù)信息,從反向使用N-N1-1微數(shù)據(jù)塊的系數(shù)信息,而將其余的系數(shù)信息廢棄。
圖16A示出當(dāng)正向譯碼器704和反向譯碼器708各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置交叉但與代碼字上的位置不交叉時(shí),即L1+L2≥L、且N1+N2<N時(shí)的情況。在這種情況下,從正向使用N-b_mb(L2)微數(shù)據(jù)塊的系數(shù)信息,從反向使用N-f_mb(L1)微數(shù)據(jù)塊的系數(shù)信息,而將其余的系數(shù)信息廢棄。
圖16B示出當(dāng)正向譯碼器704和反向譯碼器708各自的差錯(cuò)發(fā)現(xiàn)位置與位上的位置或代碼字上的位置都交叉時(shí),即L1+L2≥L、且N1+N2≥N時(shí)的情況。在這種情況下,從正向使用min{N-b_mb(L2),N-N2-1}微數(shù)據(jù)塊的系數(shù),從反向使用min{N-f_mb(L1),N-N1-1}微數(shù)據(jù)塊的系數(shù),而將其余的系數(shù)廢棄。
這里,對(duì)于廢棄了DCT系數(shù)的微數(shù)據(jù)塊,在INTRA模式的情況下,照原樣顯示前面的畫(huà)面,或作為不進(jìn)行編碼的模式處理,在INTER模式的情況下,利用上層的動(dòng)矢量(MV)決定譯碼值,以便通過(guò)動(dòng)態(tài)補(bǔ)償(MC)進(jìn)行顯示。
另外,在變?yōu)閳D15A、15B、16A、16B的任何一種狀態(tài)的情況下,如圖17所示,即使沒(méi)有發(fā)現(xiàn)差錯(cuò),也要將同步區(qū)間內(nèi)的一部分或全部的INTRA模式的微數(shù)據(jù)塊的DCT系數(shù)廢棄,對(duì)于該部分,可以照原樣顯示前面的畫(huà)面,或作為不進(jìn)行編碼的模式處理。INTRA模式,在發(fā)生差錯(cuò)時(shí),對(duì)畫(huà)面造成的影響較大。具體地說(shuō),由于顯示出錯(cuò)的系數(shù)而發(fā)生在畫(huà)面內(nèi)出現(xiàn)顏色不自然的圖塊的現(xiàn)象。因此,如果判明至少在同步區(qū)間內(nèi)發(fā)生差錯(cuò),則將INTRA模式的微數(shù)據(jù)塊廢棄可以減小對(duì)畫(huà)面的影響。
另外,在本第2實(shí)施形態(tài)中,以微數(shù)據(jù)塊為單位進(jìn)行了DCT系數(shù)的廢棄,但當(dāng)然也可以以數(shù)據(jù)塊為單位進(jìn)行。
其次,說(shuō)明本第2實(shí)施形態(tài)的下層可變長(zhǎng)度譯碼器503的譯碼處理方法的步驟。
本譯碼處理方法,如圖13所述,基本上是在由可從兩個(gè)方向譯碼的可變長(zhǎng)度代碼字構(gòu)成的DCT系數(shù)信息中檢出差錯(cuò)前從正向進(jìn)行譯碼處理,而當(dāng)從該正向的譯碼處理中檢出差錯(cuò)時(shí),開(kāi)始從反向的譯碼處理,直到這次在該DCT系數(shù)信息中檢出差錯(cuò)為止。并利用從正向和反向的譯碼結(jié)果、及在從正向和反向的譯碼中分別檢出的位上的差錯(cuò)發(fā)現(xiàn)位置及語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置決定譯碼值。
以下,參照?qǐng)D18的流程圖,說(shuō)明與AC分量的DCT系數(shù)部對(duì)應(yīng)的譯碼處理步驟。
首先,定義上述的函數(shù)L、N、N1、N2、L1、L2、f_mb(L)、b_mb(L),然后,開(kāi)始進(jìn)行正向譯碼處理(步驟S201)。如果在該正向的譯碼處理中沒(méi)有發(fā)現(xiàn)差錯(cuò),則結(jié)束譯碼處理(步驟S202)。而當(dāng)在該正向的譯碼處理中發(fā)現(xiàn)了差錯(cuò)時(shí),開(kāi)始進(jìn)行反向譯碼處理(步驟S203)。當(dāng)在正向的譯碼處理中發(fā)現(xiàn)了差錯(cuò)時(shí),通常,在反向的譯碼處理中也會(huì)發(fā)現(xiàn)差錯(cuò)。
如果差錯(cuò)發(fā)現(xiàn)位置與位上的位置或代碼字上的位置都不交叉時(shí),即當(dāng)L1+L2<L、且N1+N2<N時(shí)(步驟S204),使用回溯了T位的位置之前的位,從正向使用f_mb(L1-T)微數(shù)據(jù)塊的系數(shù)信息,從反向使用b_mb(L2-T)微數(shù)據(jù)塊的系數(shù)信息,而將其余的系數(shù)信息廢棄(步驟S205)。
如果差錯(cuò)發(fā)現(xiàn)位置與位上的位置不交叉但與代碼字上的位置交叉時(shí),即當(dāng)L1+L2<L、且N1+N2≥N時(shí)(步驟S206),從正向使用N-N2-1微數(shù)據(jù)塊的系數(shù)信息,從反向使用N-N1-1微數(shù)據(jù)塊的系數(shù)信息,而將其余的系數(shù)信息廢棄(步驟S207)。
如果差錯(cuò)發(fā)現(xiàn)位置與位上的位置交叉但與代碼字上的位置不交叉時(shí),即當(dāng)L1+L2≥L、且N1+N2<N時(shí)(步驟S208),從正向使用N-b_mb(L2)微數(shù)據(jù)塊的系數(shù)信息,從反向使用N-f_mb(L1)微數(shù)據(jù)塊的系數(shù)信息,而將其余的系數(shù)信息廢棄(步驟S209)。
如果差錯(cuò)發(fā)現(xiàn)位置是除上述以外的情況,具體地說(shuō),當(dāng)與位上的位置或代碼字上的位置都交叉時(shí),即當(dāng)L1+L2≥L、且N1+N2≥N時(shí),從正向使用min{N-b_mb(L2),N-N2-1}微數(shù)據(jù)塊的系數(shù),從反向使用min{N-f_mb(L1),N-N1-1}微數(shù)據(jù)塊的系數(shù),而將其余的系數(shù)廢棄(步驟S210)。
當(dāng)發(fā)現(xiàn)差錯(cuò)時(shí),將該同步區(qū)間內(nèi)的全部INTRA模式的微數(shù)據(jù)塊的DCT系數(shù)廢棄,照原樣顯示前面的畫(huà)面,或作為不進(jìn)行編碼的模式處理(步驟S211)。
對(duì)于廢棄了DCT系數(shù)的微數(shù)據(jù)塊,在INTRA模式的情況下,照原樣顯示前面的畫(huà)面,或作為不進(jìn)行編碼的模式處理,在INTER模式的情況下,利用上層的動(dòng)矢量(MV)決定譯碼值,以便通過(guò)動(dòng)態(tài)補(bǔ)償(MC)進(jìn)行顯示(步驟S212)。
以下,說(shuō)明在本第2實(shí)施形態(tài)的動(dòng)圖象編碼/譯碼裝置中采用的代碼字表的具體構(gòu)成例及使用該表的可逆碼的編碼/譯碼動(dòng)作。
在圖10的信息源編碼器202中,通過(guò)對(duì)量化后的每個(gè)8×8的DCT系數(shù)的數(shù)據(jù)塊進(jìn)行塊內(nèi)掃描,求得LAST(0不是塊的最后的非零系數(shù),1塊的最后的非零系數(shù))、RUN(非零系數(shù)前的連″0″個(gè)數(shù))及LEVEL(系數(shù)的量化值),并傳送到動(dòng)圖象多路化部203。
動(dòng)圖象多路化部203,包含上層可變長(zhǎng)度編碼部和下層可變長(zhǎng)度編碼部,在采用可逆碼進(jìn)行可變長(zhǎng)度編碼的下層可變長(zhǎng)度編碼部的代碼字表中,包含著在圖22~圖26中示出的4個(gè)表。圖22是用于從INTRA(幀內(nèi)編碼)的非LAST系數(shù)的RUN及LEVEL檢索圖25、26的代碼字表的INDEX值的INDEX表。圖23是用于從INTER(幀間編碼)的非LAST系數(shù)的RUN及LEVEL,檢索圖25、26的代碼字表的INDEX值的INDEX表。圖24是用于從INTRA及INTER共用的LAST系數(shù)的RUN及LEVEL,檢索圖25、26的代碼字表的INDEX值的INDEX表。圖25和圖26,是使INDEX值與可逆可變長(zhǎng)度代碼字(VLC-CODE)相互對(duì)應(yīng)的代碼字表。此外,還采用圖27的RUM固定長(zhǎng)度代碼字表及圖28的LEVEL固定長(zhǎng)度代碼字表,作為用于變換為固定長(zhǎng)度的可逆代碼字的表。
以下,參照?qǐng)D19的流程圖,說(shuō)明采用這些表的下層可變長(zhǎng)度編碼部的可變長(zhǎng)度編碼處理的步驟。
首先,按照由上層的模式信息指定的預(yù)測(cè)模式選擇應(yīng)使用的INDEX表(步驟S301)。在這種情況下,如果預(yù)測(cè)模式是INTRA,則選擇圖22的INDEX表及圖24的INDEX表,如果預(yù)測(cè)模式是INTER,則選擇圖23的INDEX表及圖24的INDEX表。
然后,檢查應(yīng)進(jìn)行編碼的DCT系數(shù)的RUN和LEVEL的值是否在應(yīng)使用的INDEX表所定義的RUN和LEVEL的最大值以下(步驟S302)。如果在應(yīng)使用的INDEX表所定義的RUN和LEVEL的最大值以下,則使用該RUN和LEVEL的值檢索INDEX表,并求得用于檢索圖25和圖26的代碼字表的INDEX值(步驟S303)。接著,判斷從INDEX表求得的INDEX值是否為″0″(步驟S304)。如果是″0″以外的值,則對(duì)圖25和圖26的代碼字表進(jìn)行檢索,并輸出與INDEX值對(duì)應(yīng)的可逆代碼字(步驟S305)。這里,圖25和圖26的代碼字表中的可逆代碼字的最末位″s″表示LEVEL的正負(fù)符號(hào),當(dāng)″s″為″0″時(shí),LEVEL的符號(hào)為正,當(dāng)″s″為″1″時(shí),LEVEL的符號(hào)為負(fù)。
另一方面,當(dāng)應(yīng)進(jìn)行編碼的RUN和LEVEL的值超過(guò)應(yīng)使用的INDEX表所定義的RUN和LEVEL的最大值時(shí),或如果從INDEX表求得的INDEX值為″0″,則對(duì)(LAST、RUN、LEVEL)進(jìn)行固定長(zhǎng)度編碼,并在其兩端附加ESCAPE碼(轉(zhuǎn)義碼)后輸出(步驟S306)。即,根據(jù)圖27的RUN固定長(zhǎng)度代碼字表及圖28的LEVEL固定長(zhǎng)度代碼字表,將RUN和LEVEL的值分別變換為6位和7位的固定長(zhǎng)度碼,并如圖29所示,在該固定長(zhǎng)度碼的開(kāi)頭附加與LAST的值對(duì)應(yīng)的1位。進(jìn)一步,在該代碼串的兩端附加ESCAPE碼。開(kāi)頭的ESCAPE碼為″00001″,末尾的ESCAPE碼,為按照?qǐng)D25和圖26的代碼字表的INDEX值=″0″檢索的可逆碼″0000s″。該可逆碼″0000s″的最末位″s″表示LEVEL的正負(fù)符號(hào),當(dāng)″s″為″0″時(shí),LEVEL的符號(hào)為正,當(dāng)″s″為″1″時(shí),LEVEL的符號(hào)為負(fù)。
其次,說(shuō)明由正向譯碼器704和反向譯碼器708分別執(zhí)行的可逆碼譯碼處理的方法。
在正向代碼字表703及反向代碼字表707中,除上述圖25和圖26的代碼字表、圖27的RUN固定長(zhǎng)度代碼字表、圖28的LEVEL固定長(zhǎng)度代碼字表以外,還分別預(yù)先準(zhǔn)備如圖30和圖31所示的譯碼值表作為代碼字表。在圖30和圖31的譯碼值表內(nèi),分別對(duì)INTRA和INTER模式設(shè)定著與INDEX值對(duì)應(yīng)的(LAST、RUN、LEVEL)的譯碼值。
先參照?qǐng)D20所示的流程圖,說(shuō)明正向譯碼處理。
首先,進(jìn)行編碼數(shù)據(jù)的譯碼處理,使用圖25和圖26的代碼字表求取與可逆代碼字對(duì)應(yīng)的INDEX值(步驟S401)。然后,檢查INDEX值是否為″0″(步驟S402)。如果是″0″以外的值,則根據(jù)INDEX值和模式檢索圖30和圖31的譯碼值表,求得與所使用的預(yù)測(cè)模式及INDEX值對(duì)應(yīng)的(LAST、RUN、LEVEL)的譯碼值(步驟S403)。當(dāng)INDEX值為″0″時(shí),由于是ESCAPE碼,所以用圖27和圖28的固定長(zhǎng)度代碼字表對(duì)接在該ESCAPE碼后面的(LAST、RUN、LEVEL)的固定長(zhǎng)度碼進(jìn)行譯碼(步驟S404)。接著,對(duì)末尾的ESCAPE碼進(jìn)行譯碼(步驟S405)。用代碼字的最后1位進(jìn)行LEVEL的正負(fù)判定(步驟S406)。
以下,參照?qǐng)D21的流程圖,說(shuō)明反向譯碼處理。
首先,由代碼字的開(kāi)頭的1位決定LEVEL的正負(fù)(步驟S501)。然后,使用圖25和圖26的代碼字表求取與可逆代碼字對(duì)應(yīng)的INDEX值(步驟S502)。接著,檢查INDEX值是否為″0″(步驟S503)。如果是″0″以外的值,則根據(jù)INDEX值和預(yù)測(cè)模式檢索圖30和圖31的譯碼值表,求得與所使用的預(yù)測(cè)模式及INDEX值對(duì)應(yīng)的(LAST、RUN、LEVEL)的譯碼值(步驟S504)。當(dāng)INDEX值為″0″時(shí),由于是ESCAPE碼,所以用圖27和圖28的固定長(zhǎng)度代碼字表對(duì)接在其后的(LAST、RUN、LEVEL)的固定長(zhǎng)度碼進(jìn)行譯碼(步驟S505)。然后,對(duì)開(kāi)頭的ESCAPE碼進(jìn)行譯碼(步驟S506)。
其次,說(shuō)明本第2實(shí)施形態(tài)的在正向和反向的各譯碼處理中進(jìn)行的差錯(cuò)發(fā)現(xiàn)處理的步驟。
圖32是以在編碼數(shù)據(jù)中出現(xiàn)了在正向代碼字表124內(nèi)不存在的位模式為依據(jù)發(fā)現(xiàn)差錯(cuò)時(shí)的流程圖。
首先,確認(rèn)在上述的編碼數(shù)據(jù)的譯碼處理中求得的INDEX值是否存在,以便確認(rèn)與在正向或反向譯碼處理中所采用的代碼字表相當(dāng)?shù)拇a字是否存在(步驟S601)。如果INDEX值不存在,則判定出現(xiàn)了不存在的代碼字模式,并由此發(fā)現(xiàn)差錯(cuò)(步驟S606)。
另一方面,當(dāng)INDEX值存在時(shí),首先,檢查該INDEX值是否為″0″(步驟S602)。當(dāng)INDEX值為″0″時(shí),由于在該情況下是以ESCAPE碼進(jìn)行編碼,所以檢查(LAST、RUN、LEVEL)的組合在代碼字表中是否存在(步驟S603)。當(dāng)該組合在代碼字表中存在時(shí),判定出現(xiàn)了不存在的代碼字模式,并由此發(fā)現(xiàn)差錯(cuò)(步驟S606)。而當(dāng)(LAST、RUN、LEVEL)的組合在代碼字表中不存在時(shí),確認(rèn)在固定長(zhǎng)度碼的后面是否存在ESCAPE碼(步驟S604)。如果ESCAPE碼不存在,則判定出現(xiàn)了不存在的代碼字模式并由此發(fā)現(xiàn)差錯(cuò)(步驟S606)。而如果ESCAPE碼存在,則判定為正確的編碼位模式,并進(jìn)行正確的譯碼處理(步驟S605)。
另一方面,當(dāng)在代碼字表內(nèi)存在INDEX值、且INDEX值為″0″以外的值時(shí),判定為正確的編碼位模式,并進(jìn)行正確的譯碼處理(步驟S605)。
圖33是以發(fā)生語(yǔ)法上不可能有的狀態(tài)為依據(jù)發(fā)現(xiàn)差錯(cuò)時(shí)的流程圖。在本例中,對(duì)8×8的DCT系數(shù)的各數(shù)據(jù)塊中的連″0″個(gè)數(shù)與零以外的非零系數(shù)的個(gè)數(shù)的合計(jì)值是否大于64個(gè)進(jìn)行檢查。
即,首先,檢查在A(yíng)C分量的DCT系數(shù)部的編碼數(shù)據(jù)中是否含有8×8的DCT系數(shù)中的直流分量(步驟S701),如果含有,則對(duì)表示連″0″個(gè)數(shù)與非零系數(shù)的個(gè)數(shù)的合計(jì)值的變量SUM設(shè)定″0″作為初始值(步驟S702),如果不含,則對(duì)變量SUM設(shè)定″1″作為初始值(步驟S703)。
然后,反復(fù)執(zhí)行由(LAST、RUN、LEVEL)提供的各DCT系數(shù)的編碼數(shù)據(jù)的可變長(zhǎng)度譯碼,直到LAST=″1″為止(步驟S704~S707),但在該處理中,每當(dāng)在步驟S704中進(jìn)行(LAST、RUN、LEVEL)的可變長(zhǎng)度譯碼時(shí),都要對(duì)表示非零系數(shù)前的連″0″個(gè)數(shù)的RUN的值加1,就是說(shuō),將RUN+1的值與變量SUM相加(步驟S705)。這里,之所以對(duì)RUN的值加1,是因?yàn)闊o(wú)論是零系數(shù)和非零系數(shù)中的哪一個(gè)都對(duì)該一個(gè)系數(shù)進(jìn)行了譯碼處理。檢查變量SUM的值是否大于64(步驟S706),如果變量SUM的值大于64,則此時(shí)將檢測(cè)出在語(yǔ)法上發(fā)生了錯(cuò)誤(步驟S709)。
如果在LAST系數(shù)變?yōu)椤?″之前的期間沒(méi)有發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,則該數(shù)據(jù)塊的譯碼處理正常結(jié)束(步驟S708)。
(在兩端附加ESCAPE碼時(shí)的其他構(gòu)成例)圖34和圖35是在兩端附加ESCAPE碼時(shí)的其他結(jié)構(gòu)。RUN和LEVEL的值,分別根據(jù)圖23的RUN固定長(zhǎng)度代碼字表及圖34的LEVEL固定長(zhǎng)度代碼字表變換為6位和11位的固定長(zhǎng)度碼。這時(shí),為限制連″0″的個(gè)數(shù),在LEVEL的兩端設(shè)置″1″的標(biāo)記位。在該代碼串的開(kāi)頭,如圖35所示,附加與LAST的值對(duì)應(yīng)的1位。進(jìn)一步,在該代碼串的兩端附加ESCAPE碼。開(kāi)頭的ESCAPE碼,為″00001″,末尾的ESCAPE碼,為按照?qǐng)D25和圖26的代碼字表的INDEX值=″0″檢索的可逆碼″0000s″。該可逆碼″0000s″的最末位″s″表示LEVEL的正負(fù)符號(hào),當(dāng)″s″為″0″時(shí),LEVEL的符號(hào)為正,當(dāng)″s″為″1″時(shí),LEVEL的符號(hào)為負(fù)。
圖37示出與圖19對(duì)應(yīng)的下層可變長(zhǎng)度編碼的可變長(zhǎng)度編碼處理步驟。
步驟S801~S805,分別與圖19的步驟S301~S305相同,與圖19的不同之處是步驟S806部分。在該步驟中,在LEVEL的兩端設(shè)置標(biāo)記位。
圖38和圖39,分別示出正向譯碼器704和反向譯碼器708的可逆碼的譯碼處理方法。
圖38的正向譯碼處理的步驟S901、S902、S903、S905、S906,與圖20的構(gòu)成正向譯碼處理的步驟S401、S402、S403、S405、S406相同,與圖20的不同之處是步驟S904。在步驟S904中,不只是對(duì)接在ESCAPE碼后面的(LAST、RUN、LEVEL)的固定長(zhǎng)度碼進(jìn)行譯碼,而是對(duì)接在ESCAPE碼后面的(LAST、RUN、LEVEL)和標(biāo)記位的固定長(zhǎng)度碼進(jìn)行譯碼。
同樣,圖39的反向譯碼處理的步驟S1001、S1002、S1003、S1005、S1006,與圖21的構(gòu)成反向譯碼處理的步驟S501、S502、S503、S505、S506相同,與圖21的不同之處是步驟S1005。這里,不只是對(duì)(LAST、RUN、LEVEL)的固定長(zhǎng)度碼進(jìn)行譯碼,而且對(duì)(LAST、RUN、LEVEL)和標(biāo)記位的固定長(zhǎng)度碼進(jìn)行譯碼。
另外,在本例中,作為在兩端附加ESCAPE碼時(shí)的結(jié)構(gòu),示出了RUN為6位、LEVEL的固定代碼長(zhǎng)度為7位的情況和11位的情況,但當(dāng)然也可以是其他的位數(shù)。
圖36是在兩端附加ESCAPE碼時(shí)的另一種結(jié)構(gòu)。例如,當(dāng)LEVEL的固定代碼長(zhǎng)度長(zhǎng)、并超過(guò)連″0″的個(gè)數(shù)限制時(shí),如圖36所示,最好在LEVEL的固定長(zhǎng)度碼之間插入標(biāo)記位。例如,當(dāng)再同步標(biāo)記等同步碼的碼長(zhǎng)為17位(16位的″0″游程+1;″00000000000000001″)時(shí),為避免同步碼與其他代碼字的混同,將連″0″的個(gè)數(shù)限制在15位以下。在這種情況下,當(dāng)LEVEL的固定代碼長(zhǎng)度長(zhǎng)、其連″0″的個(gè)數(shù)有可能超過(guò)16位時(shí),如圖36所示,在LEVEL的固定長(zhǎng)度碼之間插入標(biāo)記位。因此,即使是在LEVEL的固定代碼長(zhǎng)度長(zhǎng)的情況下,也能避免與同步碼混同。
圖40是表示AC-DCT部的不存在的代碼字模式的檢測(cè)方法的流程圖。該圖與圖32相對(duì)應(yīng)。
首先,確認(rèn)INDEX值是否存在,以便確認(rèn)代碼字在代碼字表中是否存在(步驟S1101)。如果INDEX值不存在,則判定產(chǎn)生了不存在的代碼字模式(步驟S1107)。
如INDEX值存在時(shí),確認(rèn)INDEX值是否為″0″(步驟S1102)。如INDEX值為″0″時(shí),由于是以ESCAPE碼進(jìn)行編碼,所以對(duì)(LAST、RUN、LEVEL)的組合進(jìn)行譯碼,并檢查其在代碼字表中是否存在(步驟S1103)。當(dāng)該組合在代碼字表中存在時(shí),判定產(chǎn)生了不存在的代碼字模式(步驟S1107)。
另外,確認(rèn)標(biāo)記位是否正確(步驟S1104)。如標(biāo)記位不正確時(shí),判定產(chǎn)生了不存在的代碼字模式(步驟S1107)。
如INDEX值為″0″以外的值時(shí),進(jìn)行正確的譯碼(S1106)。
如組合在代碼字表中不存在、而標(biāo)記位正確時(shí),確認(rèn)在固定長(zhǎng)度碼的后面是否存在ESCAPE碼(步驟S1105)。如ESCAPE碼不存在時(shí),判定產(chǎn)生了不存在的代碼字模式(步驟S1107)。而如ESCAPE碼存在時(shí),進(jìn)行正確的譯碼(步驟S1106)。
這樣,在由本例的正向和反向的各譯碼處理所進(jìn)行的差錯(cuò)檢測(cè)處理中加入了標(biāo)記位是否正確的判定處理。
(在兩端附加ESCAPE碼時(shí)的另一構(gòu)成例)圖41和圖42,是在兩端附加ESCAPE碼時(shí)的另一種結(jié)構(gòu)。這里,假定為以二進(jìn)制補(bǔ)碼形式表示LEVEL值的情況。在這種情況下,由LEVEL的代碼字特定其正負(fù),所以代碼串末尾的ESCAPE碼為″00001″,不使用指示LEVEL正負(fù)的代碼″s″。
RUN和LEVEL的值,分別根據(jù)圖27的RUN固定長(zhǎng)度代碼字表及圖41的LEVEL固定長(zhǎng)度代碼字表變換為固定長(zhǎng)度碼。這時(shí),為限制連″0″的個(gè)數(shù),在LEVEL的兩端設(shè)置″1″的標(biāo)記位。在該代碼串的開(kāi)頭,如圖42所示,附加與LAST的值對(duì)應(yīng)的1位。進(jìn)一步,在該代碼串的兩端附加ESCAPE碼。
另外,根據(jù)LEVEL的固定代碼長(zhǎng)度,可以將LEVEL與末尾的ESCAPE碼之間的標(biāo)記位的插入省略。該例示于圖43。在圖43中,示出LEVEL的固定代碼長(zhǎng)度為12位的情況。
LEVEL的連″0″的個(gè)數(shù),為L(zhǎng)EVEL的固定代碼長(zhǎng)度-2位,所以,如果LEVEL的固定代碼長(zhǎng)度在13位以下,則即使加上末尾的ESCAPE碼的4位″0″游程,合計(jì)的連″0″個(gè)數(shù)也小于同步碼為17位時(shí)的限制值(16位)。
另外,如上所述,連″0″的個(gè)數(shù)限制由同步碼的位數(shù)決定,所以當(dāng)同步碼的代碼長(zhǎng)度設(shè)定得長(zhǎng)時(shí),如圖44和圖45所示,作為L(zhǎng)EVEL的代碼字無(wú)論采用絕對(duì)值和二進(jìn)制補(bǔ)碼表示的值中的哪一個(gè),都可以將標(biāo)記位的插入省略。
相反,當(dāng)作為L(zhǎng)EVEL的代碼字用二進(jìn)制補(bǔ)碼表示時(shí),也可以與圖36一樣,在LEVEL的代碼字內(nèi)插入標(biāo)記位,以便不超出連″0″個(gè)數(shù)的限制。圖46示出該例。
圖47示出當(dāng)作為L(zhǎng)EVEL的代碼字用二進(jìn)制補(bǔ)碼表示且插入了標(biāo)記位時(shí)、即當(dāng)使用了圖42、圖43或圖46的編碼數(shù)據(jù)串時(shí)的正向譯碼處理的步驟。
與作為L(zhǎng)EVEL的代碼字使用絕對(duì)值的圖38的正向譯碼處理不同之處在于,省略了步驟S906的處理。就是說(shuō),當(dāng)作為L(zhǎng)EVEL的代碼字用二進(jìn)制補(bǔ)碼表示時(shí),也可以通過(guò)步驟S204中的(LAST、RUN、LEVEL)和標(biāo)記位的固定長(zhǎng)度碼的譯碼處理判定LEVEL的代碼的正負(fù)。
圖48示出當(dāng)作為L(zhǎng)EVEL的代碼字用二進(jìn)制補(bǔ)碼表示且插入了標(biāo)記位時(shí)、即當(dāng)使用了圖42、圖43或圖46的編碼數(shù)據(jù)串時(shí)的反向譯碼處理的步驟。
與作為L(zhǎng)EVEL的代碼字使用絕對(duì)值的圖39的反向譯碼處理不同之處在于,省略了步驟S1301的處理。就是說(shuō),當(dāng)作為L(zhǎng)EVEL的代碼字用二進(jìn)制補(bǔ)碼表示時(shí),也可以通過(guò)步驟S1304中的(LAST、RUN、LEVEL)和標(biāo)記位的固定長(zhǎng)度碼的譯碼處理判定LEVEL的代碼的正負(fù)。
圖49示出當(dāng)作為L(zhǎng)EVEL的代碼字用二進(jìn)制補(bǔ)碼表示且不使用標(biāo)記位時(shí)、即當(dāng)使用了圖45的編碼數(shù)據(jù)串時(shí)的正向譯碼處理的步驟。與圖47的不同之處在于,在步驟S1204中只對(duì)(LAST、RUN、LEVEL)的固定長(zhǎng)度碼進(jìn)行譯碼處理。
圖50示出當(dāng)作為L(zhǎng)EVEL的代碼字用二進(jìn)制補(bǔ)碼表示且不使用標(biāo)記位時(shí)、即當(dāng)使用了圖45的編碼數(shù)據(jù)串時(shí)的反向譯碼處理的步驟。與圖48的不同之處在于,在步驟S1504中只對(duì)(LAST、RUN、LEVEL)的固定長(zhǎng)度碼進(jìn)行譯碼處理。
(第3實(shí)施形態(tài))其次,作為本發(fā)明的第3實(shí)施形態(tài),說(shuō)明可以應(yīng)用于第1和第2實(shí)施形態(tài)的譯碼值決定處理的差錯(cuò)范圍的推斷方法。
圖51是表示本發(fā)明第3實(shí)施形態(tài)的可變長(zhǎng)度譯碼器109的結(jié)構(gòu)的框圖。
可變長(zhǎng)度譯碼器109,以與第1和第2實(shí)施形態(tài)同樣的方式按每個(gè)同步區(qū)間對(duì)包含可變長(zhǎng)碼的編碼數(shù)據(jù)進(jìn)行譯碼,其基本結(jié)構(gòu)與第1和第2實(shí)施形態(tài)相同。
即,在可變長(zhǎng)度譯碼器109中,當(dāng)編碼數(shù)據(jù)為只能進(jìn)行正向譯碼的可變長(zhǎng)碼時(shí),開(kāi)關(guān)S連接在A(yíng)側(cè),由正向譯碼器104進(jìn)行通常的正向譯碼。由正向譯碼器104譯碼后的編碼數(shù)據(jù)傳送到譯碼值決定部105。
當(dāng)編碼數(shù)據(jù)為可雙向譯碼的可變長(zhǎng)碼時(shí),開(kāi)關(guān)S101連接在B側(cè),將編碼數(shù)據(jù)存儲(chǔ)在緩沖器102內(nèi),并在檢查了編碼數(shù)據(jù)的總位數(shù)后,由正向譯碼器104進(jìn)行譯碼。
當(dāng)由正向譯碼器104發(fā)現(xiàn)了差錯(cuò)時(shí),開(kāi)關(guān)T105被接通,由反向譯碼器108對(duì)存儲(chǔ)在緩沖器102內(nèi)的編碼數(shù)據(jù)從反向進(jìn)行譯碼。
當(dāng)在正向譯碼器104和反向譯碼器108中出現(xiàn)了不存在的代碼字時(shí),判斷為發(fā)生了差錯(cuò)。
在譯碼值決定部105中,將正向譯碼器104的譯碼結(jié)果與反向譯碼器108的譯碼結(jié)果進(jìn)行對(duì)照,以決定最終的譯碼結(jié)果。
以下,說(shuō)明當(dāng)編碼數(shù)據(jù)為可雙向譯碼的可變長(zhǎng)碼時(shí)譯碼值決定部105的動(dòng)作。
在本第3實(shí)施形態(tài)中,根據(jù)由正向和反向譯碼處理檢出的編碼數(shù)據(jù)的差錯(cuò)檢測(cè)位置、傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率、各代碼字的發(fā)生概率、及代碼字表中的各代碼字的位模式,推斷差錯(cuò)的存在范圍,從而決定最終的譯碼值。就是說(shuō),如上所述,在第1和第2實(shí)施形態(tài)中,將與檢出差錯(cuò)的位置相距一定量(T代碼字)的范圍固定地特定為差錯(cuò)傳播范圍,但在本第3實(shí)施形態(tài)中,通過(guò)差錯(cuò)傳播范圍的推斷求取最佳的T值。
在二進(jìn)制的情況下,已知作為無(wú)存儲(chǔ)信息源的最佳編碼的霍夫曼碼的代碼長(zhǎng)度,在二進(jìn)制的情況下,能以等號(hào)滿(mǎn)足如下的Kraft不等式。Σx∈X2-1(x)=1···(1)]]>式中,x為代碼X的代碼字,l(x)為x的代碼長(zhǎng)度。
但是,在按本發(fā)明設(shè)定同步區(qū)間并插入同步碼時(shí),所進(jìn)行的是不能與同步碼的模式(例如,000...01)沖突的設(shè)計(jì),所以采用不能以等號(hào)滿(mǎn)足Kraft不等式的代碼。Σx∈X2-1(x)<1···(2)]]>例如,在如圖56和圖57A、57B、57C所示的代碼的情況下,為了不與同步碼發(fā)生沖突,將″0000″作為禁止代碼字。在這樣的代碼中,當(dāng)因混入差錯(cuò)而不能對(duì)可變長(zhǎng)碼進(jìn)行正確的譯碼時(shí),如產(chǎn)生不出現(xiàn)的模式″0000″,則可以檢測(cè)出發(fā)生了差錯(cuò)。
如假定圖58所示的誤碼率為ε、(0<ε<1)的二進(jìn)制通信線(xiàn)路,則作為傳輸或存儲(chǔ)編碼數(shù)據(jù)的傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的通信線(xiàn)路模型,由于不考慮位的插入、短缺,所以發(fā)送代碼字x并對(duì)接收序列y進(jìn)行接收的條件概率P(y|P(x|y)x)為

式中,d(x,y)為序列x與序列y的哈明間距。
其結(jié)果是,接收序列y的概率P(y)為P(y)=Σx∈XP(x)P(y·|x)····(4)]]>這里,假定代碼X的代碼字?jǐn)?shù)為有限值,對(duì)所有的x為P(x)>0。
但是,為了分析從差錯(cuò)混入位流的狀態(tài)到檢出差錯(cuò)的狀態(tài),首先,至少必須考慮1位混入差錯(cuò)的狀態(tài)(初始狀態(tài)I)。
另外,由于代碼字x的1個(gè)位也不出錯(cuò)的概率為(1-ε)l(x),所以,如考慮各代碼字中至少1位混入差錯(cuò)的條件概率,則為

P′(y)=Σx∈XP(x)P′(y|x)]]>這里,當(dāng)作為對(duì)象的是可瞬時(shí)譯碼的代碼時(shí),無(wú)差錯(cuò)時(shí)的接收序列y,從代碼樹(shù)的根部開(kāi)始并必然能到達(dá)葉部。
但是,當(dāng)有差錯(cuò)時(shí),接收序列y,由于存在著不僅在代碼樹(shù)的葉部而且在節(jié)點(diǎn)的狀態(tài)開(kāi)始或被接收的可能性,所以,可以用如圖55所示的狀態(tài)遷移圖表示。對(duì)各狀態(tài)的遷移概率tij,可以按下式求出從狀態(tài)i向狀態(tài)j遷移時(shí)的狀態(tài)遷移概率tij。

式中,函數(shù)V(y,i→j),如果在狀態(tài)i時(shí)以接收序列y遷移到狀態(tài)j,則其值為1,否則其值為0。
這里,將各狀態(tài)定義如下。
I初始狀態(tài)S同步狀態(tài)Ui 非同步狀態(tài) i=1、...、N-2E差錯(cuò)檢出狀態(tài)圖55是代碼字的狀態(tài)遷移圖的例,圖56是代碼字的狀態(tài)遷移表。
行列式T,是狀態(tài)遷移表中將從各狀態(tài)檢出差錯(cuò)的概率除去后的部分,定義為

另一方面,矢量D,假定為從各狀態(tài)遷移到差錯(cuò)檢出狀態(tài)E的概率。D=(t1N+1,t2N+1,···tNN+1)T···(8)]]>由于從初始狀態(tài)I開(kāi)始,所以除差錯(cuò)檢出狀態(tài)E外各狀態(tài)概率的初始概率設(shè)置為(0)=(1,0,···0)···(9)]]>因此,i代碼字后的除差錯(cuò)檢出狀態(tài)E外各狀態(tài)的概率,可以按下式計(jì)算。Q(i)=Q(0)Ti-1···(10)]]>因此,i代碼字后檢出差錯(cuò)的概率,對(duì)i-1代碼字后的各狀態(tài)是其下一次檢測(cè)的概率,所以,其概率為R(i)=Q(i-1)D=Q(0)Ti-1D,i=1,2,······(11)]]>但是,T0,為單位行列式I。
通過(guò)設(shè)定推斷概率a,可以計(jì)算能以該概率檢出差錯(cuò)的代碼字?jǐn)?shù)。a<Σi=1jR(i)···(12)]]>求出滿(mǎn)足上式的最小的j并設(shè)定F(a),即可按一定的概率推斷差錯(cuò)的存在范圍。該F(a)相當(dāng)于如上所述的第1和第2實(shí)施形態(tài)中的T。
也就是說(shuō),在從可以檢出差錯(cuò)的位置回溯F(a)代碼字的范圍內(nèi)以概率a存在著差錯(cuò)。另外,如從譯碼處理的角度考慮,則根據(jù)該值從可以檢出差錯(cuò)的位置回溯F(a)代碼字,就能以概率a將差錯(cuò)有可能傳播的部分排除。
譯碼值決定部105,根據(jù)正向代碼字表103、反向代碼字表108、代碼字發(fā)生概率、通信線(xiàn)路的誤碼率ε、及推斷概率a,計(jì)算正向的差錯(cuò)存在范圍F1(a)及反向的差錯(cuò)存在范圍F2(a),并根據(jù)與差錯(cuò)檢出位置的關(guān)系決定廢棄的部分。
如圖57A所示,當(dāng)正向的差錯(cuò)發(fā)現(xiàn)位置與反向的差錯(cuò)發(fā)現(xiàn)位置不交叉時(shí),從各自的檢出位置回溯與差錯(cuò)存在范圍F1(a)、F2(a)相當(dāng)?shù)牟糠?,使?yīng)廢棄的范圍增加。
如圖57B所示,當(dāng)正向的差錯(cuò)發(fā)現(xiàn)位置與反向的差錯(cuò)發(fā)現(xiàn)位置交叉、且交叉的范圍大于差錯(cuò)存在范圍時(shí),將交叉的范圍作為應(yīng)廢棄的范圍。
如圖57C所示,當(dāng)正向的差錯(cuò)發(fā)現(xiàn)位置與反向的差錯(cuò)發(fā)現(xiàn)位置交叉、且交叉的范圍小于差錯(cuò)存在范圍時(shí),將差錯(cuò)存在范圍作為應(yīng)廢棄范圍。
另外,也可以將F(a)乘以平均代碼長(zhǎng)度,從而按位數(shù)進(jìn)行推斷。B(a)=F(a)Σx∈XP(x)l(x)···(13)]]>在這種情況下,譯碼值決定部105,執(zhí)行如圖58A~58C所示的動(dòng)作。與圖57A~57C時(shí)相同,如圖58A所示,當(dāng)正向的差錯(cuò)發(fā)現(xiàn)位置與反向的差錯(cuò)發(fā)現(xiàn)位置不交叉時(shí),從各自的檢出位置回溯與差錯(cuò)存在范圍B1(a)、B2(a)相當(dāng)?shù)牟糠?,使?yīng)廢棄的范圍增加。
如圖58B所示,當(dāng)正向的差錯(cuò)發(fā)現(xiàn)位置與反向的差錯(cuò)發(fā)現(xiàn)位置交叉、且交叉的范圍大于差錯(cuò)存在范圍時(shí),將交叉的范圍作為應(yīng)廢棄范圍。
如圖58C所示,當(dāng)正向的差錯(cuò)發(fā)現(xiàn)位置與反向的差錯(cuò)發(fā)現(xiàn)位置交叉、且交叉的范圍小于差錯(cuò)存在范圍時(shí),將差錯(cuò)存在范圍作為應(yīng)廢棄范圍。
在本第3實(shí)施形態(tài)中,示出了可雙向譯碼的可變長(zhǎng)度譯碼器時(shí)的例,但在通常的只能進(jìn)行正向譯碼的可變長(zhǎng)度譯碼器的情況下也可以應(yīng)用。
在如上所述的第3實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置中,按如下步驟進(jìn)行譯碼處理1)在編碼數(shù)據(jù)中檢出差錯(cuò)前從正向?qū)υ摼幋a數(shù)據(jù)進(jìn)行譯碼,2)當(dāng)從正向譯碼時(shí)如在編碼數(shù)據(jù)中檢測(cè)出差錯(cuò),則從反向?qū)幋a數(shù)據(jù)進(jìn)行譯碼,3)根據(jù)從正向和反向的譯碼結(jié)果、在從正向和反向譯碼中分別檢出的編碼數(shù)據(jù)的差錯(cuò)檢出位置、傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率、各代碼字的發(fā)生概率、及代碼字表中各代碼字的位模式,推斷差錯(cuò)存在的范圍,從而決定最終的譯碼值。按這樣的步驟進(jìn)行譯碼處理。
按如上方式,根據(jù)傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率及代碼字的性能從差錯(cuò)發(fā)現(xiàn)位置以一定的概率推斷實(shí)際的差錯(cuò)存在位置,就能使將本來(lái)不正確的代碼字錯(cuò)誤地當(dāng)作正確的代碼字而進(jìn)行譯碼的情況減小到一定的概率以下。
另外,如上所述的第1~第3實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置的譯碼處理步驟,也可以按照存儲(chǔ)在CD-ROM、DVD-RAM等記錄媒體內(nèi)的可由計(jì)算機(jī)讀取的計(jì)算機(jī)程序?qū)崿F(xiàn)。因此,即使是不具備用于可變長(zhǎng)度譯碼的專(zhuān)用硬件的計(jì)算機(jī)等,也可以進(jìn)行由編碼數(shù)據(jù)所含差錯(cuò)造成的影響小的譯碼處理。此外,也可以安裝第1~第3實(shí)施形態(tài)的可變長(zhǎng)度譯碼裝置的一部分或全部的硬件,并按照計(jì)算機(jī)程序?qū)ζ鋭?dòng)作進(jìn)行控制。
(第4實(shí)施形態(tài))其次,參照?qǐng)D59說(shuō)明安裝了本發(fā)明第1~第3實(shí)施形態(tài)的可變長(zhǎng)度編碼譯碼裝置的動(dòng)圖象編碼/譯碼系統(tǒng)的例。由個(gè)人計(jì)算機(jī)(PC)1001所裝有的攝像機(jī)1002輸入的圖象信號(hào),由組裝在PC1001內(nèi)的動(dòng)圖象編碼器或動(dòng)圖象編碼軟件進(jìn)行編碼。編碼后的數(shù)據(jù),進(jìn)行與其他聲音或數(shù)據(jù)信息的多路化處理后,由無(wú)線(xiàn)機(jī)1003以無(wú)線(xiàn)方式發(fā)送,并由另一無(wú)線(xiàn)機(jī)1004接收。由無(wú)線(xiàn)機(jī)1004接收到的信號(hào)被分解為圖象信號(hào)的編碼數(shù)據(jù)及聲音數(shù)據(jù)。其中的圖象信號(hào)的編碼數(shù)據(jù),由組裝在工作站(EWS)1005內(nèi)的動(dòng)圖象譯碼器或動(dòng)圖象譯碼軟件進(jìn)行譯碼,并顯示在EWS1005的顯示器上。
另一方面,由EWS1005所裝有的攝象機(jī)1006輸入的圖象信號(hào),由組裝在EWS1005內(nèi)的編碼器或編碼軟件進(jìn)行與上述同樣的編碼。編碼數(shù)據(jù),進(jìn)行與其他聲音或數(shù)據(jù)信息的多路化處理后,由無(wú)線(xiàn)機(jī)1004以無(wú)線(xiàn)方式發(fā)送,并由無(wú)線(xiàn)機(jī)1003接收。由無(wú)線(xiàn)機(jī)1003接收到的信號(hào)被分解為圖象信號(hào)的編碼數(shù)據(jù)及聲音數(shù)據(jù)信息。其中的圖象信號(hào)的編碼數(shù)據(jù),由組裝在PC1001內(nèi)的動(dòng)圖象譯碼器或動(dòng)圖象譯碼軟件進(jìn)行譯碼,并顯示在PC1001的顯示器上。
動(dòng)圖象譯碼軟件,由用于在計(jì)算機(jī)中執(zhí)行在上述各實(shí)施形態(tài)中說(shuō)明過(guò)的可變長(zhǎng)度譯碼處理步驟的程序?qū)崿F(xiàn)。
另外,如上所述的各實(shí)施形態(tài)1~3的結(jié)構(gòu)及編碼數(shù)據(jù)串的結(jié)構(gòu),可以適當(dāng)組合后使用。
如上所述,按照本發(fā)明,通過(guò)利用編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置及編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置,能夠減少將本來(lái)不正確的代碼字當(dāng)作正確的代碼字而進(jìn)行譯碼的情況,從而能實(shí)現(xiàn)可以抑制傳輸線(xiàn)路的差錯(cuò)影響的可變長(zhǎng)度譯碼裝置及方法。特別是,通過(guò)將本發(fā)明的可變長(zhǎng)度譯碼裝置及方法應(yīng)用于動(dòng)圖象的譯碼處理,即使是將編碼后的動(dòng)圖象信號(hào)通過(guò)無(wú)線(xiàn)通信線(xiàn)路等傳輸線(xiàn)路差錯(cuò)多的環(huán)境發(fā)送時(shí),也可以減低傳輸線(xiàn)路差錯(cuò)對(duì)顯示畫(huà)面的影響。通過(guò)推斷差錯(cuò)傳播范圍,可以進(jìn)一步減低將本來(lái)不正確的代碼字當(dāng)作正確的代碼字而進(jìn)行譯碼的概率。產(chǎn)業(yè)上的可應(yīng)用性上述的本發(fā)明的動(dòng)圖象譯碼裝置,適用于對(duì)以可雙向譯碼的可變長(zhǎng)碼進(jìn)行編碼并記錄在記錄媒體內(nèi)或被傳送的動(dòng)圖象等可變長(zhǎng)度編碼信息進(jìn)行譯碼。
權(quán)利要求
1.一種可變長(zhǎng)度譯碼裝置,備有輸入部,用于接受由可變長(zhǎng)碼構(gòu)成的編碼數(shù)據(jù),該可變長(zhǎng)碼由在正向或反向都能進(jìn)行譯碼的代碼字構(gòu)成;正向譯碼部,按每個(gè)規(guī)定區(qū)間從正向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;反向譯碼部,按每個(gè)規(guī)定區(qū)間從反向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;及譯碼值決定部;根據(jù)上述正向譯碼部和反向譯碼部的譯碼結(jié)果輸出最終譯碼結(jié)果;上述正向譯碼部及反向譯碼部,分別具有對(duì)上述編碼數(shù)據(jù)的差錯(cuò)進(jìn)行檢測(cè)的檢測(cè)部,上述譯碼值決定部,利用指示由上述正向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置、及指示由上述反向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置,決定譯碼值。
2.根據(jù)權(quán)利要求1所述的可變長(zhǎng)度譯碼裝置,其特征在于上述譯碼值決定部,將指示在上述同步區(qū)間內(nèi)的第幾個(gè)代碼字上發(fā)生了差錯(cuò)的代碼字上的差錯(cuò)發(fā)現(xiàn)位置用作上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置
3.根據(jù)權(quán)利要求1所述的可變長(zhǎng)度譯碼裝置,其特征在于當(dāng)上述正向譯碼部及反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置在上述位上及上述語(yǔ)法上的任何一個(gè)位置上交叉時(shí),上述譯碼值決定部,將屬于交叉量較多的差錯(cuò)發(fā)現(xiàn)位置間的編碼數(shù)據(jù)廢棄,并將正向譯碼結(jié)果用作與緊接在該廢棄數(shù)據(jù)區(qū)域前面的代碼字對(duì)應(yīng)的譯碼值,將反向譯碼結(jié)果用作與緊接在該廢棄數(shù)據(jù)區(qū)域后面的代碼字對(duì)應(yīng)的譯碼值。
4.根據(jù)權(quán)利要求1所述的可變長(zhǎng)度譯碼裝置,其特征在于上述譯碼值決定部,(a)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上還是在語(yǔ)法上都不交叉時(shí),將正向的譯碼結(jié)果用作與在上述正向譯碼部的上述位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與在上述反向譯碼部的上述位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之后的代碼字對(duì)應(yīng)的譯碼值,并將其余的編碼數(shù)據(jù)廢棄;(b)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置在位上不交叉而在語(yǔ)法上交叉時(shí),將正向的譯碼結(jié)果用作與緊接在上述反向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之后的代碼字對(duì)應(yīng)的譯碼值,并將語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置交叉部分的編碼數(shù)據(jù)廢棄;(c)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置在位上交叉而在語(yǔ)法上不交叉時(shí),將上述正向的譯碼結(jié)果用作與緊接在上述反向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之后的代碼字對(duì)應(yīng)的譯碼值,并將位上的差錯(cuò)發(fā)現(xiàn)位置交叉部分的編碼數(shù)據(jù)廢棄;(d)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上還是在語(yǔ)法上都交叉時(shí),選擇交叉部分最大的位置作為差錯(cuò)發(fā)現(xiàn)位置,而將上述正向的譯碼結(jié)果用作與緊接在上述反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置之前的代碼字對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部的差錯(cuò)發(fā)現(xiàn)位置之后的代碼字對(duì)應(yīng)的譯碼值,并將差錯(cuò)位置交叉部分的編碼數(shù)據(jù)廢棄。
5.一種動(dòng)圖象譯碼裝置,備有輸入部,用于接受包含可變長(zhǎng)碼的動(dòng)圖象信號(hào)的編碼數(shù)據(jù),該編碼數(shù)據(jù),通過(guò)用在正向或反向都能譯碼的代碼字對(duì)變換系數(shù)進(jìn)行編碼生成,該變換系數(shù),通過(guò)對(duì)上述動(dòng)圖象信號(hào)進(jìn)行正交變換而求得;同步區(qū)間檢測(cè)部,用于檢測(cè)上述編碼數(shù)據(jù)的同步區(qū)間;正向譯碼部,從正向?qū)τ缮鲜鐾絽^(qū)間檢測(cè)部檢測(cè)出的規(guī)定同步區(qū)間的編碼數(shù)據(jù)進(jìn)行譯碼;反向譯碼部,從反向?qū)τ缮鲜鐾絽^(qū)間檢測(cè)部檢測(cè)出的規(guī)定同步區(qū)間的編碼數(shù)據(jù)進(jìn)行譯碼;及譯碼值決定部,根據(jù)正向譯碼部和反向譯碼部的譯碼結(jié)果輸出最終譯碼結(jié)果;上述正向譯碼部及反向譯碼部,分別具有對(duì)上述編碼數(shù)據(jù)的差錯(cuò)進(jìn)行檢測(cè)的差錯(cuò)檢測(cè)部,上述譯碼值決定部,利用指示由上述正向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置、及指示由上述反向譯碼部檢出的上述編碼數(shù)據(jù)的差錯(cuò)位置的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置,決定譯碼值。
6.根據(jù)權(quán)利要求5所述的動(dòng)圖象譯碼裝置,其特征在于當(dāng)在上述同步區(qū)間內(nèi)的編碼數(shù)據(jù)中檢出差錯(cuò)時(shí),上述譯碼值決定部,在未檢出差錯(cuò)的微數(shù)據(jù)塊內(nèi),將由進(jìn)行了幀內(nèi)編碼的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)的一部分或全部廢棄。
7.根據(jù)權(quán)利要求5所述的動(dòng)圖象譯碼裝置,其特征在于上述譯碼值決定部,對(duì)已將編碼數(shù)據(jù)廢棄的微數(shù)據(jù)塊,在幀內(nèi)編碼模式的情況下顯示前面的畫(huà)面或作為不進(jìn)行編碼的模式處理,并在幀間預(yù)測(cè)編碼模式的情況下進(jìn)行動(dòng)態(tài)補(bǔ)償。
8.根據(jù)權(quán)利要求5所述的動(dòng)圖象譯碼裝置,其特征在于上述同步區(qū)間內(nèi)的編碼數(shù)據(jù),包含用作各動(dòng)圖象信號(hào)的預(yù)測(cè)編碼單位的多個(gè)微數(shù)據(jù)塊的變換系數(shù),上述譯碼值決定部,將指示在上述同步區(qū)間內(nèi)的第幾個(gè)微數(shù)據(jù)塊上發(fā)生了差錯(cuò)的微數(shù)據(jù)塊上的差錯(cuò)發(fā)現(xiàn)位置用作上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置。
9.根據(jù)權(quán)利要求5所述的動(dòng)圖象譯碼裝置,其特征在于上述同步區(qū)間內(nèi)的編碼數(shù)據(jù),包含用作各動(dòng)圖象信號(hào)的預(yù)測(cè)編碼單位的多個(gè)微數(shù)據(jù)塊的變換系數(shù),上述譯碼值決定部,(a)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上的位置還是在語(yǔ)法上的位置都不交叉時(shí),將正向的譯碼結(jié)果用作與在上述正向譯碼部的位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與在上述反向譯碼部的位上或語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置的一定量之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由其余的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄;(b)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置在位上的位置不交叉而在語(yǔ)法上的位置交叉時(shí),將正向的譯碼結(jié)果用作與緊接在上述反向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置交叉的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄;(c)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置在位上的位置交叉而在語(yǔ)法上的位置不交叉時(shí),將正向的譯碼結(jié)果用作與緊接在上述反向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部的位上的差錯(cuò)發(fā)現(xiàn)位置之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由位上的差錯(cuò)發(fā)現(xiàn)位置交叉的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄;(d)當(dāng)上述正向譯碼部和反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置無(wú)論在位上的位置還是在語(yǔ)法上的位置都交叉時(shí),選擇交叉部分最大的位置為差錯(cuò)發(fā)現(xiàn)位置,并將正向的譯碼結(jié)果用作與緊接在反向譯碼部的差錯(cuò)發(fā)現(xiàn)位置之前的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,將反向的譯碼結(jié)果用作與緊接在上述正向譯碼部中的差錯(cuò)發(fā)現(xiàn)位置之后的微數(shù)據(jù)塊對(duì)應(yīng)的譯碼值,并將由差錯(cuò)發(fā)現(xiàn)位置交叉的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)廢棄。
10.根據(jù)權(quán)利要求9所述的動(dòng)圖象譯碼裝置,其特征在于當(dāng)在上述同步區(qū)間內(nèi)的編碼數(shù)據(jù)中檢出差錯(cuò)時(shí),上述譯碼值決定部,在未檢出差錯(cuò)的微數(shù)據(jù)塊內(nèi),將由進(jìn)行了幀內(nèi)編碼的微數(shù)據(jù)塊的變換系數(shù)構(gòu)成的編碼數(shù)據(jù)的一部分或全部廢棄。
11.根據(jù)權(quán)利要求9所述的動(dòng)圖象譯碼裝置,其特征在于上述譯碼值決定部,對(duì)已將編碼數(shù)據(jù)廢棄的微數(shù)據(jù)塊,在幀內(nèi)編碼模式的情況下顯示前面的畫(huà)面或作為不進(jìn)行編碼的模式處理,并在幀間預(yù)測(cè)編碼模式的情況下進(jìn)行動(dòng)態(tài)補(bǔ)償。
12.一種可變長(zhǎng)度編碼數(shù)據(jù)的譯碼方法,其特征在于按每個(gè)規(guī)定同步區(qū)間從正向?qū)τ煽勺冮L(zhǎng)碼構(gòu)成的編碼數(shù)據(jù)進(jìn)行譯碼,直到在該編碼數(shù)據(jù)中檢出差錯(cuò)為止,該可變長(zhǎng)碼由包含在正向或反向都能譯碼的代碼字的代碼字構(gòu)成;當(dāng)從上述正向譯碼時(shí)如在上述編碼數(shù)據(jù)中檢測(cè)出差錯(cuò),則按每個(gè)規(guī)定同步區(qū)間從反向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;利用從上述正向和反向的譯碼結(jié)果、及在從上述正向和反向的譯碼中分別檢出的上述編碼數(shù)據(jù)的位上的差錯(cuò)檢出位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)檢出位置,決定譯碼值。
13.根據(jù)權(quán)利要求12所述的譯碼方法,其特征在于當(dāng)上述從正向的譯碼及從反向的譯碼的差錯(cuò)發(fā)現(xiàn)位置在上述位上的差錯(cuò)發(fā)現(xiàn)位置及上述語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置中任何一個(gè)上交叉時(shí),將屬于交叉量較多的差錯(cuò)發(fā)現(xiàn)位置間的編碼數(shù)據(jù)廢棄,并將正向譯碼結(jié)果用作與緊接在該廢棄數(shù)據(jù)區(qū)域前面的代碼字對(duì)應(yīng)的譯碼值,將反向譯碼結(jié)果用作與緊接在該廢棄數(shù)據(jù)區(qū)域后面的代碼字對(duì)應(yīng)的譯碼值。
14.一種記錄媒體,用于記錄包含如下步驟的計(jì)算機(jī)程序,即按每個(gè)規(guī)定區(qū)間從正向?qū)τ煽勺冮L(zhǎng)碼構(gòu)成的編碼數(shù)據(jù)進(jìn)行譯碼直到在該編碼數(shù)據(jù)中檢出差錯(cuò)為止的步驟,該可變長(zhǎng)碼由包含在正向或反向都能譯碼的代碼字的代碼字構(gòu)成;當(dāng)從上述正向譯碼時(shí)如在上述編碼數(shù)據(jù)中檢測(cè)出差錯(cuò)則從反向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼的步驟;及利用從上述正向和反向的譯碼結(jié)果、及從上述正向和反向的譯碼中分別檢出的上述編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和上述編碼數(shù)據(jù)的語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置決定譯碼值的步驟。
15.一種可變長(zhǎng)度譯碼裝置,備有輸入部,用于接受由可變長(zhǎng)碼構(gòu)成的編碼數(shù)據(jù),該可變長(zhǎng)碼由包含在正向或反向都能進(jìn)行譯碼的代碼字的代碼字構(gòu)成;正向譯碼部,按每個(gè)規(guī)定同步區(qū)間從正向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;反向譯碼部,按每個(gè)規(guī)定同步區(qū)間從反向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;及譯碼值決定部,根據(jù)正向譯碼部和反向譯碼部的譯碼結(jié)果輸出最終譯碼結(jié)果;上述正向譯碼部及反向譯碼部,分別具有對(duì)上述編碼數(shù)據(jù)的差錯(cuò)進(jìn)行檢測(cè)的差錯(cuò)檢測(cè)部,上述譯碼值決定部,根據(jù)由上述正向和反向譯碼部檢出的編碼數(shù)據(jù)的差錯(cuò)檢測(cè)位置、傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率、各代碼字的發(fā)生概率、及代碼字表中的各代碼字的位模式,推斷差錯(cuò)的存在范圍,從而決定最終的譯碼值。
16.一種可變長(zhǎng)度譯碼方法,其特征在于按每個(gè)規(guī)定同步區(qū)間從正向?qū)τ煽勺冮L(zhǎng)碼構(gòu)成的編碼數(shù)據(jù)進(jìn)行譯碼,直到在該編碼數(shù)據(jù)中檢出差錯(cuò)為止,該可變長(zhǎng)碼由包含在正向或反向都能譯碼的代碼字的代碼字構(gòu)成;當(dāng)從上述正向譯碼時(shí)如在上述編碼數(shù)據(jù)中檢測(cè)出差錯(cuò),則按每個(gè)規(guī)定同步區(qū)間從反向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼;根據(jù)從上述正向和反向的譯碼中分別檢出的上述編碼數(shù)據(jù)的差錯(cuò)檢測(cè)位置、傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率、各代碼字的發(fā)生概率、及代碼字表中的各代碼字的位模式,推斷差錯(cuò)的存在范圍,從而決定最終的譯碼值。
17.一種存儲(chǔ)媒體,用于存儲(chǔ)包含如下步驟的計(jì)算機(jī)程序,即按每個(gè)規(guī)定同步區(qū)間從正向?qū)τ煽勺冮L(zhǎng)碼構(gòu)成的編碼數(shù)據(jù)進(jìn)行譯碼直到在該編碼數(shù)據(jù)中檢出差錯(cuò)為止的步驟,該可變長(zhǎng)碼由包含在正向或反向都能譯碼的代碼字的代碼字構(gòu)成;當(dāng)從上述正向譯碼時(shí)如在上述編碼數(shù)據(jù)中檢測(cè)出差錯(cuò)則按每個(gè)規(guī)定區(qū)間從反向?qū)ι鲜鼍幋a數(shù)據(jù)進(jìn)行譯碼步驟;及利用從上述正向和反向的譯碼結(jié)果、從上述正向和反向的譯碼中分別檢出的上述編碼數(shù)據(jù)的差錯(cuò)檢出位置、傳輸系統(tǒng)或存儲(chǔ)系統(tǒng)的誤碼率、各代碼字的發(fā)生概率、代碼字表中的各代碼字的位模式,推斷差錯(cuò)的存在范圍從而決定最終譯碼值的步驟。
全文摘要
首先將采用了可從雙向譯碼的可變長(zhǎng)度代碼字的編碼數(shù)據(jù)輸入到正向譯碼器(123),由其從正向進(jìn)行譯碼處理。在從該正向的譯碼處理中,如在編碼數(shù)據(jù)內(nèi)發(fā)現(xiàn)差錯(cuò),則接著由反向譯碼器(126)開(kāi)始從反向進(jìn)行譯碼處理。由譯碼值決定部(125)利用分別從正向和反向的譯碼結(jié)果、及從正向和反向的譯碼中分別發(fā)現(xiàn)的編碼數(shù)據(jù)的位上的差錯(cuò)發(fā)現(xiàn)位置和語(yǔ)法上的差錯(cuò)發(fā)現(xiàn)位置決定譯碼值。
文檔編號(hào)H03M13/00GK1246990SQ98802246
公開(kāi)日2000年3月8日 申請(qǐng)日期1998年10月2日 優(yōu)先權(quán)日1997年10月2日
發(fā)明者中條健, 渡邊敏明 申請(qǐng)人:株式會(huì)社東芝
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1