專利名稱:基于宏塊的視頻壓縮技術(shù)中錯(cuò)誤控制的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及視頻壓縮傳輸,尤其涉及視頻壓縮序列通過(guò)易錯(cuò)信道的強(qiáng)壯性傳輸?shù)腻e(cuò)誤控制。
通過(guò)易錯(cuò)信道傳輸視頻壓縮位流是一個(gè)困難的問(wèn)題,因?yàn)槠胀ǖ膲嚎s過(guò)程,如H.261和MPEG1視頻壓縮標(biāo)準(zhǔn),使被傳輸?shù)奈涣鞅绕饓嚎s前的視頻序列對(duì)位錯(cuò)誤更敏感。比如,在視頻壓縮算法中通常使用的熵編碼產(chǎn)生變長(zhǎng)碼(VLC)序列,在這個(gè)序列中,位流包含對(duì)編碼碼字邊界的自同步。在變長(zhǎng)碼位流中出現(xiàn)的單一位錯(cuò)誤都會(huì)典型地導(dǎo)致編碼碼字邊界同步的丟失,因而導(dǎo)致譯碼器信息的丟失。
當(dāng)前視頻壓縮標(biāo)準(zhǔn),如H.261和MPEG1,提供非常有限的錯(cuò)誤保護(hù)。對(duì)丟失VLC重新同步的典型方法,是把一幀分成多個(gè)片(MPEG1)或多組塊(GOB-H.261/H.263)。在這兩種情況下,由自相關(guān)檢測(cè)的重新同步字被放在變長(zhǎng)宏塊序列的開(kāi)頭,該序列可能出現(xiàn)在位流中的任何地方。這樣,需要很長(zhǎng)的重新同步字,這些字不能從VLC表中產(chǎn)生。因此,從壓縮的觀點(diǎn)看,這些重新同步字是無(wú)效的。另外,它們有非常糟糕的自相關(guān)特性,因此在易錯(cuò)信道情形下執(zhí)行的不好。這些標(biāo)準(zhǔn)中的其他錯(cuò)誤控制方法包括H.261的(511,492)BCH碼的使用。這一層次的錯(cuò)誤保護(hù)對(duì)于發(fā)生在標(biāo)準(zhǔn)電話線或ISDN信道中的低隨機(jī)位錯(cuò)誤率(BER)是足夠的,然而對(duì)于高隨機(jī)BER情形并且有20毫秒或更長(zhǎng)時(shí)間的錯(cuò)誤突發(fā)的RF信道情況,它不能提供足夠的錯(cuò)誤控制。這種情況在比如蜂窩電話網(wǎng)絡(luò)中存在,這就需要在這類環(huán)境中視頻信息擁有強(qiáng)壯視頻位流傳輸。
圖一是根據(jù)本發(fā)明錯(cuò)誤控制所需要的位流語(yǔ)法的圖解表示。
圖二是根據(jù)本發(fā)明的一種方法的建議實(shí)施方式步驟的流程圖。
圖三是根據(jù)本發(fā)明的一種裝置的一種建議實(shí)施方式的方框圖。
對(duì)于在易錯(cuò)信道中傳輸視頻壓縮位流,本發(fā)明提供一種可靠的錯(cuò)誤控制方法。該方法為諸視頻壓縮方案提供錯(cuò)誤控制,這些方案使用運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)、基于宏塊的算法,具有如下能力1、提供隨機(jī)和突發(fā)錯(cuò)誤保護(hù)。
2、提供幀丟失保護(hù)。
3、限制VLC同步的丟失,這要求縮減信道錯(cuò)誤突發(fā)外的錯(cuò)誤傳播。
4、提供視頻錯(cuò)誤檢測(cè),以允許應(yīng)用錯(cuò)誤隱藏技術(shù)。
5、以一種非常有效的方式實(shí)現(xiàn)以上目標(biāo),以便減小所需的錯(cuò)誤控制開(kāi)銷。
本方法為傳輸視頻數(shù)據(jù)分組提供一種同步(定長(zhǎng))格式。這減少了幀同步問(wèn)題所需要的分組同步。這樣,分組邊界和相關(guān)的控制信息可以被放在與幀同步字相關(guān)的地方,并且分組不需要額外的同步開(kāi)銷。在本發(fā)明中,避免了為提供VLC同步而使用嵌入的同步字。因?yàn)闉闇p少同步字錯(cuò)誤檢測(cè)的可能性,需要相當(dāng)長(zhǎng)的同步字。這樣的字需要從所有媒介到長(zhǎng)VLC碼字的一個(gè)最小距離,并且還不得不滿足一定的自相關(guān)準(zhǔn)則。H.261和MPEG1標(biāo)準(zhǔn)的GOB和分片同步字不能滿足這些準(zhǔn)則,而且是非常低效的。
圖一中數(shù)字100顯示了根據(jù)本發(fā)明的錯(cuò)誤強(qiáng)壯性位流語(yǔ)法的一個(gè)圖解表示。在102,顯示從視頻的一幀中得到的視頻信息的多于兩個(gè)N位分組。包含譯碼該幀所需信息的圖像(幀)頭信息,以及一個(gè)幀同步字,或圖像開(kāi)始碼,每幀被傳送兩次,由N位分開(kāi),其中N是一個(gè)預(yù)定的正整數(shù),以提供幀丟失保護(hù)。如果第一個(gè)圖像頭丟失,則第二個(gè)頭提供重要的幀信息。這兩個(gè)圖像頭由位于圖像開(kāi)始碼結(jié)尾處的單獨(dú)一位ID區(qū)分。一個(gè)分組中的位數(shù)N根據(jù)錯(cuò)誤控制開(kāi)銷和錯(cuò)誤檢測(cè)特性二者的一個(gè)所需折衷來(lái)決定。對(duì)于目標(biāo)視頻傳輸率24kb/秒和48kb/秒,兩個(gè)N的代表值分別是N=512和N=768。
在每個(gè)分組的開(kāi)頭是分組控制信息,由四個(gè)控制字組成絕對(duì)數(shù)目(AC)、相對(duì)地址(AD)、絕對(duì)量化參數(shù)(QP)以及絕對(duì)運(yùn)動(dòng)向量(MV)。此信息的位置被固定在相對(duì)于圖像頭。因此,在獲得幀同步后,該幀中所有分組控制信息的位置就知道了。
對(duì)變長(zhǎng)視頻宏塊使用定長(zhǎng)分組,導(dǎo)致一個(gè)分組中有可變個(gè)視頻宏塊。作為結(jié)果,一個(gè)分組的最后一個(gè)宏塊可能溢出到下一個(gè)分組中。在分組控制信息中,提供了以字節(jié)表示的相對(duì)地址(AD),從當(dāng)前分組末尾的控制字結(jié)尾處,到第一個(gè)完整宏塊的開(kāi)始處。因?yàn)橄鄬?duì)地址四舍五入到字節(jié),當(dāng)字節(jié)舍入時(shí),一個(gè)分組中平均要留下4位。這些比特被用在一個(gè)變長(zhǎng)錯(cuò)誤檢測(cè)碼字(CRC)中,CRC可以在(104)中一位分組的中間看到。關(guān)于使用此碼字的更多信息將在下文提供。
為了終止VLC同步丟失的傳播,所有重新同步譯碼器所需的信息必須在每個(gè)分組的開(kāi)始部分提供。這樣,所有被差分編碼的信息必須和一個(gè)絕對(duì)值一起編碼在分組邊界處提供。這種方法為諸宏塊提供了控制信息,這些宏塊擁有與之相關(guān)的特定量化,例如,在宏塊變換中的離散余弦變換(DCT)系數(shù)的量化。在前一分組中作為最后宏塊的差分編碼量化參數(shù)的絕對(duì)值被編碼為QP。如果前一幀丟失,用于當(dāng)前分組的第一個(gè)MB的量化值等于QP加上該第一個(gè)MB的差分量化參數(shù)。QP的這種方式的賦值還提供了一個(gè)有效的機(jī)制,允許發(fā)生反向譯碼,如下所解釋。另外,運(yùn)動(dòng)向量的絕對(duì)(非預(yù)測(cè))值在分組邊界(MV)處被編碼。差分MV也以通常的方式編碼到宏塊數(shù)據(jù)中,以實(shí)現(xiàn)如下所述的反向讀數(shù)據(jù)。最后,開(kāi)始于分組相對(duì)地址(AD)位置處的第一個(gè)宏塊的計(jì)數(shù)值被提供。這允許譯碼幀中被恢復(fù)宏塊的適當(dāng)重新定位。
圖一(104)中的低位流顯示了單一分組的位流語(yǔ)法。在此圖中,為解釋需要而顯示了一個(gè)宏塊的代表組。這些宏塊以數(shù)字1-7標(biāo)記,如右邊所示,宏塊7(MB7)在當(dāng)前分組的結(jié)尾處和下一分組的開(kāi)始處被分開(kāi)。該語(yǔ)法的另一方面是,一個(gè)分組中的諸宏塊被分為兩部分,分組的前一部分位被正向編碼,而分組的后一部分位被反向編碼(每個(gè)宏塊的位取反)。通過(guò)在譯碼能被初始化的分組中提供兩種狀態(tài),進(jìn)一步限制了VLC同步周期的丟失。即,在VLC同步丟失后,并不使用正向的每個(gè)分組僅僅一次的分組控制信息來(lái)重新初始化譯碼器,通過(guò)從分組控制信息中在正向和反向兩個(gè)方向上初始化譯碼,上面的語(yǔ)法使用每個(gè)分組控制點(diǎn)兩次(每個(gè)幀控制字對(duì)譯碼過(guò)程復(fù)位兩次)。如果一個(gè)信道錯(cuò)誤導(dǎo)致VLC同步的丟失,比如在MB3,則恢復(fù)MB1和MB2,然后幀的其余部分被暫時(shí)丟棄。然而,在該分組結(jié)尾處對(duì)譯碼器重新初始化后,通過(guò)分組邊界處的已知狀態(tài)來(lái)以反向位次序譯碼,MB5-MB7可以被恢復(fù)。如果只使用傳統(tǒng)的每個(gè)宏塊的正向編碼,則MB3-MB7都會(huì)丟失。
通過(guò)在譯碼器處檢測(cè)不合法的變長(zhǎng)譯碼字(VLD),或者檢測(cè)出界的參數(shù),VLC同步的丟失可以被有效地確定。也使用出界分組控制信息的檢測(cè)。另外,在分組中央宏塊編碼的結(jié)尾處,如果正向和反向編碼流正確相遇,則做一個(gè)檢測(cè)。為進(jìn)一步改善分組錯(cuò)誤檢測(cè),在分組的中央放一個(gè)循環(huán)冗余檢測(cè)(CRC)碼字。在將第一個(gè)宏塊的起始地址舍入到字節(jié)后,該CRC字使用剩余位,長(zhǎng)度是可變的。海明(511,502)BCH碼被用于錯(cuò)誤檢測(cè)。在舍入到由地址值A(chǔ)D標(biāo)識(shí)的第一個(gè)宏塊的位置的最近字節(jié)后,CRC字(b0-b8)被截短到N位分組中的可用位數(shù)。
為正向/反向碼方式選擇中間點(diǎn)的傳統(tǒng),基于N位分組(MB_A)的第一個(gè)宏塊的絕對(duì)數(shù)目,以及該分組(MB_B)的最后一個(gè)宏塊的絕對(duì)數(shù)目。用這種方法,中間宏塊數(shù)目(MB_MID)(是正向編碼分組的最后一個(gè)宏塊)由下式給出MB_MID=MB_A+(MB_B-MB_A)2,]]>其中假設(shè)除法為整數(shù)除法?;趫D一中數(shù)字100的控制信息參數(shù)值的一個(gè)例子是AC-第一分組=1AC-第二分組=8MB_MID=1+(7-1)÷2=4AD=5字節(jié)如果MB7進(jìn)位到下一個(gè)36位分組,CRC字的附加可用位數(shù)是5×8-36=4位。
上述錯(cuò)誤控制的開(kāi)銷是,對(duì)于分組控制信息,24+CEIL(log(N/8))位,對(duì)于CRC,每N位分組平均4位。函數(shù)CEIL(log(N/8))是用字節(jié)表示相對(duì)地址所需要的位數(shù),擁有最大值N位并舍入到最近的整數(shù)。比如此圖中,對(duì)于N=512,值是6,帶來(lái)錯(cuò)誤控制字的30位開(kāi)銷。一個(gè)38位的代表實(shí)例典型地被用于第二圖像開(kāi)始碼和頭信息(初始量化參數(shù)、時(shí)間參照和圖像類型信息),并在位2N處和圖像頭2一起被發(fā)送。在24kb/秒及N=512,對(duì)11幀/秒(fps)的幀速率(對(duì)于用此位速率的通常運(yùn)動(dòng)序列是典型的),大約1914位/秒或開(kāi)銷7.9%。作為比較,H.263標(biāo)準(zhǔn)使用變長(zhǎng)GOB結(jié)構(gòu)和一個(gè)塊開(kāi)始碼的17位組,加上用于宏塊編址和量化的14位其它開(kāi)銷。在11fps,H.263GOB層的開(kāi)銷是3069位/秒或12.8%。這是本發(fā)明開(kāi)銷的1.6倍,并且還沒(méi)包括任何CRC保護(hù)。另外,H.263提供的控制信息不具有與本發(fā)明提供的潛在重新同步相同的能力,本發(fā)明包括反向譯碼和每幀兩個(gè)圖像頭。
圖二,數(shù)字200,是根據(jù)本發(fā)明的方法的一種建議實(shí)施方式的流程圖。此圖顯示了在被壓縮位流中控制字的時(shí)序放置。每個(gè)控制字或者根據(jù)該圖放在輸出位流中,或者如圖所示被旁路。這些控制字的該放置方式由一種多路復(fù)用方案控制,其更多的細(xì)節(jié)在上面進(jìn)行了描述。這種錯(cuò)誤控制方法的組成部分包括編碼器中的技術(shù)或控制字,由下面的部分組成一個(gè)位反向,應(yīng)用于根據(jù)本方法(202)在一個(gè)位分組的后半部分中的宏塊中的諸位;一個(gè)圖像頭,包含第一個(gè)圖像開(kāi)始碼或第二個(gè)圖像開(kāi)始碼以及合適的幀頭信息(204);在被壓縮位流(206)的下一個(gè)位分組中第一個(gè)宏塊的絕對(duì)數(shù)目;一個(gè)以字節(jié)為單位的相對(duì)地址,從當(dāng)前分組末尾的控制字的結(jié)尾處,到位流(208)中下一個(gè)完全宏塊的起始處;當(dāng)前位分組(210)中最后一個(gè)宏塊的一個(gè)絕對(duì)量化參數(shù)值;當(dāng)前分組(212)中最后一個(gè)宏塊的一個(gè)絕對(duì)運(yùn)動(dòng)向量值;以及,一個(gè)錯(cuò)誤控制檢測(cè)字,比如一個(gè)CRC碼字,用于在當(dāng)前分組(214)中檢測(cè)錯(cuò)誤。在譯碼器,應(yīng)用一個(gè)解多路復(fù)用操作以及對(duì)被壓縮位流的譯碼,該位流已經(jīng)被從正反兩方向上編碼,如上面對(duì)更多細(xì)節(jié)的描述,接著執(zhí)行一個(gè)錯(cuò)誤檢測(cè)操作(216)。提供給譯碼器的錯(cuò)誤控制信息的結(jié)果,是對(duì)諸錯(cuò)誤的檢測(cè),這些錯(cuò)誤可以被如下分類(218)熵編碼同步的丟失;錯(cuò)誤AC碼字;CRC錯(cuò)誤;無(wú)效編碼參數(shù);以及變長(zhǎng)譯碼器(VLD)錯(cuò)誤。這些錯(cuò)誤標(biāo)志可以被送往一個(gè)合適的錯(cuò)誤隱藏機(jī)制,允許在譯碼器中顯示之前恢復(fù)視頻數(shù)據(jù)。
圖三,數(shù)字300,是根據(jù)本發(fā)明的裝置的一種建議實(shí)施方式的方框圖。在編碼器,該裝置使用的錯(cuò)誤控制信息由一個(gè)連接至被壓縮位流的位分組控制器(330)、一個(gè)基于塊的位反向器(316)、和一個(gè)多路復(fù)用器計(jì)算。錯(cuò)誤控制信息通過(guò)位分組控制器的輸入提供給多路復(fù)用器(314),該控制器產(chǎn)生如下控制字圖像頭(302)、該位流中下一個(gè)宏塊的絕對(duì)數(shù)目AC(304)、該位流中以字節(jié)為單位的下一個(gè)宏塊的相對(duì)地址AD(306)、當(dāng)前位分組的最后一個(gè)宏塊的絕對(duì)量化參數(shù)值QP(308)、與當(dāng)前位分組的最后一個(gè)宏塊相關(guān)的絕對(duì)運(yùn)動(dòng)向量MV(310)、以及一個(gè)檢測(cè)字CRC(312),為當(dāng)前位分組提供錯(cuò)誤檢測(cè)能力。多路復(fù)用器(314)連接到被壓縮位流的輸入、位分組控制器(330)、以及基于宏塊的位反向單元(316)的輸出,該單元還連接到被壓縮位流和位分組控制器,用于對(duì)反向編碼的諸宏塊的次序取反。在譯碼器,解多路復(fù)用器(318)移去適當(dāng)位,把它們送到另一個(gè)基于塊的位反向單元(322),就象由一個(gè)控制單元(332)引導(dǎo)一樣,接下來(lái)送到一個(gè)譯碼器單元(324),或直接送到一個(gè)譯碼器單元(320)。錯(cuò)誤檢測(cè)由連接到解多路復(fù)用器(318)的輸入、正反兩向的塊譯碼器(320)和(324)的一個(gè)錯(cuò)誤檢測(cè)器(326)執(zhí)行。該錯(cuò)誤檢測(cè)器(326)使用控制信息和被譯碼的位流,指示特定錯(cuò)誤的出現(xiàn)。接下來(lái)這些錯(cuò)誤由一個(gè)錯(cuò)誤報(bào)告單元(328)報(bào)告,它們包括熵編碼同步的丟失、由于減少數(shù)目導(dǎo)致的AC中的錯(cuò)誤、CRC錯(cuò)誤、被檢測(cè)到的任何其它無(wú)效編碼參數(shù)、以及可變長(zhǎng)譯碼器(VLD)錯(cuò)誤。然后這些信息被送到其它裝置,進(jìn)行錯(cuò)誤隱藏。
可被選擇的實(shí)施方法和裝置是下面的至少一種A)一個(gè)特定應(yīng)用的集成電路;B)一個(gè)現(xiàn)場(chǎng)可編程門陣列;C)一個(gè)微處理器;和D)一個(gè)計(jì)算機(jī)可讀存儲(chǔ)器;安排和配置以確定第一個(gè)被修改的接收信號(hào),根據(jù)如上詳細(xì)描述的本方案該信號(hào)具有最小的失真和干擾。
盡管上面描述了典型實(shí)施方式,很明顯,對(duì)于那些精通此技術(shù)的人,可以做很多修改而不偏離本發(fā)明。因此,所有這些在本發(fā)明的精神和范圍內(nèi)進(jìn)行的修改都定義在附加的權(quán)利說(shuō)明書中。
權(quán)利要求
1.在基于宏塊的視頻編碼譯碼器中錯(cuò)誤控制的一種方法,其中諸宏塊使用熵編碼方式,包括1A)在一個(gè)譯碼器中,使用控制信息和相對(duì)于某幀的開(kāi)頭有固定位置的多個(gè)圖像頭,其中該控制信息為譯碼諸宏塊的至少一個(gè)正向序列提供譯碼信息;1B)在該幀中檢測(cè)錯(cuò)誤,并且使用控制信息和多個(gè)圖像頭限制錯(cuò)誤在該幀中的傳播。
2.權(quán)利要求1中的方法,其中控制信息定義了單獨(dú)分組的一個(gè)邊界,包括2A)該幀中下/上一個(gè)宏塊的絕對(duì)數(shù);2B)下一分組中下一宏塊起始的相對(duì)地址;以及2C)用于預(yù)定差分編碼信息的絕對(duì)值。
3.權(quán)利要求2中的方法,其中至少有3A-3D中的一個(gè)3A)預(yù)定的差分編碼信息包括至少一個(gè)3A1)上一宏塊的一個(gè)量化參數(shù);以及3A2)上一宏塊的一個(gè)運(yùn)動(dòng)向量值;3B)其中檢測(cè)幀中的錯(cuò)誤包括檢測(cè)分組中的錯(cuò)誤,其中至少一個(gè)3B1)檢測(cè)熵編碼同步的丟失;3B2)確定是否絕對(duì)數(shù)減少;3B3)檢測(cè)不正確的錯(cuò)誤檢測(cè)碼;以及3B4)確定是否出現(xiàn)無(wú)效編碼參數(shù);3C)其中,相對(duì)地址以字節(jié)為單位被量化,以及,量化余數(shù)確定了一個(gè)錯(cuò)誤檢測(cè)碼可用的一組位;以及3D)進(jìn)一步包含,宏塊編碼包括以正向位序輸出預(yù)定數(shù)目個(gè)宏塊以及以反向位序輸出第二預(yù)定數(shù)目個(gè)宏塊,其中控制信息被用于正反兩方向位編碼的諸宏塊的譯碼;當(dāng)選擇時(shí),其中錯(cuò)誤檢測(cè)碼被插在正向和位反向宏塊之間,當(dāng)進(jìn)一步選擇時(shí),其中相對(duì)地址被以字節(jié)為單位量化,以及量化余數(shù)確定了一個(gè)錯(cuò)誤檢測(cè)碼可用的位的個(gè)數(shù)。
4.權(quán)利要求1中的方法,其中至少有4A-4B中的一個(gè)4A)使用至少一個(gè)圖像頭來(lái)確定該幀的起始位置;以及4B)其中該方法是一個(gè)過(guò)程,它的步驟由下面的至少之一實(shí)現(xiàn)4B1)一個(gè)特定應(yīng)用集成電路;4B2)一個(gè)現(xiàn)場(chǎng)可編程門陣列;以及4B3)一個(gè)微處理器;以及4B4)一個(gè)計(jì)算機(jī)可讀存儲(chǔ)器;安排和配置以確定第一個(gè)被修改的接收信號(hào),根據(jù)權(quán)利要求1的方案該信號(hào)具有最小的失真和干擾。
5.在基于宏塊的視頻編碼譯碼器中錯(cuò)誤控制和隱藏的一種裝置,其中宏塊使用熵編碼,其中該裝置由一個(gè)計(jì)算機(jī)程序引導(dǎo),該程序由下面至少之一實(shí)現(xiàn)5A)一個(gè)存儲(chǔ)器;5B)一個(gè)特定應(yīng)用集成電路;5C)數(shù)字信號(hào)處理器;以及5D)一個(gè)現(xiàn)場(chǎng)可編程門陣列;該計(jì)算機(jī)程序包括如下步驟5E)使用控制信息和相對(duì)于某幀的開(kāi)頭有固定位置的多個(gè)圖像頭,其中該控制信息為譯碼諸宏塊的至少一個(gè)正向序列提供譯碼信息;5F)在該幀中檢測(cè)錯(cuò)誤,并且使用控制信息和多個(gè)圖像頭限制錯(cuò)誤在該幀中的傳播。
6.權(quán)利要求5中的裝置,其中由一個(gè)位分組控制器計(jì)算的控制信息定義了單獨(dú)分組的一個(gè)邊界,包括6A)該幀中下/上一個(gè)宏塊的絕對(duì)數(shù);6B)下一分組中下一宏塊起始位置的相對(duì)地址;以及6C)用于預(yù)定差分編碼信息的絕對(duì)值。
7.權(quán)利要求6中的裝置,其中至少有7A-7D中的一個(gè)7A)預(yù)定的差分編碼信息包括7A1-7A2中的至少一個(gè)7A1)上一宏塊的一個(gè)量化參數(shù);以及7A2)上一宏塊的一個(gè)運(yùn)動(dòng)向量值;7B)其中檢測(cè)分組中的錯(cuò)誤由一個(gè)錯(cuò)誤檢測(cè)單元執(zhí)行,其中至少一個(gè)7B1)檢測(cè)熵編碼同步的丟失;7B2)確定是否絕對(duì)數(shù)減少;7B3)檢測(cè)不正確的錯(cuò)誤檢測(cè)碼;以及7B4)確定是否出現(xiàn)無(wú)效編碼參數(shù);7C)其中,相對(duì)地址以字節(jié)為單位被量化,以及,量化余數(shù)確定了一個(gè)錯(cuò)誤檢測(cè)碼可用的位的個(gè)數(shù);以及7D)其中至少一個(gè)圖像頭被用于確定該幀的起始位置。
8.權(quán)利要求6的方法進(jìn)一步包含被使用的兩個(gè)基于塊的位反向器,使得對(duì)諸宏塊編碼包括以正向位序輸出預(yù)定數(shù)目個(gè)宏塊以及以反向位序輸出第二預(yù)定數(shù)目個(gè)宏塊,其中控制信息被用于正反兩方向位編碼的諸宏塊的譯碼;當(dāng)選擇時(shí),其中錯(cuò)誤檢測(cè)碼被插在正向和位反向宏塊之間,當(dāng)進(jìn)一步選擇時(shí),其中相對(duì)地址以字節(jié)為單位量化,以及量化余數(shù)確定了一個(gè)錯(cuò)誤檢測(cè)碼可用的位的個(gè)數(shù)。
9.在基于宏塊的視頻編碼譯碼器的被壓縮位流的分組中錯(cuò)誤控制和隱藏的一種裝置,其中諸宏塊使用熵編碼,并且對(duì)可變長(zhǎng)編碼壓縮視頻數(shù)據(jù),使用一個(gè)定長(zhǎng)分組同步系統(tǒng),以限制譯碼視頻位流中錯(cuò)誤的傳播,其中該裝置包括至少一個(gè)編碼器和譯碼器,其中該編碼器包括9A)一個(gè)位分組控制器,被耦連來(lái)接收一個(gè)被壓縮的位流,通過(guò)生成多個(gè)預(yù)定的控制字來(lái)計(jì)算錯(cuò)誤控制信息,其中分組控制信息被放在每個(gè)分組的起始位置;9B)一個(gè)基于塊的位反向器,被耦連來(lái)接收該被壓縮位流以及連接到該位分組控制器,用于對(duì)被指定為反向編碼宏塊的諸宏塊的宏塊位次序取反;以及9C)一個(gè)多路復(fù)用器,連接到該位分組控制器、該被壓縮位流、以及該反向塊的位反向器,用于多路復(fù)用錯(cuò)誤控制信息、被壓縮的位流、以及根據(jù)預(yù)定方案基于塊的位反向器的輸出;以及該譯碼器包括9D)一個(gè)解多路復(fù)用器,被耦連來(lái)接收一個(gè)多路復(fù)用的位流以及連接到一個(gè)控制單元,用于根據(jù)預(yù)定方案移去被控制單元指定的諸位,并把這些位送到第二個(gè)基于塊的位反向單元、一個(gè)正向塊譯碼器、和一個(gè)錯(cuò)誤檢測(cè)器;E)該第二個(gè)基于塊的位反向單元,連接到該解多路復(fù)用器,用于根據(jù)預(yù)定方案對(duì)諸宏塊的宏塊位次序取反,以提供一個(gè)輸出;以及F)一個(gè)反向塊譯碼器,連接到該第二個(gè)基于塊的位反向單元,用于對(duì)該第二個(gè)基于塊的位反向單元的輸出進(jìn)行譯碼;G)一個(gè)正向塊譯碼器,連接到該解多路復(fù)用器,用于對(duì)該解多路復(fù)用器的諸位進(jìn)行譯碼;H)一個(gè)錯(cuò)誤檢測(cè)器,連接到該解多路復(fù)用器、該反向塊譯碼器、和該正向塊譯碼器,使用控制信息和該被譯碼位流來(lái)指示特定錯(cuò)誤的出現(xiàn)。
10.權(quán)利要求9中的裝置進(jìn)一步包含10A-10B中的至少一個(gè)10A)一個(gè)錯(cuò)誤報(bào)告單元,連接到錯(cuò)誤檢測(cè)器,用于輸出錯(cuò)誤報(bào)告,用在錯(cuò)誤隱藏中,其中該錯(cuò)誤報(bào)告包括下面中的至少一個(gè)熵編碼同步的丟失,由于數(shù)目減少而產(chǎn)生的一個(gè)絕對(duì)數(shù)錯(cuò)誤,循環(huán)冗余數(shù)錯(cuò)誤,其它檢測(cè)到的被預(yù)先選擇以指示無(wú)效的編碼參數(shù),以及變長(zhǎng)譯碼器錯(cuò)誤;以及10B)其中該位分組控制器產(chǎn)生下面控制字中的至少一個(gè)圖像頭;位流中下一個(gè)宏塊的絕對(duì)數(shù)AC;位流中下一個(gè)宏塊的以字節(jié)為單位的相對(duì)地址AD;當(dāng)前位分組中最后一個(gè)宏塊的絕對(duì)量化參數(shù)值QP;與當(dāng)前位分組中最后一個(gè)宏塊相關(guān)的絕對(duì)運(yùn)動(dòng)向量MV;以及一個(gè)檢測(cè)字CRC,為當(dāng)前位分組提供錯(cuò)誤檢測(cè)能力。
全文摘要
本發(fā)明提供一種方法(200)和裝置(300),用于一個(gè)被壓縮的視頻序列的錯(cuò)誤控制,在這個(gè)序列中,提供了隨機(jī)和突發(fā)信道錯(cuò)誤的錯(cuò)誤保護(hù)。錯(cuò)誤控制語(yǔ)法(100)對(duì)變長(zhǎng)碼壓縮視頻數(shù)據(jù)使用了一個(gè)定長(zhǎng)分組同步系統(tǒng),具有限制譯碼視頻位流中錯(cuò)誤傳播的能力。該定長(zhǎng)分組控制信息提供一些信息,用于在正反兩方向上譯碼被壓縮的視頻數(shù)據(jù),以允許在長(zhǎng)的信道錯(cuò)誤突發(fā)后,對(duì)被譯碼幀中正確譯碼視頻數(shù)據(jù)的恢復(fù),同時(shí)減少用于錯(cuò)誤控制的開(kāi)銷。該錯(cuò)誤控制方法還提供了視頻錯(cuò)誤檢測(cè),這可以被用于錯(cuò)誤隱藏。
文檔編號(hào)H04N7/64GK1167534SQ96191287
公開(kāi)日1997年12月10日 申請(qǐng)日期1996年8月27日 優(yōu)先權(quán)日1995年10月26日
發(fā)明者斯蒂芬·N·勒維那, 詹姆斯·C·布萊蘭, 馬克·R·班哈姆 申請(qǐng)人:摩托羅拉公司