專利名稱:編碼裝置和編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過(guò)無(wú)線傳輸線路這樣的誤碼率高的媒體傳輸/存儲(chǔ)信息的系統(tǒng),將利用高效率壓縮編碼而得到的壓縮代碼串進(jìn)行糾錯(cuò)/檢出編碼并進(jìn)行傳輸/存儲(chǔ)的編碼裝置/編碼方法。
背景技術(shù):
例如,如無(wú)線電視(TV)電話、便攜式信息終端、數(shù)字TV廣播系統(tǒng)那樣,在進(jìn)行高效率地壓縮編碼并通過(guò)無(wú)線傳輸線路等進(jìn)行傳輸以使圖像及聲音的信息成為盡可能少的信息量的系統(tǒng)中,由于傳輸線路的誤碼率高,所以,如何高品質(zhì)底傳輸所得到的代碼串就成了重要的課題。
通過(guò)這種誤碼率高的媒體進(jìn)行代碼串的傳輸/存儲(chǔ)時(shí),作為降低誤碼率的方法,多數(shù)是使用BCH(Bose-Chaudhuri-Hocquenghem)碼、RS(Recommended Standard)碼、卷積碼等糾錯(cuò)碼。另外,在接收一側(cè),作為可以檢錯(cuò)的方法,是使用檢查和及CRC(cyclic redundancy check)等檢錯(cuò)碼。這些糾錯(cuò)/檢出,是根據(jù)一定的規(guī)則將多余的位(冗長(zhǎng)性)附加到傳輸/存儲(chǔ)的信息上,在譯碼時(shí)檢查傳輸/存儲(chǔ)的代碼串是否符合該規(guī)則,根據(jù)該結(jié)果進(jìn)行糾錯(cuò)或檢錯(cuò)。
但是,這種將利用高效率壓縮編碼而得到的代碼串進(jìn)行糾錯(cuò)/檢出編碼后進(jìn)行傳輸/存儲(chǔ)的方法,難于與恢復(fù)由于傳輸線路/媒體的代碼字錯(cuò)誤而發(fā)生的同步偏離的同步恢復(fù)方法組合。作為同步恢復(fù)方法,多數(shù)是使用插入唯一可以譯碼的稱為同步碼的代碼,在發(fā)生同步偏離時(shí)從檢測(cè)到同步碼的時(shí)刻再次開始進(jìn)行譯碼的方法。
為了使同步碼成為唯一可以譯碼的代碼字,在其他代碼字的組合中必須構(gòu)成不會(huì)發(fā)生與同步碼相同的位組合格式的代碼字。但是,通常在糾錯(cuò)/檢出編碼中,難于構(gòu)成避免出現(xiàn)某一特定的位組合格式的代碼字,在出現(xiàn)與同步碼相同的位組合格式時(shí),由于同步碼的誤檢測(cè),將引起偽同步。
為了避免這一問(wèn)題,是使用在進(jìn)行糾錯(cuò)/檢出編碼后,判斷代碼串中是否存在與同步碼相同的位組合格式,存在相同的位組合格式時(shí),就按照某一規(guī)則將啞數(shù)據(jù)位插入到該組合格式中,在譯碼裝置中通過(guò)按照相同的規(guī)則刪除啞數(shù)據(jù)位來(lái)防止偽同步的方法。但是,通過(guò)容易發(fā)生誤碼的媒體傳輸/存儲(chǔ)代碼串時(shí),在該插入位也可能發(fā)生錯(cuò)誤,從而引起新的同步偏離或偽同步。
另外,在對(duì)代碼串進(jìn)行糾錯(cuò)/檢出編碼并插入同步碼時(shí),以往,在夾在同步碼與同步碼之間的同步區(qū)間的最后的部分,為了補(bǔ)充應(yīng)進(jìn)行糾錯(cuò)/檢出編碼的信息位的剩余部分,必須將很多插入位附加到代碼串上,所以,編碼效率將降低。
另一方面,為了提高糾錯(cuò)/檢出能力,可以提高傳輸/存儲(chǔ)的信息的冗長(zhǎng)度,但是,如果提高冗長(zhǎng)度,則傳輸相同的信息所需要的位數(shù)將增加。因此,提高糾錯(cuò)/檢出能力時(shí),就需要傳輸速率更高的傳輸線路,或者必須存儲(chǔ)的信息的位數(shù)將增加。另外,如果傳輸速率或存儲(chǔ)容量相同,冗長(zhǎng)度越高,則只能傳輸/存儲(chǔ)少的信息。高效率地將圖像或聲音進(jìn)行壓縮編碼并進(jìn)行傳輸/存儲(chǔ)時(shí),為了提高耐錯(cuò)性而附加冗長(zhǎng)性,如果傳輸/存儲(chǔ)速率相同,則必須對(duì)少的信息量進(jìn)行壓縮編碼,從而將招致畫質(zhì)或音質(zhì)下降。
因此,作為以更少的冗長(zhǎng)度而具有高耐錯(cuò)性的方法,有稱為層次編碼的方法。這是根據(jù)錯(cuò)誤對(duì)畫質(zhì)或音質(zhì)影響的大小將高效率壓縮編碼的信息分類、通過(guò)對(duì)錯(cuò)誤的影響大的信息使用冗長(zhǎng)度更高的糾錯(cuò)/檢出能力高的糾錯(cuò)/檢出編碼,而對(duì)錯(cuò)誤的影響不太大的信息使用糾錯(cuò)/檢出能力不太高但冗長(zhǎng)度小的糾錯(cuò)/檢出編碼,以相同的平均冗長(zhǎng)度比全體使用相同的糾錯(cuò)/檢出編碼時(shí)提高耐錯(cuò)性的方法。
例如,在將多數(shù)用于運(yùn)動(dòng)圖象的高效率壓縮編碼的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)與正交變換組合的編碼方式即對(duì)輸入的運(yùn)動(dòng)圖象信號(hào)進(jìn)行運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)并利用DCT(離散余弦變換-Discrete Cosine Transform-)等對(duì)該預(yù)測(cè)殘差進(jìn)行正交變換的方式中,發(fā)生錯(cuò)誤時(shí),對(duì)于發(fā)生大的畫質(zhì)劣化的運(yùn)動(dòng)矢量信息或預(yù)測(cè)殘差信號(hào)的正交變換系數(shù)中的低次系數(shù)使用糾錯(cuò)/檢出能力強(qiáng)的糾錯(cuò)/檢出編碼,對(duì)錯(cuò)誤的影響小的預(yù)測(cè)殘差信號(hào)的正交變換系數(shù)中的高次系數(shù)使用糾錯(cuò)/檢出能力弱的糾錯(cuò)/檢出編碼。
為了實(shí)現(xiàn)這種層次編碼,在輸出的代碼串的途中,必須切換糾錯(cuò)/檢出能力不同的糾錯(cuò)/檢出編碼。作為切換糾錯(cuò)/檢出能力不同的糾錯(cuò)/檢出編碼的方法,有將表示糾錯(cuò)/檢出編碼的種類的標(biāo)題信息附加到代碼串上的方法。圖11是表示附加標(biāo)題信息后切換糾錯(cuò)/檢出編碼的代碼串的例子,在該例中,是切換2種糾錯(cuò)/檢出編碼FEC1和FEC2。在標(biāo)題1101~1104中,插入表示糾錯(cuò)/檢出編碼的種類進(jìn)代碼字的數(shù)的標(biāo)題信息。在編碼裝置中,將進(jìn)行了糾錯(cuò)/檢出編碼的代碼字排列在這些標(biāo)題信息之后,在譯碼裝置中,將標(biāo)題信息進(jìn)行譯碼,然后進(jìn)行糾錯(cuò)/檢出編碼的譯碼。
但是,在通過(guò)附加這種標(biāo)題信息切換糾錯(cuò)/檢出編碼的方法中,由于附加標(biāo)題信息,將增加必須傳輸/存儲(chǔ)的代碼串的位數(shù)。在對(duì)圖像及聲音進(jìn)行高效率壓縮編碼并傳輸/存儲(chǔ)時(shí),給標(biāo)題信息分配位數(shù),將減少圖像及聲音的高效率壓縮編碼所使用的位數(shù),結(jié)果,將招致畫質(zhì)及音質(zhì)的劣化。
如上所述,對(duì)于將運(yùn)動(dòng)圖象信號(hào)等進(jìn)行高效率壓縮編碼的代碼串進(jìn)行糾錯(cuò)/檢出編碼時(shí),由于發(fā)生任意的位組合格式,所以,在將糾錯(cuò)/檢出編碼與使用唯一可以譯碼的同步代碼的同步恢復(fù)方法組合時(shí),存在由于同步代碼的誤檢測(cè)而引起的偽同步,即使通過(guò)插入啞數(shù)據(jù)位進(jìn)行避免偽同步的操作,也會(huì)由于插入位的錯(cuò)誤而發(fā)生新的同步偏離或偽同步。
另外,在將代碼串進(jìn)行糾錯(cuò)/檢出編碼并插入同步代碼時(shí),以往,在同步區(qū)間的最后部分為了補(bǔ)足應(yīng)進(jìn)行糾錯(cuò)/檢出編碼的信息位的剩余部分,必須使用很多插入位,所以,編碼效率將降低。
此外,在通過(guò)附加標(biāo)題信息切換糾錯(cuò)/檢出能力不同的糾錯(cuò)/檢出編碼的編碼/譯碼裝置中,由于附加標(biāo)題信息將增加必須傳輸/存儲(chǔ)的位數(shù),所以,在將圖像及聲音進(jìn)行高效率壓縮編碼并傳輸/存儲(chǔ)時(shí),分配給圖像及聲音的信息的信息量將減少,從而將招致畫質(zhì)及音質(zhì)的降低。
發(fā)明內(nèi)容
本發(fā)明的主要目的旨在提供可以解決由于同步代碼的誤檢測(cè)而引起的偽同步及同步偏離的問(wèn)題的編碼裝置和譯碼裝置。
本發(fā)明的更具體的目的在于,提供在將糾錯(cuò)/檢出編碼與使用同步代碼的同步恢復(fù)方法組合時(shí)可以解決由于同步代碼的誤檢測(cè)而引起的偽同步及同步偏離的問(wèn)題的編碼裝置和譯碼裝置。
本發(fā)明的其他目的在于,提供在將糾錯(cuò)/檢出編碼與使用同步代碼的同步恢復(fù)方法組合時(shí)可以減少在同步區(qū)間的最后部分使用的插入位從而提高編碼效率的編碼裝置和譯碼裝置。
本發(fā)明的另一個(gè)目的旨在提供在將對(duì)圖像及聲音等的信息進(jìn)行高效率壓縮編碼的代碼串切換為多種糾錯(cuò)/檢出代碼進(jìn)行編碼并傳輸/存儲(chǔ)時(shí)減少必須附加表示糾錯(cuò)/檢出代碼的種類的標(biāo)題信息而進(jìn)行傳輸/存儲(chǔ)的代碼串的位數(shù)、從而可以提高信息的品質(zhì)的編碼裝置和譯碼裝置。
(1)本發(fā)明的第1編碼裝置其特征在于具有將輸入的代碼串編碼為由信息位和檢查位構(gòu)成的糾錯(cuò)/檢出代碼的編碼單元和將同步代碼插入到輸出代碼串中的預(yù)先決定的多個(gè)同步代碼插入位置中的某一位置同時(shí)將上述信息位配置到該代碼串中的任意的位置、將上述檢查位配置到該代碼串中的上述同步代碼插入位置以外的位置從而組合成輸出代碼串的代碼串組合單元。
本發(fā)明的第1譯碼裝置其特征在于具有根據(jù)編碼為由信息位和檢查位構(gòu)成的糾錯(cuò)/檢出代碼的代碼串在預(yù)先決定的多個(gè)同步代碼插入位置進(jìn)行同步代碼的檢測(cè)的同步代碼檢測(cè)單元、分解上述代碼串并抽出糾錯(cuò)/檢出代碼的信息位和配置在上述同步代碼插入位置以外的位置的該糾錯(cuò)/檢出代碼的檢查位的代碼串分解單元和接收由上述代碼串分解單元抽出的信息位和檢查位并將上述糾錯(cuò)/檢出代碼進(jìn)行譯碼的譯碼單元。
這樣,在第1編碼/譯碼裝置中,同步代碼只存在于輸出代碼串的預(yù)先決定的同步代碼插入位置,糾錯(cuò)/檢出代碼的檢查位存在于同步代碼插入位置以外,所以,即使在檢查位中包含與同步代碼相同的位組合格式,也不可能將其誤檢測(cè)為同步代碼。因此,不必使用防止發(fā)生特定的位組合格式的特殊的糾錯(cuò)/檢出代碼或在糾錯(cuò)/檢出編碼后進(jìn)行用于防止同步組合格式的位插入等,于是,不僅可以增加所使用的糾錯(cuò)/檢出代碼的自由度,而且不可能發(fā)生由于錯(cuò)誤混入插入位而引起的新的同步檢測(cè)錯(cuò)誤,從而可以提高抗錯(cuò)能力。
(2)本發(fā)明的第2編碼裝置其特征在于在第1編碼裝置中追加將位于輸出代碼串中預(yù)先決定的多個(gè)同步代碼插入位置的同步代碼以外的輸入代碼串變換為使之與該同步代碼的加重平均距離大于預(yù)先決定的值的代碼串變換單元,將由該代碼串變換單元進(jìn)行變換后的代碼串輸入編碼單元,編碼為由信息位和檢查位構(gòu)成的糾錯(cuò)/檢出代碼。
本發(fā)明的第2譯碼裝置其特征在于在第1譯碼裝置中追加了將在由譯碼單元所譯碼的代碼串中存在于變換為與同步代碼的加重平均距離大于預(yù)先決定的值的同步代碼插入位置處的該同步代碼以外的代碼串變換為原來(lái)的代碼串的代碼串變換單元。
這樣,在第2編碼/譯碼裝置中,編碼裝置對(duì)位于同步代碼插入位置的位串進(jìn)行使與同步代碼的加重平均距離大于預(yù)先決定的值的變換處理;譯碼裝置通過(guò)進(jìn)行與此相反的變換,由于在位串中不包含與同步代碼相同的位組合格式,所以,不會(huì)出現(xiàn)同步代碼的誤檢測(cè)。另外,如果進(jìn)行使同步代碼與其以外的代碼串的加重平均距離增大的變換,即使錯(cuò)誤混入代碼串中,也可以區(qū)別同步代碼與其以外的代碼串,所以,可以減少由于錯(cuò)誤而引起的同步代碼的誤檢測(cè)的概率。
由于該變換/逆變換處理只在同步代碼插入位置進(jìn)行,所以,與對(duì)代碼串全體進(jìn)行變換/逆變換處理的先有方法相比,減少了額外操作。另外,在向編碼裝置輸入的輸入代碼串中,不必進(jìn)行用以不發(fā)生與同步代碼相同的位組合格式的變換處理或使用特別的代碼字。特別是將切換不同的代碼字表而使用的可變長(zhǎng)編碼裝置作為本編碼裝置的輸入時(shí),如果在可變長(zhǎng)編碼裝置中作成用以不發(fā)生與同步代碼相同的組合格式的代碼字表,將招致編碼效率的降低,但是如果使用第2編碼/譯碼裝置,就不會(huì)發(fā)生這種問(wèn)題。
(3)本發(fā)明的第3編碼裝置其特征在于具有將輸入的代碼串編碼為糾錯(cuò)/檢出代碼的編碼單元、將同步代碼插入到上述代碼串中的同步代碼插入單元和判斷應(yīng)編碼為上述代碼串的上述同步代碼之前的糾錯(cuò)/檢出代碼的信息的位數(shù)的判斷單元,在上述編碼單元中,根據(jù)由上述判斷單元判定的位數(shù),使上述同步代碼之前的糾錯(cuò)/檢出代碼成為適應(yīng)地縮退的縮退代碼。
本發(fā)明的第3譯碼裝置其特征在于具有對(duì)編碼為糾錯(cuò)/檢出代碼并插入同步代碼的代碼串進(jìn)行譯碼的譯碼單元、檢測(cè)上述代碼串中的同步代碼的同步代碼檢測(cè)單元和判斷編碼為上述代碼串中的由同步代碼檢測(cè)單元檢測(cè)的同步代碼之前的糾錯(cuò)/檢出代碼的信息的位數(shù)的判斷單元,在上述譯碼單元中,根據(jù)上述判斷單元的判斷結(jié)果,識(shí)別上述同步代碼之前的糾錯(cuò)/檢出代碼是否為縮退代碼并進(jìn)行譯碼。
這樣,在第3編碼/譯碼裝置中,作為同步代碼之前的糾錯(cuò)/檢出代碼,是使用為了將留在1個(gè)同步區(qū)間的最后的信息位進(jìn)行編碼而縮退到所需要的位數(shù)的縮退代碼,所以,不必在同步區(qū)間的最后部分為了補(bǔ)足信息位的剩余部分而使用很多插入位,從而可以提高編碼效率。
(4)本發(fā)明的第4編碼裝置其特征在于具有將包含輸入的多種信息的代碼串編碼為糾錯(cuò)/檢出代碼的編碼單元和根據(jù)上述代碼串中的信息的種類切換上述糾錯(cuò)/檢出代碼的種類的切換單元。
本發(fā)明的第4譯碼裝置其特征在于具有將根據(jù)信息的種類編碼為不同種類的糾錯(cuò)/檢出代碼的代碼串進(jìn)行譯碼并生成原來(lái)的信息的譯碼單元和根據(jù)由上述譯碼單元生成的信息的種類判斷上述糾錯(cuò)/檢出代碼的種類并通知上述譯碼單元的通知單元。
這樣,在第4編碼/譯碼裝置中,根據(jù)信息的種類切換糾錯(cuò)/檢出代碼進(jìn)行編碼/譯碼時(shí),在編碼裝置中,通過(guò)根據(jù)所輸入的代碼串的信息的種類進(jìn)行糾錯(cuò)/檢出代碼的切換,同時(shí),在譯碼裝置中根據(jù)所譯碼的信息判斷糾錯(cuò)/檢出代碼的種類進(jìn)行與編碼裝置相同的切換,就不必如以往那樣使用表示糾錯(cuò)/檢出代碼的種類的標(biāo)題信息,從而可以消除標(biāo)題信息所帶來(lái)的額外的操作。
(5)本發(fā)明的第5編碼裝置其特征在于具有將位于輸出代碼中預(yù)先決定的多個(gè)同步代碼插入位置及其前后的預(yù)先決定的位數(shù)的區(qū)間的同步代碼以外的輸入代碼串變換為使與該同步代碼的加重平均距離大于預(yù)先決定的值的代碼串變換單元、將由上述代碼串變換單元進(jìn)行變換后的代碼串編碼為由信息位和檢查位構(gòu)成的糾錯(cuò)/檢出代碼的編碼單元和將同步代碼插入到上述輸出代碼串中預(yù)先決定的多個(gè)同步代碼插入位置中的某一個(gè)位置同時(shí)將上述信息位配置到該輸出代碼串中的任意的位置而將上述檢查位配置到該代碼串中的上述同步代碼插入位置以外的位置從而組合成該輸出代碼串的代碼串組合單元。
本發(fā)明的第5譯碼裝置其特征在于具有從編碼為由信息位和檢查位構(gòu)成的糾錯(cuò)/檢出代碼并插入同步代碼的代碼串中在預(yù)先決定的同步代碼插入位置及其傾預(yù)先決定的位數(shù)的區(qū)間進(jìn)行同步代碼的檢測(cè)的同步代碼檢測(cè)單元、分解上述代碼串抽出配置在糾錯(cuò)/檢出代碼的信息位和上述同步代碼插入位置以外的位置的該糾錯(cuò)/檢出代碼的檢查位的代碼串分解單元、接收由上述代碼串分解單元抽出的信息位和檢查位并將上述糾錯(cuò)/檢出代碼進(jìn)行譯碼的譯碼單元和將存在于由上述譯碼單元所譯碼的代碼串中變換為使與同步代碼的加重平均距離大于預(yù)先決定的值的上述同步代碼插入位置及其前后預(yù)先決定的位數(shù)區(qū)間的該同步代碼以外的代碼串變換為原來(lái)的代碼串的代碼串變換單元。
這樣,在第5編碼/譯碼裝置中,對(duì)于輸入代碼串,不僅在同步代碼插入?yún)^(qū)間而且在其前后的預(yù)先決定的位數(shù)的區(qū)間進(jìn)行使與同步代碼的加重平均距離大于預(yù)先決定的值的變換,在譯碼裝置中,通過(guò)對(duì)輸入的代碼串進(jìn)行與此相反的變換,由于在該區(qū)間不包含與同步代碼相同的位組合格式,所以,即使通過(guò)發(fā)生一部分位消失的位消失或附加多余的位的位附加的傳輸路線/存儲(chǔ)媒體進(jìn)行已編碼的位串的傳輸/存儲(chǔ),只要消失/附加的位數(shù)小于預(yù)先決定的位數(shù),就可以區(qū)別同步代碼與其以外的代碼串,從而在譯碼裝置中可以正確地進(jìn)行同步檢測(cè)。
(6)本發(fā)明的第6編碼裝置其特征在于具有使將輸入信號(hào)進(jìn)行壓縮編碼而得到的多種壓縮代碼多路化并生成多路化代碼串的多路化單元和將上述多路化代碼串作為輸入組合成輸出代碼串的代碼串組合單元,上述代碼串組合單元將同步代碼插入到上述輸出代碼串中預(yù)先周期地決定的多個(gè)同步代碼插入位置中的某一個(gè)位置。
這時(shí),由于上述代碼串組合單元將同步代碼插入到上述輸出代碼串中預(yù)先周期地決定的多個(gè)同步代碼插入位置中的某一個(gè)位置,所以,進(jìn)行在該輸出代碼串中插入填充位或者在上述輸出代碼串中預(yù)先決定周期性的多個(gè)同步代碼插入位置,同時(shí)插入指示上述多路化代碼串的邊界的信息(指針信息),將同步代碼插入到上述多個(gè)同步代碼插入位中的某一個(gè)位置。這樣,便可將同步代碼只插入到周期地決定的多個(gè)同步代碼插入位置中的某一個(gè)位置。
這里,填充位最好是可以從輸出代碼串的反方向唯一地進(jìn)行譯碼的代碼。這樣,在譯碼裝置中,通過(guò)將填充位之前的代碼串的譯碼結(jié)束位置與填充位的開始位置進(jìn)行比較,便可很容易檢測(cè)輸入代碼串中的錯(cuò)誤。
此外,該填充位最好是同步代碼和與其一部分之間的加重平均距離大于預(yù)先決定的值。這樣,便可降低偽同步的發(fā)生概率。
本發(fā)明的第6譯碼裝置其特征在于具有檢測(cè)輸入代碼串中的同步代碼的同步代碼檢測(cè)單元、以由上述同步代碼檢測(cè)單元從上述輸入代碼串中檢測(cè)的同步代碼的位置為基準(zhǔn)進(jìn)行逆多路化處理從而生成壓縮代碼的逆多路化單元和將上述壓縮代碼進(jìn)行譯碼并輸出再生信號(hào)的譯碼單元,上述同步代碼檢測(cè)單元在上述輸入代碼串中的預(yù)先周期地決定的多個(gè)同步代碼插入位置檢測(cè)上述同步代碼。
這樣,在第6編碼/譯碼裝置中,由于在編碼裝置中將同步代碼只插入到使多種壓縮代碼實(shí)現(xiàn)多路化的多路化代碼串中預(yù)先周期地決定的同步代碼插入位置,所以,在譯碼裝置中,只在該同步代碼插入位置進(jìn)行同步檢測(cè)就可以了,與將同步代碼插入到代碼串中的任意的位置的先有方式相比,可以減少同步代碼檢測(cè)的次數(shù),另外,由于位錯(cuò)誤而輸入譯碼裝置的位串通過(guò)變化為與同步代碼相同的位組合格式而引起的偽同步的發(fā)生概率隨著該同步代碼檢測(cè)次數(shù)的減少而減小,所以,利用本發(fā)明可以減少發(fā)生偽同步,從而可以減少伴隨同步代碼檢測(cè)的運(yùn)算處理量。
(7)本發(fā)明的第7編碼裝置其特征在于除了第6編碼裝置的結(jié)構(gòu)外,進(jìn)而還具有將位于上述輸出代碼串中的上述同步代碼插入位置的上述同步代碼以外代碼串變換為使之與同步代碼的加重平均距離大于預(yù)先決定的值的代碼串變換單元。
本發(fā)明的第7譯碼裝置其特征在于進(jìn)而還具有將在上述輸入代碼串的上述同步代碼插入位置處已變換為使之與上述同步代碼的加重平均距離大于預(yù)先決定的值的該同步代碼以外的代碼串變換為原來(lái)的代碼串的代碼串變換單元。
這樣,在第7編碼/譯碼裝置中,除了第6編碼/譯碼裝置的結(jié)構(gòu)外,通過(guò)對(duì)考慮了同步代碼的錯(cuò)誤的位插入即對(duì)位于同步代碼插入位置的位串進(jìn)行與同步代碼的加重平均距離的變換,在位串中不包含與同步代碼相同的位組合格式,所以,對(duì)于預(yù)想的位數(shù)以下的錯(cuò)誤,可以保證不會(huì)發(fā)生同步代碼的誤檢測(cè),從而可以減小同步代碼誤檢測(cè)的概率。
在本發(fā)明中,所謂同步代碼,就是用于同步恢復(fù)而插入到代碼串中的可以唯一譯碼的代碼,例如,如果插入同步代碼的代碼串是使將按幀單位輸入的圖像信號(hào)進(jìn)行壓縮編碼后的多種探索代碼實(shí)現(xiàn)多路化的多路化代碼串,則同步代碼就是表示編碼幀的分界線或多種壓縮代碼的分界線以及其他分界線的代碼。
如上所述,如果應(yīng)用本發(fā)明,則可獲得如下效果。
(1)按照第1編碼/譯碼裝置,通過(guò)將同步代碼只插入到每隔一定間隔的同步代碼插入位置并使糾錯(cuò)/檢出代碼的檢查位發(fā)生移位而存在于同步代碼插入位置以外的位置,所以,即使在檢查位發(fā)生與同步代碼相同的位組合格式,在進(jìn)行同步代碼檢測(cè)的同步代碼插入位置也不會(huì)發(fā)生與同步代碼相同的位組合格式,從而在原理上完全不存在錯(cuò)誤地進(jìn)行同步檢測(cè)的可能性。
另外,對(duì)于位于同步代碼插入位置的代碼串,如果進(jìn)行用以不發(fā)生偽同步代碼的位插入,就可以克服以往那樣構(gòu)成用以不發(fā)生與同步位相同的位組合格式的代碼字的困難。
(2)按照第2編碼/譯碼裝置,在編碼裝置中除了第1編碼裝置的結(jié)構(gòu)外通過(guò)對(duì)位于考慮了同步代碼的錯(cuò)誤的位插入即同步代碼插入位置的位串進(jìn)行用以使與同步代碼的加重平均距離大于預(yù)先決定的值的變換處理而在譯碼裝置中進(jìn)行與此相反的變換,在位串中不包含與同步代碼相同的位組合格式,所以,對(duì)于預(yù)想的位數(shù)以下的錯(cuò)誤可以保證不會(huì)發(fā)生同步代碼的誤檢測(cè),從而可以減小同步代碼的誤檢測(cè)的概率。另外,如果進(jìn)行了這種變換,即使錯(cuò)誤混入到代碼串中,也可以區(qū)別同步代碼也其以外的代碼串,所以,可以減小由于錯(cuò)誤而引起的同步代碼的誤檢測(cè)的概率。
此外,糾錯(cuò)/檢出編碼在通過(guò)位插入而進(jìn)行代碼字的變換之后進(jìn)行,所以,對(duì)插入位也進(jìn)行了錯(cuò)誤保護(hù)。因此,與在進(jìn)行糾錯(cuò)/檢出編碼后進(jìn)行位插入的先有的方式相比,可以降低插入位發(fā)生錯(cuò)誤的概率。而且,由于位插入只在同步代碼插入位置進(jìn)行,所以,與先有的在代碼串全體中進(jìn)行位插入的情況相比,可以減少由于位插入而引起的代碼量增加,從而庫(kù)體格編碼效率。
(3)按照第3編碼/譯碼裝置,由于將同步代碼之前的糾錯(cuò)/檢出代碼采用縮退代碼,所以,與先有的編碼裝置相比,在同步代碼之前的部分可以減少用于補(bǔ)足信息位的剩余部分的位插入數(shù),從而可以提高編碼效率。
(4)按照第4編碼/譯碼裝置,通過(guò)在編碼裝置中利用圖像及聲音等的高效率壓縮編碼裝置的多路化規(guī)則根據(jù)輸入的代碼串的信息種類進(jìn)行糾錯(cuò)/檢出代碼的切換、而在譯碼裝置中根據(jù)譯碼的信息判斷糾錯(cuò)/檢出代碼的種類并進(jìn)行與編碼裝置相同的切換,就不需要附加表示糾錯(cuò)/檢出代碼的種類的標(biāo)題信息,可以將其位數(shù)分配給圖像及聲音的高效率壓縮編碼,結(jié)果,便可提高畫質(zhì)及聲音等的信息品質(zhì)。
(5)按照第5編碼/譯碼裝置,通過(guò)在編碼裝置中對(duì)輸入代碼串不僅在同步代碼插入?yún)^(qū)間而且在其前后的預(yù)先決定的位數(shù)的區(qū)間進(jìn)行使與同步代碼的加重平均距離大于預(yù)先決定的值的變換、而在譯碼裝置中對(duì)輸入的代碼串進(jìn)行與此相反的變換,便可使在該區(qū)間不包含與同步代碼相同的位組合格式。因此,即使通過(guò)發(fā)生一部分位消失的位消失或附加多余的位的位附加的傳輸路線/存儲(chǔ)媒體進(jìn)行已編碼的位串的傳輸/存儲(chǔ),只要消失/附加的位數(shù)小于預(yù)先決定的位數(shù),就可以區(qū)別同步代碼與其以外的代碼串,從而在譯碼裝置中可以正確地進(jìn)行同步檢測(cè)。
(6)按照第6編碼/譯碼裝置,由于在編碼裝置中將同步代碼只插入到使多種壓縮代碼實(shí)現(xiàn)多路化的多路化代碼串中預(yù)先周期地決定的同步代碼插入位置,所以,在譯碼裝置中只在該同步代碼插入位置進(jìn)行同步檢測(cè)就可以了,與同步代碼插入到代碼串中的任意位置的先有方式相比,可以減少同步代碼檢測(cè)的次數(shù)。
另外,由于位錯(cuò)誤而輸入譯碼裝置的位串通過(guò)變化為與同步代碼相同的位組合格式而引起偽同步的發(fā)生的概率伴隨該同步代碼檢測(cè)次數(shù)的減少而減小,所以,如果應(yīng)用本發(fā)明,便可減少偽同步的發(fā)生,從而也可以減少伴隨同步代碼檢測(cè)的運(yùn)算處理量。
(7)按照第7編碼/譯碼裝置,除了第6編碼/譯碼裝置的結(jié)構(gòu)外,通過(guò)對(duì)位于考慮了同步代碼的錯(cuò)誤的位插入即同步代碼插入位置的位串進(jìn)行與同步代碼的加重平均距離的變換,在位串中不包含與同步代碼相同的位組合格式,所以,對(duì)預(yù)想的位數(shù)以下的錯(cuò)誤可以保證不發(fā)生同步代碼的誤檢測(cè),從而可以減小同步代碼誤檢測(cè)的概率。
圖1是表示本發(fā)明實(shí)施例1和2的運(yùn)動(dòng)圖象編碼裝置的結(jié)構(gòu)的框圖。
圖2是表示圖1的運(yùn)動(dòng)圖象編碼裝置的多路器的多路化規(guī)則的圖。
圖3是表示圖1的運(yùn)動(dòng)圖象編碼裝置的輸出編碼裝置的結(jié)構(gòu)的框圖。
圖4是表示圖1的運(yùn)動(dòng)圖象編碼裝置的輸出代碼串的例子的圖。
圖5是表示同步代碼的例子的圖。
圖6是表示圖3的輸出編碼裝置的糾錯(cuò)/檢出切換編碼部的結(jié)構(gòu)的框圖。
圖7是表示圖3的輸出編碼裝置的代碼串組合器的結(jié)構(gòu)的框圖。
圖8是表示本發(fā)明的實(shí)施例1和2的運(yùn)動(dòng)圖象譯碼裝置的結(jié)構(gòu)的框圖。
圖9是表示圖8的運(yùn)動(dòng)圖象譯碼裝置的輸入譯碼裝置的結(jié)構(gòu)的框圖。
圖10是表示圖9的輸入譯碼裝置的代碼串分解器的結(jié)構(gòu)的框圖。
圖11是表示用先有的糾錯(cuò)/檢出代碼切換編碼裝置得到的代碼串的例子的圖。
圖12是表示用于說(shuō)明本發(fā)明的實(shí)施例2的由于傳輸路線的位附加/消失而發(fā)生錯(cuò)誤的同步代碼的例子的圖。
圖13是用于說(shuō)明實(shí)施例2的圖3中的位插入器的動(dòng)作的圖。
圖14是用于說(shuō)明實(shí)施例2的圖9中的同步檢測(cè)器和插入位去除器的動(dòng)作的圖。
圖15是表示在實(shí)施例1和2中使用幀長(zhǎng)信息進(jìn)行同步保護(hù)的代碼串的例子的圖。
圖16是表示在實(shí)施例1和2中使用幀長(zhǎng)信息進(jìn)行同步保護(hù)的代碼串的其他例子的圖。
圖17是表示在實(shí)施例1和2中使用幀長(zhǎng)信息進(jìn)行同步保護(hù)的代碼串的又一個(gè)其他例子的圖。
圖18是表示本發(fā)明實(shí)施例3和4的運(yùn)動(dòng)圖象編碼裝置的結(jié)構(gòu)的框圖。
圖19是表示本發(fā)明實(shí)施例3的運(yùn)動(dòng)圖象編碼裝置的輸出編碼裝置的結(jié)構(gòu)的框圖。
圖20是表示本發(fā)明實(shí)施例3的運(yùn)動(dòng)圖象編碼裝置的輸出代碼串的例子的圖。
圖21是表示本發(fā)明實(shí)施例3和4的運(yùn)動(dòng)圖象譯碼裝置的結(jié)構(gòu)的框圖。
圖22是表示本發(fā)明實(shí)施例3的運(yùn)動(dòng)圖象譯碼裝置的輸入譯碼裝置的結(jié)構(gòu)的框圖。
圖23是表示本發(fā)明實(shí)施例4的運(yùn)動(dòng)圖象編碼裝置的輸出編碼裝置的結(jié)構(gòu)的框圖。
圖24是表示本發(fā)明實(shí)施例4的運(yùn)動(dòng)圖象譯碼裝置的輸入譯碼裝置的結(jié)構(gòu)的框圖。
圖25是表示本發(fā)明實(shí)施例4的運(yùn)動(dòng)圖象編碼裝置的輸出代碼串的例子的框圖。
圖26是表示運(yùn)動(dòng)圖象編碼裝置的多路器的多路化規(guī)則的圖。
圖27是表示本發(fā)明實(shí)施例5的運(yùn)動(dòng)圖象編碼裝置的輸出代碼串的例子的框圖。
圖28是表示運(yùn)動(dòng)圖象編碼裝置的多路器的多路化的其他例子的圖。
圖29是表示對(duì)圖28所示的進(jìn)行多路化處理時(shí)的各同步代碼進(jìn)行處理的輸出代碼串的圖。
圖30是表示用于說(shuō)明本發(fā)明使用的填充位的例子的代碼表的圖。
圖31是用于說(shuō)明使用圖30的填充位時(shí)的譯碼裝置的處理的圖。
圖32是說(shuō)明圖30的填充位的特征的圖。
圖33是表示使同步代碼插入間隔小于同步代碼時(shí)的輸出代碼串的例子的圖。
圖34是表示使用不同長(zhǎng)度的同步代碼的例子的圖。
圖35是表示本發(fā)明實(shí)施例6的運(yùn)動(dòng)圖象編碼裝置的輸出代碼串的例子的圖。
具體實(shí)施例方式
下面,參照
本發(fā)明的實(shí)施例。
(實(shí)施例1)圖1是表示將具有本發(fā)明的糾錯(cuò)/檢出代碼切換功能的編碼裝置與使用運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)和正交變換編碼的一種即離散余弦變換編碼的高效率壓縮編碼裝置組合的運(yùn)動(dòng)圖象編碼裝置的實(shí)施例1的框圖。關(guān)于將運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)與離散余弦變換編碼組合的編碼方式,由于例如文獻(xiàn)1安田浩編著、“マルチメデイア符號(hào)化の國(guó)際標(biāo)準(zhǔn)”、丸善、(平成3年6月)等中有詳細(xì)的說(shuō)明,所以,此處只說(shuō)明動(dòng)作的概況。另外,在本實(shí)施例中使用的糾錯(cuò)/檢出代碼如BCH代碼那樣,采用分離為信息位和檢查位的代碼。
在圖1中,以幀單位輸入的編碼對(duì)象的輸入運(yùn)動(dòng)圖象信號(hào)131先按宏塊等小區(qū)域單位進(jìn)行運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)。即,在運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)器101中,檢測(cè)輸入運(yùn)動(dòng)圖象信號(hào)131與幀存儲(chǔ)器102中存儲(chǔ)的已進(jìn)行了編碼/局部譯碼的圖像信號(hào)之間的運(yùn)動(dòng)矢量,根據(jù)該運(yùn)動(dòng)矢量通過(guò)運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)作成預(yù)測(cè)信號(hào)132。在該運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)器101中,選擇運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)編碼和將輸入運(yùn)動(dòng)圖象信號(hào)131直接進(jìn)行編碼的幀內(nèi)編碼(預(yù)測(cè)信號(hào)=0)中的極適合于編碼使用的預(yù)測(cè)模式,并輸出對(duì)應(yīng)的預(yù)測(cè)信號(hào)132。
預(yù)測(cè)信號(hào)132輸入減法器103,通過(guò)從輸入運(yùn)動(dòng)圖象信號(hào)131中將預(yù)測(cè)信號(hào)132減去,輸出預(yù)測(cè)殘差信號(hào)133。預(yù)測(cè)殘差信號(hào)133在離散余弦變換器104中按一定大小的塊單位進(jìn)行離散余弦變換(DCT),生成DCT系數(shù)。該DCT系數(shù)由量化器105進(jìn)行量化處理。從量化器105輸出的已量化的DCT系數(shù)數(shù)據(jù)分為2個(gè)分支,1個(gè)分支由第1可變長(zhǎng)編碼器106進(jìn)行可變長(zhǎng)編碼,另一個(gè)分支經(jīng)逆量化器107進(jìn)行逆量化處理后由逆離散余弦變換器108進(jìn)行逆離散余弦變換(逆DCT)。逆離散余弦變換器108的輸出在加法器109中與預(yù)測(cè)信號(hào)132相加,生成局部譯碼信號(hào)。該局部譯碼信號(hào)存儲(chǔ)到幀存儲(chǔ)器102中。
另一方面,在運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)器101中決定的預(yù)測(cè)模式和運(yùn)動(dòng)矢量的信息由第2可變長(zhǎng)編碼器110進(jìn)行可變長(zhǎng)編碼。從第1、第2可變長(zhǎng)編碼器106、110輸出的可變長(zhǎng)代碼(壓縮代碼)在多路器111中實(shí)現(xiàn)多路化,成為多路化代碼串201。
從多路器111輸出多路化代碼串201、表示與其對(duì)應(yīng)的糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào)202和要求同步代碼的插入的同步代碼插入要求信號(hào)203。
這些代碼串201、FEC種類識(shí)別信號(hào)202和同步代碼插入要求信號(hào)203輸入將代碼串201切換為糾錯(cuò)/檢出能力不同的多種糾錯(cuò)/檢出代碼而進(jìn)行編碼的輸出編碼裝置200,生成最終的輸出代碼串205。在本實(shí)施例中,輸出編碼裝置200與本發(fā)明的編碼裝置相當(dāng)。
圖2是表示多路器111中實(shí)現(xiàn)多路化的流程的圖。多路化是以編碼幀為單位進(jìn)行的。首先,使同步代碼301實(shí)現(xiàn)多路化。同步代碼301實(shí)現(xiàn)多路化時(shí),從多路器111輸出同步代碼插入要求信號(hào)203,并通知編碼裝置200已實(shí)現(xiàn)多路化的代碼字是同步代碼。其次,使對(duì)多路化代碼串201表示該編碼幀的各種編碼模式的圖像標(biāo)題203實(shí)現(xiàn)多路化。然后,使表示各區(qū)域的運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)器MC的預(yù)測(cè)模式的預(yù)測(cè)模式信息303實(shí)現(xiàn)多路化,進(jìn)而使運(yùn)動(dòng)矢量信息304和預(yù)測(cè)殘差信號(hào)的DCT系數(shù)(以下,將其稱為殘差DCT系數(shù))305實(shí)現(xiàn)多路化。使圖像標(biāo)題302、預(yù)測(cè)模式信息303、運(yùn)動(dòng)矢量信息304和殘差DCT系數(shù)305實(shí)現(xiàn)多路化時(shí),輸出分別與它們對(duì)應(yīng)的表示糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào)202。
如果混入了錯(cuò)誤,對(duì)于畫質(zhì)大大劣化的圖像標(biāo)題302、預(yù)測(cè)模式信息303和運(yùn)動(dòng)矢量信息304,使用糾錯(cuò)/檢出能力高的糾錯(cuò)/檢出代碼。另一方面,殘差DCT系數(shù)305在混入錯(cuò)誤時(shí)通過(guò)檢測(cè)該錯(cuò)誤并使殘差為0便可防止大的畫質(zhì)劣化,所以,糾錯(cuò)能力不必太高,只要能夠單純地進(jìn)行檢錯(cuò)就可以了。
圖3是表示圖1中的輸出編碼裝置200的結(jié)構(gòu)的框圖。該輸出編碼裝置200由位插入器211、糾錯(cuò)/檢出切換編碼器212和代碼串組合器213構(gòu)成。另外,圖4是表示由輸出編碼裝置200生成的輸出代碼串205的一例的圖。在圖4中,PSC是同步代碼,PH是圖像標(biāo)題,MODE是預(yù)測(cè)模式信息,MV是運(yùn)動(dòng)矢量信息,CHK是糾錯(cuò)/檢出代碼的檢查位,COEF是殘差DCT系數(shù),STUFF是填充位(插入位)。該輸出代碼串205具有以下特征。
(1)同步代碼PSC只插入到由以一定間隔(每隔sync_period位)配置的箭頭所示的同步代碼插入位置中的某一個(gè)位置。sync_period的長(zhǎng)度大于同步代碼PSC的長(zhǎng)度和檢查位CHK的最大長(zhǎng)度。檢查位CHK移位到同步代碼插入位置之前。
(2)1幀即夾在同步代碼PSC與下一個(gè)PSC之間的1同步期間的最后部分的糾錯(cuò)/檢出代碼,作為只將留在最后的信息位進(jìn)行編碼的縮退代碼,為了進(jìn)行檢查位CHK(在圖4的例中,是CHK 6)的移位,進(jìn)行所需位數(shù)的填充位STUFF的位插入。
(3)在圖4的輸出代碼串205中不存在表示糾錯(cuò)/檢出代碼的種類及數(shù)量的FEC種類識(shí)別信號(hào)。
在該輸出代碼串205中,如上述(1)那樣,由于進(jìn)行檢查位CHK的移位,所以,檢查位CHK沒(méi)有輸入到箭頭所示的同步代碼插入位置,因此,完全不可能由于檢查位CHK發(fā)生偽同步。另外,如上述(2)那樣,進(jìn)行幀的最后的糾錯(cuò)/檢出編碼時(shí),在先有的技術(shù)中,必須插入很多插入位(啞數(shù)據(jù)位),但是,在本實(shí)施例中,由于幀的最后成為縮退代碼,所以,插入位數(shù)很少就夠了。另外,如上述(3)那樣,由于在輸出代碼串205中不包含表示糾錯(cuò)/檢出代碼的種類及數(shù)量的標(biāo)題信息,所以,沒(méi)有由此引起代碼量的增加。
下面,將從多路器111輸出的圖2的多路化代碼串201與圖4的輸出代碼串205對(duì)應(yīng)地詳細(xì)說(shuō)明生成這種輸出代碼串205的圖3的輸出編碼裝置200的結(jié)構(gòu)和動(dòng)作。
同步代碼301由多路器111實(shí)現(xiàn)了多路化時(shí),如前所述,就輸出同步代碼插入要求信號(hào)203。同步代碼301如圖5所示的那樣由例如sync_0_len位的“0”、1位的“1”和表示同步代碼301的種類的sync_nb_len位的“×××××”構(gòu)成。輸出編碼裝置200接收到從多路器111輸出的同步代碼301和同步代碼插入要求信號(hào)203時(shí),就從代碼串組合器213作為輸出代碼串205輸出同步代碼(PSC)。
這里,如圖4所示,由于同步代碼301只能插入到輸出代碼串205中的每隔sync_period位配置的同步代碼插入位置,所以,此前所生成的輸出代碼串205的最末尾沒(méi)有位于同步代碼插入位置時(shí),如后面所述的那樣,就插入填充位STUFF,以使同步代碼301到達(dá)同步代碼插入位置。
同步代碼301輸出到輸出代碼串205中時(shí),以后的圖像標(biāo)題302、預(yù)測(cè)模式信息303、運(yùn)動(dòng)矢量信息304、殘差DCT系數(shù)305就按如下方式進(jìn)行編碼。首先,對(duì)于從多路器111輸出的多路化代碼串201,在位插入器211中進(jìn)行用于防止發(fā)生偽同步的位插入。即,為了防止在輸出代碼串205中有與同步代碼301的代碼字相同的位組合格式時(shí)不能將同步代碼301唯一地進(jìn)行譯碼,根據(jù)需要進(jìn)行位插入。例如,如果同步代碼301如圖5所示的那樣成為sync_0_len位的“0”連續(xù)的代碼字,只要插入“1”使在同步代碼301以外的代碼串中不會(huì)連續(xù)有sync_0_len位以上的0,就可以防止發(fā)生偽同步。
如前所述,由于同步代碼301只插入到同步代碼插入位置,所以,用于防止該偽同步發(fā)生的位插入操作只在同步代碼插入位置進(jìn)行就行了。因此,從代碼串組合器213輸出表示至此所生成的輸出代碼串205的總位數(shù)的計(jì)數(shù)值221,由位插入器211根據(jù)計(jì)數(shù)值221判斷是否需要進(jìn)行位插入。設(shè)計(jì)數(shù)值221即已生成的輸出代碼串205的總位數(shù)為total_len,則在0<total_len mod sync_period≤sync_0_len的區(qū)間,計(jì)數(shù)多路化代碼串201中的“1”的數(shù),如果在該區(qū)間完全沒(méi)有“1”,就插入1位的“1”。這里,A mod B表示用B除A時(shí)的余數(shù)。
另外,為了降低錯(cuò)誤引起的同步代碼301的誤檢測(cè)的概率,可以如以下所述的那樣進(jìn)行位插入。
在n位錯(cuò)誤混入同步代碼301時(shí),為了檢測(cè)同步代碼301,在后面所述的運(yùn)動(dòng)圖象譯碼裝置的輸入譯碼裝置中,必須判斷與真的同步代碼的加重平均距離小于等于n的代碼字是同步代碼。但是,如果對(duì)同步代碼301以外的代碼串直接進(jìn)行這種判斷時(shí),在同步代碼301以外的代碼串中有時(shí)也存在與同步代碼的加重平均距離小于等于n的位組合格式,從而將會(huì)誤認(rèn)為它位于同步代碼插入位置,并將其判定為同步代碼301。
因此,通過(guò)在位插入器211中按以下方式對(duì)多路化代碼串201進(jìn)行位插入,將位于多路化代碼串201中的同步代碼插入位置的同步代碼以外的代碼串變換為與同步代碼301的加重平均距離成為大于等于2*n+1的值。具體而言,就是在0<total_len mod sync_period≤sync_0_len-(2*N+1)的區(qū)間,計(jì)數(shù)“1”的數(shù)(設(shè)=n0),如果n0小于等于2*n+1,就將2*n+1-n0位的“1”插入到多路化代碼串201中。
這樣,在位插入器211中進(jìn)行位插入后的代碼串222就與表示糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào)202一起輸入糾錯(cuò)/檢出代碼切換編碼部212。
圖6是表示圖3中的糾錯(cuò)/檢出代碼切換編碼部212的結(jié)構(gòu)的框圖。鎖存電路603是鎖存FEC種類識(shí)別信號(hào)202的電路,從多路器111結(jié)束同步代碼向多路化代碼串201的輸出從而同步代碼插入要求信號(hào)203停止時(shí),將FEC種類識(shí)別信號(hào)202鎖存,并將鎖存的信號(hào)623供給糾錯(cuò)/檢出編碼器604。
糾錯(cuò)/檢出編碼器604根據(jù)鎖存的信號(hào)623對(duì)從位插入器211輸出的代碼串222進(jìn)行糾錯(cuò)/檢出編碼,生成并輸出信息位631和檢查位632。另外,糾錯(cuò)/檢出編碼器604結(jié)束1塊的糾錯(cuò)/檢出編碼時(shí),就輸出指示鎖存電路603鎖存下一個(gè)FEC種類識(shí)別信號(hào)202的鎖存指示信號(hào)625。鎖存電路603按照該鎖存指示信號(hào)625進(jìn)行鎖存,并將鎖存的信號(hào)623供給糾錯(cuò)/檢出編碼器604。
在輸出編碼裝置200中反復(fù)進(jìn)行上述動(dòng)作,從位插入器211輸出的位插入后的代碼串222由糾錯(cuò)/檢出切換編碼器212按照從多路器111輸出的FEC種類識(shí)別信號(hào)202進(jìn)行糾錯(cuò)/檢出代碼的切換,同時(shí)進(jìn)行糾錯(cuò)/檢出編碼。FEC種類識(shí)別信號(hào)202由于只在1塊的糾錯(cuò)/檢出代碼的編碼結(jié)束的時(shí)刻由鎖存電路603鎖存,所以,在該切換點(diǎn)之前可以應(yīng)用相同的糾錯(cuò)/檢出代碼。例如,在圖像標(biāo)題302使用FEC1、預(yù)測(cè)模式信息303使用FEC2這樣的糾錯(cuò)/檢出代碼時(shí),如果圖像標(biāo)題302的位數(shù)比FEC1的1塊的信息位數(shù)少,則作為后續(xù)的預(yù)測(cè)模式信息303的糾錯(cuò)/檢出代碼,在達(dá)到FEC1的信息位數(shù)之前,可以使用FEC1。
圖7是表示圖3中的代碼串組合器213的結(jié)構(gòu)的框圖。該代碼串組合器213由計(jì)數(shù)輸出代碼串205的位數(shù)的計(jì)數(shù)器701、暫時(shí)存儲(chǔ)檢查位632及其位數(shù)的緩沖器702、切換輸出代碼串205的切換器703和控制切換器703的切換控制器704構(gòu)成。
計(jì)數(shù)器701在輸入同步代碼插入要求信號(hào)203時(shí)復(fù)位為同步代碼長(zhǎng)sync_len的值,從同步代碼的下一位到順序輸入下一個(gè)同步代碼停止計(jì)數(shù)。在同步代碼輸入后,在最初的檢查位632輸入之前切換器動(dòng)作以輸出信息位631。輸入檢查位632時(shí),就存儲(chǔ)到緩沖器702中,同時(shí)將其位數(shù)(檢查位數(shù))711從緩沖器702向切換控制器704輸出。
切換控制器704根據(jù)檢查位數(shù)711和計(jì)數(shù)器701的計(jì)數(shù)值221,如前所述的那樣控制切換器703進(jìn)行用以使檢查位632不會(huì)輸出到同步代碼插入位置的檢查位移位。例如,設(shè)計(jì)數(shù)值221為bit_count、檢查位數(shù)711為check_len,則在bit_count mod sync_period<sync_period-check_len
時(shí)就輸出信息位631,在sync_period-cheek_len≤total_bits mod sync_period<sync_period時(shí)就輸出緩沖器702存儲(chǔ)的檢查位713。以后,便輸入信息位631和檢查位632,反復(fù)進(jìn)行上述處理。
輸出編碼裝置200如前所述的那樣在1幀的最后部分作為糾錯(cuò)/檢出代碼使用縮退碼,為了進(jìn)行檢查位的移位而進(jìn)行位插入,所以,進(jìn)行與除此以外的部分的通常情況不同的動(dòng)作。即,多路器111結(jié)束1幀的多路化代碼串201的輸出時(shí),就輸出下一幀的同步代碼插入要求信號(hào)203。與此對(duì)應(yīng)地,圖6的糾錯(cuò)/檢出切換編碼部212內(nèi)的糾錯(cuò)/檢出編碼器604將糾錯(cuò)/檢出代碼的信息位631的不足部分視為是從插入位發(fā)生器705輸出的預(yù)先決定的位組合格式,從而進(jìn)行使用縮退碼的糾錯(cuò)/檢出編碼。該位組合格式可以使全部位為“1”,也可以為“0”,也可以是“0101...”那樣的特定的格式的反復(fù)。不向信息位631輸出該補(bǔ)足的插入位。
在圖7的代碼串組合器213中,將信息位631輸出到最后之后,將切換器703從位發(fā)生器705切換到輸入,進(jìn)行位插入以使緩沖器702存儲(chǔ)的檢查位713配置到下一個(gè)同步代碼之前。設(shè)輸出1幀的最后的信息位631時(shí)的計(jì)數(shù)器701的計(jì)數(shù)值221為total_len、最后輸出的檢查位632的位數(shù)為last_check_len,則該插入位的數(shù)stuffing_len成為stuffing_len=sync_period-last_check_len-(total_lenmod sync_period)不使用縮退碼時(shí),就進(jìn)行最后的信息位last_info_len的通常的信息位info_len的不足部分(info_len-last_info_len)位的位插入,此外,還必須進(jìn)行用于使檢查位移位的位插入。因此,與使用縮退碼時(shí)相比,必須進(jìn)行info_len-last_info_len+(info_len-last_info_len)mod sync_period位的很多位插入。
代碼串組合器213在這樣通過(guò)切換器703向輸出代碼串205輸出信息位631和插入位后,最后切換到檢查位713,向輸出代碼串205輸出。
下面,說(shuō)明本實(shí)施例的運(yùn)動(dòng)圖象譯碼裝置。
圖8是表示與圖1的運(yùn)動(dòng)圖象編碼裝置對(duì)應(yīng)的運(yùn)動(dòng)圖象譯碼裝置的結(jié)構(gòu)的框圖。從圖1的運(yùn)動(dòng)圖象譯碼裝置輸出的輸出代碼串205經(jīng)過(guò)傳輸/存儲(chǔ)系統(tǒng)后,作為輸入代碼串205’輸入到輸入譯碼裝置800中。在本實(shí)施例中,輸入譯碼裝置800與本發(fā)明的譯碼裝置相當(dāng)。
在輸入譯碼裝置800中,根據(jù)從后續(xù)的逆多路器811輸出的表示糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào)802切換糾錯(cuò)/檢出代碼,輸出經(jīng)過(guò)糾錯(cuò)/檢出譯碼的代碼串801、同步代碼檢測(cè)信號(hào)803和檢錯(cuò)信號(hào)804。逆多路器811輸入這些代碼串801、同步代碼檢測(cè)信號(hào)803和檢錯(cuò)信號(hào)804,分離并輸出預(yù)測(cè)殘差代碼841和運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)信息代碼842。
預(yù)測(cè)殘差代碼841和運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)信息代碼842分別輸入第1和第2可變長(zhǎng)譯碼器806和810。由第1可變長(zhǎng)譯碼器806所譯碼的殘差DCT系數(shù)831由逆量化器807進(jìn)行逆量化處理和由逆DCT器808進(jìn)行逆離散余弦變換等一系列的處理后,由加法器809與運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)器801的輸出即運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)信號(hào)832相加,成為再生圖像信號(hào)850。再生圖像信號(hào)850向裝置外輸出,同時(shí)記錄到幀存儲(chǔ)器820中。由第2可變長(zhǎng)譯碼器810所譯碼的運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)信息輸入運(yùn)動(dòng)補(bǔ)償自適應(yīng)預(yù)測(cè)器801,生成運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)832。
上述處理是與圖1的運(yùn)動(dòng)圖象編碼裝置對(duì)應(yīng)地再生運(yùn)動(dòng)圖象的處理,逆量化器807、逆DCT器808、加法器809和幀存儲(chǔ)器820進(jìn)行的處理,分別與圖1的逆量化器107、逆DCT器108、加法器109和幀存儲(chǔ)器102進(jìn)行的處理的實(shí)現(xiàn)方法也有不同的情況,但是,基本上是相同的。另外,第1和第2可變長(zhǎng)譯碼器806、810、逆多路器811和輸入譯碼裝置800的處理除了錯(cuò)誤混入代碼串的情況外,分別是與圖1的可變長(zhǎng)編碼器106、110、多路器111和輸出編碼裝置200進(jìn)行的處理相反的處理。
圖9是表示輸入譯碼裝置800的結(jié)構(gòu)的框圖。該輸入譯碼裝置800由檢測(cè)輸入代碼串205’中的同步代碼的同步檢測(cè)器901、計(jì)數(shù)輸入代碼串205’的位數(shù)的計(jì)數(shù)器902、將輸入代碼串205’分解為信息位912和檢查位913并輸出的代碼串分解器903、糾錯(cuò)/檢出譯碼器904和插入位去除器905構(gòu)成。
在同步檢測(cè)器901中,根據(jù)計(jì)數(shù)器902的計(jì)數(shù)值911只在同步代碼插入位置進(jìn)行同步代碼的檢測(cè)。例如,設(shè)同步代碼插入位置的間隔為sync_period、計(jì)數(shù)值911為bit_count、同步代碼的長(zhǎng)度為sync_len,就只進(jìn)行0<bit_count%sync_period≤sync_len時(shí)的同步檢測(cè)。
這里,也可以進(jìn)行考慮了同步代碼的錯(cuò)誤的同步代碼的檢測(cè)。
在圖3中的輸出編碼裝置200內(nèi)的位插入器211中,如果考慮n位以下的錯(cuò)誤,進(jìn)行以使與同步代碼的加重平均距離遠(yuǎn)離為2*n+1的位插入引起的代碼串變換,即使將與真的同步代碼的加重平均距離小于n的代碼判定為同步代碼,只要是n位以下的錯(cuò)誤混入,就不會(huì)發(fā)生誤同步檢測(cè)。
圖10是表示代碼串分解器903的結(jié)構(gòu)的框圖。輸入代碼串205’由后面所述的控制器1001控制的第1切換器1002切換為信息位1021和檢查位913。從第1切換器1002輸出信息位1021時(shí),該信息位1021經(jīng)過(guò)第2切換器1003只將信息位長(zhǎng)度存儲(chǔ)到緩沖器1004中。計(jì)數(shù)器1005計(jì)數(shù)從第2切換器1003輸出的輸出位數(shù)。該計(jì)數(shù)器1005的計(jì)數(shù)值1023由比較器1006與從糾錯(cuò)/檢出代碼信息輸出器1007輸出的信息位長(zhǎng)度1024進(jìn)行比較,兩者一致時(shí)就將計(jì)數(shù)器1005復(fù)位,同時(shí)由鎖存電路1008將表示糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào)802鎖存,進(jìn)而從緩沖器1004輸出信息位912。鎖存電路1008的輸出914輸入糾錯(cuò)/檢出代碼信息輸出電路1007,同時(shí)向圖9中所示的糾錯(cuò)/檢出譯碼器904輸出。
如前所述,糾錯(cuò)/檢出代碼的檢查位進(jìn)行移位,進(jìn)入代碼串205中后方的糾錯(cuò)/檢出代碼的信息位之間??刂破?001進(jìn)行用以將進(jìn)行了移位的檢查位和信息位分離的控制。1塊的糾錯(cuò)/檢出代碼的信息位的輸入結(jié)束時(shí),在比較器1006中計(jì)數(shù)值1023與信息位長(zhǎng)度1024就一致??刂破?001接收該一致信號(hào),從糾錯(cuò)/檢出信息輸出器1007取入檢查位長(zhǎng)度1025,計(jì)算進(jìn)入下一個(gè)信息位之間的檢查位的位置。設(shè)由比較器1006判定為一致時(shí)的代碼串205’的輸入位數(shù)的計(jì)數(shù)值911為bit_count、檢查位長(zhǎng)度為check_len,則檢查位開始位置check_start就成為check_start=(bit_count/sync_period+1)*sync_period-check_len,檢查位結(jié)束位置check_end就成為check_end=(bit_count/sync_period+1)*sync_period。控制器1001控制切換器1002在計(jì)數(shù)值911從check_start到check_end之間輸出檢查位913。
由于在1幀的最后用縮退碼進(jìn)行糾錯(cuò)/檢出編碼,所以,進(jìn)行特別的處理。在達(dá)到1幀的最后時(shí),從同步檢測(cè)器901輸出表示檢測(cè)下一幀的同步代碼的信號(hào)803??刂破?001接收該信號(hào)803,計(jì)算1幀的最后的糾錯(cuò)/檢出代碼的檢查位的位置和信息位的不足位數(shù)。設(shè)開始輸入1幀的最后的糾錯(cuò)/檢出代碼時(shí)的輸入的代碼串205’的位數(shù)的計(jì)數(shù)值911為pre_last_count、1幀的代碼串205’的輸入結(jié)束時(shí)的計(jì)數(shù)值911為total_count、處理時(shí)的計(jì)數(shù)值911為bit_count、前一個(gè)糾錯(cuò)/檢出代碼的檢查位長(zhǎng)度為pre_last_check_len。首先,計(jì)算糾錯(cuò)代碼是縮退碼和進(jìn)行位插入而引起的信息位的過(guò)不足部分。在1幀最后的糾錯(cuò)/檢出代碼的信息位中,包含在輸出代碼串205中的位數(shù)last_info_len就是last_info_len=total_count-last_check_len-pre_last_count-pre_last_check_len。在last_info_len比糾錯(cuò)代碼的信息長(zhǎng)度info_len短時(shí),就判定為縮退碼,計(jì)數(shù)值1023從last_info_len到info_len由切換器1021切換為從插入位發(fā)生器1015輸出的位組合模式,補(bǔ)足由于縮退而引起的信息位的不足部分。從該插入位發(fā)生器1015輸出的輸出位組合格式和編碼器的圖7中的插入位發(fā)生器705發(fā)生的位組合格式相同。
另一方面,last_info_len比info_len長(zhǎng)時(shí),就判定為位插入部分,對(duì)于計(jì)數(shù)值1023成為info_len以上的部分,就不輸出信息位912。對(duì)于檢查位,就控制切換器1002將total_count-chrck_len<bit_count≤total_count時(shí)的輸出代碼串205作為檢查位而輸出。
糾錯(cuò)/檢出譯碼器904輸入從代碼串分解器903輸出的信息位912和檢查位913,根據(jù)由圖10的鎖存電路1008鎖存的表示糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào)914進(jìn)行糾錯(cuò)/檢出代碼的譯碼,并輸出進(jìn)行了糾錯(cuò)的代碼串915和檢錯(cuò)信號(hào)804。
進(jìn)行了糾錯(cuò)的代碼串915輸入插入位去除器905。插入位去除器905進(jìn)行去除用于防止由輸出編碼裝置200的位插入器211插入的偽同步信號(hào)的插入位的處理。如前所述,由于位插入只在同步插入位置進(jìn)行,所以,根據(jù)計(jì)數(shù)器902的計(jì)數(shù)值911判斷同步插入位置。
例如,設(shè)同步代碼字為圖5所示的代碼字,在位插入器211中向同步代碼的最初的sync_len位的“0000...”部分進(jìn)行位插入用以使與同步代碼的加重平均距離遠(yuǎn)離2*n+1以上時(shí),就從同步代碼插入位置開始計(jì)數(shù)sync_0_len-(2*n+1)位的“1”的數(shù)(設(shè)=n0),如果n0小于2*n+1,就刪除2*n+1-n0位。但是,由于插入位決定為“1”,所以,由插入位去除器905判定為插入位的位為“0”時(shí),就認(rèn)為錯(cuò)誤混入到了同步代碼插入?yún)^(qū)間,這時(shí),就輸出誤檢測(cè)信號(hào)804。
如上所述,由輸入譯碼裝置800譯碼的代碼串801由逆多路器811進(jìn)行逆多路化處理。這就是將圖2所示的經(jīng)過(guò)多路化處理的代碼字分離并輸出的操作。該逆多路器811與第1和第2可變長(zhǎng)譯碼器806和810連動(dòng)地動(dòng)作。
首先,從輸出譯碼裝置800輸入同步代碼檢測(cè)信號(hào)803時(shí),逆多路器811就轉(zhuǎn)移為幀處理的初始狀態(tài)。其次,作為表示糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào)802,輸出對(duì)圖像標(biāo)題的糾錯(cuò)/檢出代碼的種類,輸入代碼串801,將圖像標(biāo)題302進(jìn)行譯碼,判斷圖像標(biāo)題中有無(wú)錯(cuò)誤。沒(méi)有錯(cuò)誤時(shí),作為FEC種類識(shí)別信號(hào)802就輸出對(duì)預(yù)測(cè)模式信息303的糾錯(cuò)/檢出代碼的種類,輸入代碼串801,對(duì)預(yù)測(cè)模式信息進(jìn)行逆多路化處理,并向第2可變長(zhǎng)譯碼器810輸出。
第2可變長(zhǎng)譯碼器810將所有的預(yù)測(cè)模式信息譯碼時(shí),就向逆多路器811輸出表示該情況的信號(hào)。逆多路器811接收該信號(hào),并輸出表示對(duì)運(yùn)動(dòng)矢量信息304的糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào),開始進(jìn)行運(yùn)動(dòng)矢量信息304的逆多路化處理。進(jìn)行了逆多路化處理的運(yùn)動(dòng)矢量信息向第2可變長(zhǎng)譯碼器810輸出,進(jìn)行譯碼。在所有的運(yùn)動(dòng)矢量信息的譯碼結(jié)束時(shí),從第2可變長(zhǎng)譯碼器810向逆多路器811輸出表示該情況的信號(hào),逆多路器811接收該信號(hào),并輸出表示對(duì)殘差DCT系數(shù)的糾錯(cuò)/檢出代碼的種類的FEC種類識(shí)別信號(hào),同時(shí),對(duì)殘差DCT系數(shù)305進(jìn)行逆多路化處理,并向第1可變長(zhǎng)譯碼器806輸出。由第1可變長(zhǎng)譯碼器806將該殘差DCT系數(shù)305進(jìn)行譯碼。
如上所述,糾錯(cuò)/檢出代碼的種類,在逆多路器811中根據(jù)與輸出編碼裝置200決定的相同的多路化規(guī)則進(jìn)行判斷。因此,不必使表示糾錯(cuò)/檢出代碼的種類的標(biāo)題信息等包含在輸出代碼串205中。
在糾錯(cuò)/檢出譯碼器904中,有時(shí)利用檢錯(cuò)代碼檢測(cè)錯(cuò)誤混入到輸入代碼串205’中的情況。另外,如前所述,有時(shí)也用插入位去除器905檢測(cè)插入位的錯(cuò)誤。這時(shí),從輸入譯碼裝置800輸出檢錯(cuò)代碼804。此外,在可變長(zhǎng)譯碼的處理中,在檢測(cè)到可變長(zhǎng)代碼字表中沒(méi)有的代碼字時(shí),也判定為混入了錯(cuò)誤。另外,在逆多路器811的逆多路化處理中,判定有違反多路化的規(guī)則的部分時(shí),也判定為混入了錯(cuò)誤。這時(shí),輸入譯碼裝置800和逆多路器811為了不使再生圖像產(chǎn)生大的劣化而進(jìn)行以下處理。
(1)在殘差DCT系數(shù)中檢測(cè)到錯(cuò)誤時(shí),就令該部分的殘差為0。早預(yù)測(cè)模式選擇內(nèi)部編碼模式時(shí),也可以根據(jù)已再生幀及周圍的區(qū)域的再生圖像信號(hào)預(yù)測(cè)該區(qū)域的再生圖像信號(hào)。
(2)在預(yù)測(cè)模式信息及運(yùn)動(dòng)矢量中檢測(cè)到錯(cuò)誤時(shí),可以根據(jù)周圍的區(qū)域的預(yù)測(cè)模式信息及運(yùn)動(dòng)矢量信息推斷該區(qū)域的預(yù)測(cè)模式信息及運(yùn)動(dòng)矢量信息時(shí)就使用這些信息,不能推斷時(shí)就根據(jù)已再生幀及周圍的求的再生圖像信號(hào)預(yù)測(cè)該區(qū)域的再生圖像信號(hào)。
(3)在圖像標(biāo)題中檢測(cè)到錯(cuò)誤時(shí),如果直接將其譯碼,就可能發(fā)生非常大的畫質(zhì)劣化,所以,就直接將前一幀的再生圖像作為當(dāng)前幀的再生圖像。
在上述(1)、(2)、(3)的處理中,由于使用可變長(zhǎng)編碼而波及到下一個(gè)同步代碼之前的后續(xù)的代碼時(shí),就對(duì)該部分也進(jìn)行同樣的處理。
在上述說(shuō)明中,表示了同步代碼檢測(cè)器901只在同步代碼插入位置(每隔sync_period位)進(jìn)行同步代碼的檢測(cè)的例子,但是,由于傳輸/存儲(chǔ)媒體的影響有時(shí)也會(huì)發(fā)生位的消失或錯(cuò)誤位的插入。這時(shí),也可以在同步代碼插入位置以外進(jìn)行同步代碼的檢測(cè),并將檢測(cè)到同步代碼的位置判定為同步代碼插入位置。
(實(shí)施例2)下面,參照?qǐng)D12~圖14說(shuō)明本發(fā)明的實(shí)施例2。本實(shí)施例的運(yùn)動(dòng)圖象編碼裝置和運(yùn)動(dòng)圖象譯碼裝置即使使用使位串的一部分消失從而減少位數(shù)或附加多余的位從而增加位數(shù)的傳輸路線/存儲(chǔ)媒體進(jìn)行代碼串的傳輸/存儲(chǔ),也可以可靠地進(jìn)行同步檢測(cè)。
圖12是表示有這種位附加/消失時(shí)的同步檢測(cè)的處理的原理的框圖。這里,如圖12(a)所示,正確的同步代碼由sync_0_len位的“0”和1位的“1”構(gòu)成。圖12中的“×”是同步代碼以外的位。
圖12(b)~(e)表示由于位附加/消失而同步代碼是如何變化的。這里,附加/消失的位數(shù)(Nid)最大為1位。(b)是在同步代碼之前的位串中發(fā)生1位刪除的情況,全體同步代碼向前移1位。(c)是在同步代碼之前的位串中發(fā)生1位附加的情況,全體同步代碼向后移1位。(d)是在同步代碼中發(fā)生位刪除的情況,從圖中箭頭的位抽出位置開始后邊的向前移1位。此外,(e)是在同步代碼中發(fā)生1位附加的外科,在圖中箭頭的位附加位置發(fā)生1位附加,其后邊的向后移1位。
為了即使發(fā)生位附加/消失也可以正確地檢測(cè)同步,必須將圖12(b)~(d)所示的位串也判定為同步代碼。由圖12可知,在正確的同步代碼插入位置的±Nid位的范圍內(nèi)包含的“1”的位數(shù)最大為sync_0_len-3*Nid的位。因此,在譯碼側(cè)在同步代碼插入位置的±Nid位的范圍內(nèi)進(jìn)行同步檢測(cè),如果包含在該區(qū)間的“1”的位數(shù)小于上述值,就可以判定為同步代碼。另外,在編碼裝置中,進(jìn)行代碼串的變換用以不發(fā)生圖12(b)~(d)的位組合格式。
下面,以與實(shí)施例1的差異為中心說(shuō)明這種編碼裝置/譯碼裝置。
實(shí)施例2的運(yùn)動(dòng)圖象編碼裝置和實(shí)施例1的運(yùn)動(dòng)圖象編碼裝置的全體結(jié)構(gòu)是相同的,但是,圖3中的位插入器211的動(dòng)作不同。位插入器211的動(dòng)作示于圖13。即,在實(shí)施例1的位插入器211中,只在同步代碼插入?yún)^(qū)間進(jìn)行位插入操作,但是,在實(shí)施例2的位插入器211中,為了即使發(fā)生最大Nid位的位附加/消失也不發(fā)生與同步代碼相同的位組合格式而在同步代碼插入?yún)^(qū)間±Nid位的區(qū)間進(jìn)行位插入。
設(shè)圖3的計(jì)數(shù)值221為total_len、同步代碼插入位置的間隔為sync_period,位插入器211計(jì)數(shù)從total_len mod sync_period=sync_period-Nid(mod剩余運(yùn)算)到total_len mod sync_period=symc_0_len-1-3*Nid的區(qū)間的“1”的數(shù)(設(shè)=n0),如果n0不到3*Nid+1,就插入3*Nid+1-n0位的“1”。
在圖13中,示出了sync_period=12、sync_0_len=9、Nid=1時(shí)的位插入器211的動(dòng)作例。在該例中,由于n0=2,所以,插入3*Nid+1-n0=2位的“1”。
這樣,通過(guò)進(jìn)行位插入,就保證了同步代碼插入?yún)^(qū)間±Nid位的“0”的數(shù)是大于3*Nid位,從而可以唯一地識(shí)別為同步代碼。
另一方面,實(shí)施例2的運(yùn)動(dòng)圖象譯碼裝置與實(shí)施例1的全體結(jié)構(gòu)是相同的,但是,圖9中的同步檢測(cè)器901和插入位去除器905的動(dòng)作不同。插入位去除器905的動(dòng)作示于圖14。
即,在同步檢測(cè)器901中,為了即使發(fā)生最大Nid位的位附加/消失也可以檢測(cè)同步,在同步代碼插入位置的前后±Nid位的范圍內(nèi)進(jìn)行同步代碼的檢測(cè)。
首先,對(duì)每一同步代碼插入位置判斷是否存在同步代碼。即,設(shè)計(jì)數(shù)器902的計(jì)數(shù)值911為bit_count,計(jì)數(shù)從bit_count mod sync_period=sync_period-Nid
到bit_count mod sync_period=sync_0_len-1+Nid之間的“0”的數(shù)(設(shè)=ns0),如果n0小于3*Nid,就判定在該區(qū)間有同步代碼。
在圖14的動(dòng)作中,示出了sync_period=12、sync_0_len=9、Nid=1時(shí)的例子。在該例中,在(bit_count mod sync_period)從“1”到“8”之間計(jì)數(shù)“0”的數(shù)。在圖14的例中,由于ns0=2,所以,判定為同步代碼。
其次,在判定為有同步代碼的同步代碼插入?yún)^(qū)間,判斷代碼串由于位附加/消失而移位了幾位。是圖14所示的那樣的sync_0_len位時(shí),就從最后的“1”的位置判斷移位量。具體而言,就是從同步代碼判斷區(qū)間的開始,探索從第sync_0_len+1位看位于開始的“1”,根據(jù)從該同步代碼判斷區(qū)間的開始位于第幾位(設(shè)=first_1_pos位),求移位位數(shù)=first_1_pos-(sync_0_len+1+Nid)(等于負(fù)值時(shí),表示向前移位,等于正值時(shí),表示向后移位)在圖14的例中,由于first_1_pos=10,所以,移位位數(shù)=10-(9+1+1)=-1由此可知,是向前移1位。
在插入位去除器905中,和實(shí)施例1不同,是在同步代碼插入位置±Nid位的區(qū)間中進(jìn)行插入位去除處理。即,計(jì)數(shù)從bit_count mod sync_period=sync_period-Nid到bit_count mod sync_period=sync_0_len-1-3*Nid區(qū)間的“1”的數(shù)(設(shè)=n0),如果n0小于3*Nid,就去除3*Nid+1-n0位的“1”。
在實(shí)施例2中,可以用某種形式判定在傳輸路線及存儲(chǔ)媒體中的位附加/消失的區(qū)間時(shí),考慮了位附加/消失的同步檢測(cè)處理及位插入處理和位去除處理也可以只在該區(qū)間進(jìn)行。
在上述實(shí)施例1的運(yùn)動(dòng)圖象譯碼裝置中,為了進(jìn)行與傳輸路線/存儲(chǔ)媒體中的位附加/消失對(duì)應(yīng)的同步檢測(cè),也可以在同步檢測(cè)器901中和實(shí)施例2一樣在同步代碼插入?yún)^(qū)間±Nid位的區(qū)間進(jìn)行同步檢測(cè)。這時(shí),雖然有可能發(fā)生將同步代碼以外的部分錯(cuò)誤地判定為同步代碼的偽同步,但是,在容易發(fā)生位附加/消失的傳輸路線/存儲(chǔ)媒體中可以抑制由于同步檢測(cè)錯(cuò)誤而引起的譯碼圖像的品質(zhì)劣化,從而可以提高畫質(zhì)。
另外,在可以用某種形式判定在傳輸路線及存儲(chǔ)媒體中發(fā)生位附加/消失的區(qū)間時(shí),這一處理也可以只在該區(qū)間進(jìn)行,而在除此以外的區(qū)間進(jìn)行通常的同步檢測(cè)。
此外,在上述實(shí)施例1和實(shí)施例2中,也可以使用表示幀的長(zhǎng)度的信息(以下,稱為幀長(zhǎng)度信息)節(jié)約保護(hù)同步。圖15、圖16和圖17時(shí)表示使用幀長(zhǎng)度信息POINTER時(shí)的代碼串的例子。
在圖15的例中,幀長(zhǎng)度信息POINTER和保護(hù)該幀長(zhǎng)度信息POINTER的糾錯(cuò)/檢出代碼的檢查位CHK P接續(xù)在同步代碼PSC之后。在幀長(zhǎng)度信息POINTER中記錄著前一幀的位數(shù)即表示從前一幀的同步代碼到當(dāng)前幀的同步代碼的位數(shù)的信息。
在編碼裝置中,計(jì)數(shù)1幀的代碼串位數(shù),將其變換為幀長(zhǎng)度信息POINTER,進(jìn)而進(jìn)行糾錯(cuò)/檢出編碼,生成檢查位CHK P。并且,如圖15所示的那樣,將它們接續(xù)到下一幀的同步代碼之后,生成代碼串。
另一方面,在譯碼裝置,在用與實(shí)施例1和實(shí)施例2相同的方法進(jìn)行同步代碼的檢測(cè)后,從代碼串中取出接續(xù)在其后的幀長(zhǎng)度信息POINTER和檢查位CHK P,進(jìn)行糾錯(cuò)/檢出譯碼,從而將幀長(zhǎng)度信息POINTER譯碼。并且,將所譯碼的幀長(zhǎng)度信息POINTER與計(jì)數(shù)從前一個(gè)檢測(cè)的同步代碼到當(dāng)前的同步代碼的位置的位數(shù)而求出的值(幀長(zhǎng)度計(jì)數(shù)值)進(jìn)行比較,檢查有無(wú)同步代碼的誤檢測(cè)。
如果幀長(zhǎng)度計(jì)數(shù)值與幀長(zhǎng)度信息POINTER所示的前一幀的代碼長(zhǎng)不同時(shí),有可能發(fā)生了同步代碼的誤檢測(cè),所以,就使用幀長(zhǎng)度信息POINTER進(jìn)行所誤檢測(cè)的同步代碼的再檢測(cè)。即,認(rèn)為從當(dāng)前的同步代碼開始到幀長(zhǎng)度信息POINTER所示的位數(shù)的前方有不能檢測(cè)的同步代碼。這時(shí)從前一個(gè)檢測(cè)的同步代碼到當(dāng)前的同步代碼的區(qū)間分割為從前一個(gè)同步代碼到幀長(zhǎng)度信息POINTER所示的位置的區(qū)間和從該處到當(dāng)前的同步代碼的區(qū)間的2個(gè)幀進(jìn)行譯碼處理。
但是,由幀長(zhǎng)度信息POINTER所示的位數(shù)比從前一個(gè)檢測(cè)的同步代碼到當(dāng)前的同步代碼的位置的位數(shù)多時(shí),就認(rèn)為幀長(zhǎng)度信息POINTER錯(cuò)誤了,從而不進(jìn)行上述同步再檢測(cè)處理。
幀長(zhǎng)度信息POINTER和檢查位CHK P的位數(shù)多時(shí),如圖16所示,同步代碼PSC、幀長(zhǎng)度信息POINTER和檢查位CHK P也可以涉及多個(gè)同步區(qū)間。這時(shí),用以使同步代碼以外的代碼串與同步代碼保持一定的加重平均距離的編碼裝置中的位插入處理和譯碼裝置中的位刪除處理也可以不在幀長(zhǎng)度信息POINTER和檢查位CHK P存在的區(qū)間進(jìn)行。
在圖15和圖16的例中,在同步代碼PSC的后半部包含表示該同步代碼的種類的信息(幀同步代碼、GOB同步代碼的區(qū)別等)時(shí),也可以不僅用糾錯(cuò)代碼保護(hù)幀長(zhǎng)度信息POINTER而且可以保護(hù)同步代碼PSC的后半部位。這樣,不僅可以正確地檢測(cè)同步代碼的位置,而且可以正確地檢測(cè)其種類,所以,進(jìn)一步提高了抗錯(cuò)誤性。
在圖17的例中,是將幀長(zhǎng)度信息POINTER和檢查位CHK P置于幀的最后(下一個(gè)幀的同步代碼之前)的例子。這時(shí),在譯碼裝置中,在檢測(cè)到下一幀的同步代碼后,就取出其之前的幀長(zhǎng)度信息POINTER和檢查位CHK P,進(jìn)行糾錯(cuò)/檢出譯碼,通過(guò)與圖15和圖16相同的處理,進(jìn)行同步代碼的再檢測(cè)。
在圖15的例中,由于同步代碼只存在于同步代碼插入位置,所以,幀長(zhǎng)度信息POINTER也可以記錄用同步代碼插入間隔(=sync_period位)除幀的位數(shù)而得到的值。這樣,便可用很少的位數(shù)表示幀長(zhǎng)度。
另外,在實(shí)施例1和實(shí)施例2中,示出了進(jìn)行根據(jù)對(duì)糾錯(cuò)/檢出代碼進(jìn)行編碼的信息的重要性而變化的層次編碼的例子,但是,在幀內(nèi)既可以使用相同的糾錯(cuò)/檢出代碼也可以不使用糾錯(cuò)/檢出代碼。這時(shí),通過(guò)本實(shí)施例所示的用以使同步代碼以外的代碼串與同步代碼保持大于預(yù)先決定的值的加重平均距離的位插入處理和與其對(duì)應(yīng)的同步代碼檢測(cè)處理比先有方式提高了檢測(cè)同步的能力。
另外,在上述各實(shí)施例的說(shuō)明中說(shuō)明了將運(yùn)動(dòng)圖象信號(hào)進(jìn)行高效率壓縮編碼而進(jìn)行傳輸/存儲(chǔ)的例子,但是,本發(fā)明也可以應(yīng)用于靜止圖像及聲音、數(shù)據(jù)等的傳輸/存儲(chǔ)。例如,使用正交變換將靜止圖像信號(hào)進(jìn)行高效率壓縮編碼時(shí),可以切換使用糾錯(cuò)/檢出代碼用以更強(qiáng)地保護(hù)變換系數(shù)的低頻成分。在將聲音模型化為驅(qū)動(dòng)源和聲道濾波器進(jìn)行編碼的方法中,可以切換糾錯(cuò)/檢出代碼用以更強(qiáng)地保護(hù)間距周期及聲道參量等。
(實(shí)施例3)下面,說(shuō)明本發(fā)明的實(shí)施例3。本實(shí)施例與實(shí)施例1和實(shí)施例2的不同是不使用糾錯(cuò)/檢出代碼。
圖18是本實(shí)施例的運(yùn)動(dòng)圖象編碼裝置的框圖。對(duì)與圖1相對(duì)應(yīng)的部分標(biāo)以相同的符號(hào)以與實(shí)施例1的不同點(diǎn)為中心進(jìn)行說(shuō)明,在本實(shí)施例中,輸出編碼裝置200的結(jié)構(gòu)和動(dòng)作不同。另外,多路器111的基本動(dòng)作和圖1的多路器111相同,但是,隨著不使用糾錯(cuò)/檢出代碼,只輸出多路化代碼串201和同步代碼插入要求信號(hào)203。
圖19是表示圖18中的輸出編碼裝置200的結(jié)構(gòu)的框圖。該輸出編碼裝置200由計(jì)數(shù)輸出代碼串205的位數(shù)的計(jì)數(shù)器1701、切換輸出代碼串205的1703、控制切換器1703的切換控制器1704和發(fā)生填充位的填充位發(fā)生器1705構(gòu)成。
圖20是表示由圖19的輸出編碼裝置200生成的輸出代碼串205的一例的圖。對(duì)于與圖4的輸出代碼串對(duì)應(yīng)的代碼字,使用同一符號(hào)進(jìn)行標(biāo)記。與圖4一樣,同步代碼PSC只周期地插入由每隔一定區(qū)間(sync_period位)而配置的箭頭所示的同步代碼插入位置的某個(gè)位置。在圖20中,與圖4不同的是不包含糾錯(cuò)/檢出代碼的檢查位CHK P。在輸出代碼串205的1幀的最后的部分插入填充位STUFF,用以使同步代碼PSC插入到同步代碼插入位置。填充位STUFF的位數(shù)小于sync_period位。
下面,詳細(xì)說(shuō)明生成這種輸出代碼串205的圖19的輸出編碼裝置200的結(jié)構(gòu)和動(dòng)作。
計(jì)數(shù)器1701從多路器111輸入同步代碼插入要求信號(hào)203,作為多路化代碼串201輸入同步代碼301的最初的位時(shí),置位為“1”,輸入同步代碼301的全部位時(shí),就置位為同步代碼長(zhǎng)sync_len。然后,計(jì)數(shù)器1701從同步代碼301的下一位順序計(jì)數(shù)到輸出下一個(gè)同步代碼之前的位。
切換控制器1704作為多路化代碼串201輸入從同步代碼的最初的位到下一個(gè)同步代碼之前的位時(shí),就將切換器1703切換到多路化代碼串201一側(cè),控制為多路化代碼串201作為輸出代碼串205而輸出。
并且,在1幀的最后的部分,進(jìn)行用以使下一個(gè)同步代碼插入到同步代碼插入位置的位插入(位填充)。多路器111在1幀的多路化代碼串201的輸出結(jié)束時(shí)輸出下一幀的同步代碼插入要求信號(hào)203。接收到該信號(hào)后,切換控制器1704將切換器1703切換到填充位發(fā)生器1705一側(cè),將填充位1223作為輸出代碼串205而輸出。該填充位1223既可以使全部位為“1”,也可以全部為“0”,也可以采用“0101...”這樣的特定的組合模式。
下面,說(shuō)明本實(shí)施例的運(yùn)動(dòng)圖象譯碼裝置。
圖21是表示與圖18的運(yùn)動(dòng)圖象編碼裝置對(duì)應(yīng)的運(yùn)動(dòng)圖象譯碼裝置的結(jié)構(gòu)的框圖。對(duì)于與圖8相對(duì)應(yīng)的部分標(biāo)以相同的符號(hào),以與實(shí)施例1的不同點(diǎn)為中心進(jìn)行說(shuō)明,在本實(shí)施例中,輸入譯碼裝置800的結(jié)構(gòu)和動(dòng)作不同。另外,從輸入譯碼裝置800輸入逆多路器811的信號(hào)只是代碼串801和同步代碼檢測(cè)信號(hào)803,沒(méi)有從逆多路器811向輸入譯碼裝置800輸入的信號(hào)。
圖22是表示輸入譯碼裝置800的結(jié)構(gòu)的框圖。該輸入譯碼裝置800由檢測(cè)輸入代碼串205’中的同步代碼的同步檢測(cè)器1901和計(jì)數(shù)輸入代碼串205’的位數(shù)的計(jì)數(shù)器1902構(gòu)成。
計(jì)數(shù)器1902在譯碼的最初階段復(fù)位為“0”,輸入代碼串205’每輸入1位,將計(jì)數(shù)值1911計(jì)數(shù)為“1”。
在同步檢測(cè)器1901中,根據(jù)計(jì)數(shù)器1902的計(jì)數(shù)值1911只在同步代碼插入位置進(jìn)行同步代碼的檢測(cè)。例如,設(shè)同步代碼插入間隔為sync_period、計(jì)數(shù)值1911為bit_count、同步代碼的長(zhǎng)度為sync_len,則只在0<bit_count mod sync_period≤sync_len時(shí)進(jìn)行同步檢測(cè)。這里,A mod B表示用B除A時(shí)的余數(shù)。同步檢測(cè)器1901檢測(cè)到同步代碼時(shí),就輸出同步代碼檢測(cè)信號(hào)803。
從輸入譯碼裝置輸出的代碼串801是直接輸出輸入代碼串205’,并輸入逆多路器811。以后,和圖21的運(yùn)動(dòng)圖象譯碼裝置一樣進(jìn)行逆多路化處理,進(jìn)行譯碼的處理。
將幀的最后的填充位STUFF采用預(yù)先決定的位組合格式時(shí),在逆多路器811中判斷該填充位STUFF與預(yù)先決定的組合格式是否一致,不一致時(shí)就判定輸入代碼串205’中有錯(cuò)誤,也可以進(jìn)行用于使在實(shí)施例1所示的運(yùn)動(dòng)圖象編碼裝置中所述的畫質(zhì)劣化不大的處理。
(實(shí)施例4)下面,說(shuō)明本發(fā)明的實(shí)施例4。
本實(shí)施例的運(yùn)動(dòng)圖象編碼裝置的全體結(jié)構(gòu)與圖18的運(yùn)動(dòng)圖象編碼裝置相同,輸出編碼裝置的動(dòng)作和實(shí)施例3不同。
圖23是表示圖18中的輸出編碼裝置200的結(jié)構(gòu)的框圖。對(duì)于與圖19的輸出編碼裝置相對(duì)應(yīng)的部分標(biāo)以相同的符號(hào),以它們的差別為中心進(jìn)行說(shuō)明,追加了進(jìn)行用于防止偽同步代碼的位填充處理的位插入器1211。
在位插入器1211中,對(duì)多路化代碼串201進(jìn)行用于防止發(fā)生偽同步的位插入。這是由于在輸出代碼串205中有與同步代碼相同的位組合格式時(shí)不能將同步代碼唯一地譯碼,所以,是用于防止該情況的處理。例如,如圖5所示的那樣同步代碼由sync_0_len位的“0”、1位的“1”和表示同步代碼的種類的sync_nb_len位的“×××××”構(gòu)成時(shí),如果在同步代碼以外的代碼串中插入“1”用以不連續(xù)地出現(xiàn)sync_0_len位以上的“0”,就可以防止發(fā)生偽同步。
同步代碼只插入到同步代碼插入位置。因此,用于防止發(fā)生偽同步的位插入操作只能在同步代碼插入位置進(jìn)行。因此,根據(jù)計(jì)數(shù)輸出代碼串205的總位數(shù)的計(jì)數(shù)值1221判斷是否必須進(jìn)行位插入。設(shè)計(jì)數(shù)值1221為total_len,則在0<total_len_mod_sync_period≤sync_0_len的區(qū)間計(jì)數(shù)多路化代碼串201中的“1”的數(shù),如果在該區(qū)間完全沒(méi)有“1”,就插入1位的“1”。這里,A mod B表示用B除A時(shí)的余數(shù)。
另外,為了降低由于錯(cuò)誤而引起同步代碼的誤檢測(cè)的概率,可以按如下方式進(jìn)行位插入。
為了在n位錯(cuò)誤混入同步代碼中時(shí)也檢測(cè)同步代碼,在后面所述的運(yùn)動(dòng)圖象編碼裝置的輸入編碼裝置中必須判斷與真的同步代碼的加重平均距離小于n的代碼字是同步代碼。但是,如果將同步代碼以外的代碼串直接進(jìn)行這樣的判斷,有時(shí)在同步代碼以外的代碼串中也存在與同步代碼的加重平均距離小于n的位組合格式,這就誤認(rèn)為位于同步代碼插入位置,從而將其判定為同步代碼。
因此,在位插入器211中,通過(guò)按如下方式對(duì)多路化代碼串201進(jìn)行位插入,將位于多路化代碼串201中的同步代碼插入位置的同步代碼以外的代碼串變換為與同步代碼的加重平均距離大于2×n+1的代碼串。
具體而言,就是計(jì)數(shù)在0<total_len_mod_sync_period≤sync_0_len-(2×n+1)區(qū)間的“1”的數(shù)(設(shè)=n0),如果n0小于2×n+1,就將2×n+1-n0位的“1”插入到多路化代碼串201中。
這樣,進(jìn)行了位插入后的代碼串1222和圖19的輸出編碼裝置一樣進(jìn)行幀的最后的區(qū)間的位插入(圖20中的STUFF),并作為輸出代碼串205而輸出。
下面,說(shuō)明本實(shí)施例的運(yùn)動(dòng)圖象譯碼裝置。運(yùn)動(dòng)圖象譯碼裝置的全體結(jié)構(gòu)和圖21的運(yùn)動(dòng)圖象譯碼裝置相同,輸入編碼裝置800的動(dòng)作和實(shí)施例3不同。
圖24是表示輸入譯碼裝置800的結(jié)構(gòu)的框圖。對(duì)于與圖22的輸入譯碼裝置相對(duì)應(yīng)的部分標(biāo)以相同的符號(hào),以與實(shí)施例3的差異為中心進(jìn)行說(shuō)明,追加了位去除器1905。
輸入代碼串205’輸入插入位去除器1905,進(jìn)行去除由圖23的輸出編碼裝置的位插入器1211插入的用于防止偽同步代碼的插入位的處理。如前所述,由于位插入只在同步代碼插入位置進(jìn)行,所以,根據(jù)計(jì)數(shù)器1902的計(jì)數(shù)值1911判斷同步代碼插入位置。
例如,設(shè)同步代碼是圖5所示的代碼字,在位插入器1211中向同步代碼的最初的“000...”的部分進(jìn)行位插入用以使與同步代碼的加重平均距離大于2×n+1時(shí),從同步代碼插入位置開始計(jì)數(shù)sync_0_len-(2×n+1)位的“1”的數(shù),如果n0小于2×n+1,就刪除2×n+1-n0位。
這里,由于插入位定為“1”,所以,在判定為插入位的位為“0”時(shí),就認(rèn)為錯(cuò)誤混入了同步代碼插入?yún)^(qū)間。這時(shí),將圖中未示出的誤檢測(cè)信號(hào)向逆多路器811輸出,和在實(shí)施例1中所述的一樣,可以進(jìn)行使再生圖像不發(fā)生大的劣化的處理。
在圖23的位插入器1211中的位插入處理,也可以向同步代碼以外的全部同步代碼插入?yún)^(qū)間插入預(yù)先決定的位數(shù)的插入位。圖25是表示進(jìn)行這種位插入處理時(shí)輸出代碼串205的一例。圖中,SB表示插入的位。
例如,如圖5所示的那樣,同步代碼由sync_0_len位的“0”、1位的“1”和表示同步代碼的種類的sync_nb_len位的“×××××”構(gòu)成時(shí),就從同步代碼插入?yún)^(qū)間的開始向sync_0_len位的區(qū)間的預(yù)先決定的位置插入1位的插入位SB。
插入位SB可以總是采用“1”。另外,也可以從同步代碼插入?yún)^(qū)間的開始根據(jù)sync_0_len位的區(qū)間的位組合格式自適應(yīng)地決定插入位SB用以使該區(qū)間的“1”的個(gè)數(shù)大于1。
此外,通過(guò)從同步代碼插入?yún)^(qū)間的開始將插入位SB采用sync_0_len位的區(qū)間的奇偶性,便可避免出現(xiàn)與同步代碼相同的位組合格式,同時(shí)可以檢測(cè)混入該位組合格式的錯(cuò)誤。
圖25(b)表示進(jìn)行了這種位插入處理的輸出代碼串。在該例中,從同步代碼插入位置開始向最初的部分插入1位的插入位SB。該插入位SB決定為從該位和下一位開始與sync_0_len-1位一致的區(qū)間的“1”的數(shù)一定為奇數(shù)。例如,在圖25(b)的左側(cè)的例中,插入位SB為“1”。另外,在圖25(b)的右側(cè)的例中,從插入位SB的下一位開始即使sync_0_len-1位的區(qū)間全部為“0”,由于插入位SB為“1”,所以,一定是1位以上的“1”進(jìn)入同步代碼插入?yún)^(qū)間,從而不會(huì)發(fā)生和同步代碼相同的位組合格式。另外,由于插入位SB也起奇偶性檢查的作用,所以,可以檢測(cè)混入到該區(qū)間的位錯(cuò)誤。
另外,也可以將插入位SB作為下一個(gè)同步代碼插入位置之前的全部位的奇偶性檢查位。但是,為了避免從插入位SB的下一位開始僅在sync_0_len-1位全部為“0”時(shí)出現(xiàn)與同步代碼相同的位組合格式,使插入位SB一定為“1”。這樣,便可利用全部位的奇偶性檢查進(jìn)行錯(cuò)誤檢測(cè)。
為了降低由錯(cuò)誤而引起的同步代碼的誤檢測(cè)的概率,希望插入更多的位數(shù)。例如,為了即使進(jìn)入了n位的錯(cuò)誤也能正確地檢測(cè)同步,向該區(qū)間的預(yù)先決定的位置插入2×n+1位的“1”。
在本實(shí)施例中,與上述位插入器1211的動(dòng)作對(duì)應(yīng)地圖24的位去除器1905的動(dòng)作也不同。即,在位去除器1905中,進(jìn)行刪除由位插入器1211進(jìn)行位插入的預(yù)先決定的位置的插入位SB的處理。
這里,將插入位SB總是采用“1”時(shí),在位于輸入代碼串205’中的位插入位置的位是“0”時(shí),就判定為位錯(cuò)誤,將誤檢測(cè)信號(hào)(圖中未示出)向逆多路器811輸出,進(jìn)行用于使譯碼圖像不發(fā)生大的劣化的處理。
在實(shí)施例1~實(shí)施例4中,多路器111的多路化處理,如圖2所示的那樣,示出了以編碼幀為單位將預(yù)測(cè)模式信息303、運(yùn)動(dòng)矢量信息304和殘差DCT系數(shù)305進(jìn)行多路化處理的例子,但是,也可以如圖26所示的那樣,按編碼區(qū)域(例如,宏塊、GOB等)單位將預(yù)測(cè)模式信息303、運(yùn)動(dòng)矢量信息304和殘差DCT系數(shù)305進(jìn)行多路化處理。這時(shí),在圖像標(biāo)題302和除此以外的信息中可以使用不同的糾錯(cuò)/檢出代碼,也可以使用相同的糾錯(cuò)/檢出代碼。或者,可以只在圖像標(biāo)題中使用糾錯(cuò)/檢出代碼,也可以在各幀的預(yù)先決定的位數(shù)的一部分代碼串中使用糾錯(cuò)/檢出代碼,也可以完全不使用糾錯(cuò)/檢出代碼。
另外,不僅可以按幀(圖像)單位進(jìn)行多路化處理,而且可以按幀的部分區(qū)域或?qū)⒍鄠€(gè)幀集中的層單位進(jìn)行多路化處理,從而可以向這些各多路化單位(層單位)插入同步代碼。
圖28使表示這種多路化處理的例子。在圖28的例中,對(duì)集中了多個(gè)編碼塊的宏塊、集中了多個(gè)宏塊的GOB、圖像(幀)、集中了多個(gè)圖像的會(huì)話的4個(gè)層進(jìn)行多路化處理。其中,會(huì)話、圖像、GOB的各層使用各自的同步代碼(圖中為SSC、SEC、PSC、GSC)。SSC、SEC、PSC、GSC分別使用不同的代碼,可以區(qū)別檢測(cè)到了哪一層的同步代碼。使用圖5所示的同步代碼時(shí),可以用表示同步代碼的種類的sync_nb_len位的部分來(lái)區(qū)別這些同步代碼。
進(jìn)行這種多路化處理時(shí),也可以對(duì)會(huì)話、圖像、GOB的同步代碼的一部分乃至全部進(jìn)行和上述實(shí)施例的幀同步代碼一樣的處理。圖29時(shí)表示進(jìn)行這種處理的輸出代碼串的一例。如圖所示,在PSC、GSC之前插入了填充位STUFF,SSC、PSC、GSC插入到圖中箭頭所示的同步代碼插入位置。因此,和在上述實(shí)施例中對(duì)幀同步代碼PSC說(shuō)明的一樣,提高了各同步代碼的檢測(cè)精度。
也可以將與圖15、圖16和圖17的幀長(zhǎng)度信息POINTER相同的長(zhǎng)度信息附加到會(huì)話、圖像、GOB的各同步代碼上。如圖15和圖16所示,對(duì)幀長(zhǎng)度信息POINTER進(jìn)行糾錯(cuò)/檢出代碼的保護(hù)時(shí),通過(guò)不僅對(duì)幀長(zhǎng)度信息POINTER而且對(duì)表示同步代碼的種類的sync_nb_len位的部分使用糾錯(cuò)/檢出代碼,不僅提高可以正確地檢測(cè)同步代碼的位置的概率,而且提高可以正確地檢測(cè)其種類的概率。另外,對(duì)會(huì)話、圖像、GOB的標(biāo)題信息(圖中為SH、PH、GF)的一部分或全部也可以使用糾錯(cuò)/檢出代碼進(jìn)行保護(hù),這樣,也可以提高各標(biāo)題信息的抗錯(cuò)誤的耐性。
如本實(shí)施例那樣,進(jìn)行用于防止偽同步代碼的填充處理時(shí),進(jìn)行以下的處理也可以使同步代碼插入間隔sync_period小于同步代碼的長(zhǎng)度。
首先,說(shuō)明運(yùn)動(dòng)圖象編碼裝置的輸出編碼裝置的處理。這里,如圖5所示,同步代碼采用由sync_0_len位的“0”和1位的“1”構(gòu)成的代碼字。在圖23的輸出編碼裝置中,設(shè)表示從位插入器1211輸出的位數(shù)的計(jì)數(shù)值1221為total_len,用同步代碼插入間隔sync_period除total_len的余數(shù)與用sync_period除從同步代碼的最初的“0”的位數(shù)sync_0_len減去1的值的余數(shù)一致時(shí),即total_len mod sync_period=(sync_0_len-1)mod sync_period(1)時(shí),計(jì)數(shù)從該時(shí)刻的輸出位到(sync_0_len-1)位前的輸出位中的“1”的數(shù)(設(shè)為n1),如果完全沒(méi)有“1”(即,如果n1=0),就插入1位的“1”。
圖33(a)表示進(jìn)行了這種處理的輸出代碼串的例子。圖中,方向向下的箭頭表示同步代碼插入位置,同步代碼由23位的“0”(即,sync_0_len=23)和1位的“1”構(gòu)成。在圖的例中,同步代碼插入間隔sync_period是比同步代碼的長(zhǎng)度(=24位)短的8。
圖中,區(qū)間1~4表示計(jì)數(shù)上述n1的區(qū)間。在各區(qū)間順序計(jì)數(shù)“1”的數(shù)n1,如果n1=0,就向該區(qū)間的下一位插入填充位。在區(qū)間1中,由于n1>0,所以,就不必填充。在區(qū)間2中,由于n1=0,所以,就向該區(qū)間的下一區(qū)間插入1位的填充位3301。在區(qū)間3中,通過(guò)插入填充位3301,由于n1=1,所以,就不必插入填充位。
通過(guò)進(jìn)行上述位填充處理,由于在輸出代碼串中的同步代碼以外的部分沒(méi)有與同步代碼相同的位組合格式,所以,不會(huì)發(fā)生偽同步。
另一方面,為了降低由于傳輸路線錯(cuò)誤而引起的同步代碼的誤檢測(cè)的概率,可以按如下方式進(jìn)行位插入。
為了即使n位錯(cuò)誤混入同步代碼時(shí)也能正確地檢測(cè)同步代碼,可以進(jìn)行位插入處理以使在位插入1211中輸出代碼串中的同步代碼以外的部分與同步代碼的加重平均距離大于2×n+1。
用同步代碼插入?yún)^(qū)間sync_period除表示圖23的輸出代碼串205的總位數(shù)的計(jì)數(shù)值1221 total_len的余數(shù)與用sync_period除從同步代碼的最初的“0”的位數(shù)sync_0_len中減去2×n+1的值的余數(shù)一致時(shí),即total_len mod sync_period=(sync_0_len-(2×n+1))mod sync_period(2)時(shí),計(jì)數(shù)從該時(shí)刻的輸出位到(sync_0_len-(2×n+1))位前的輸出位中的“1”的數(shù)(設(shè)為n1),如果“1”的數(shù)小于(2×n+1),即n1<2×n+1就插入(2×n+1-n1)位的“1”。
使用從圖5所示的多位的“0”開始的同步代碼時(shí),如果同步代碼之前的位串中的“1”的數(shù)少,有時(shí)會(huì)發(fā)生該部分的同步誤檢測(cè)。為了防止發(fā)生這種誤檢測(cè),可以輸出幀的最后的區(qū)間的位插入(圖20中為STUFF)以使從同步代碼到其之前的同步代碼插入位置的sync_period位的區(qū)間的“1”的位數(shù)大于2×n+1位。
為此,可以使用一定包含2×n+1位以上的“1”的STUFF,或者可以根據(jù)輸出代碼串決定STUFF。即,可以決定STUFF以使包含STUFF的輸出代碼串中的同步代碼之前的sync_period位的“1”的位數(shù)大于2×n+1。
圖33(b)表示進(jìn)行了這種處理的輸出代碼串的例子。圖中,區(qū)間1~4表示計(jì)數(shù)上述n1的區(qū)間。在各區(qū)間順序計(jì)數(shù)“1”的數(shù)n1,如果n1<2×n+1,就向該區(qū)間的下一位插入填充位。在區(qū)間2中,由于n1=1,所以,在該區(qū)間的下一區(qū)間插入(2×n+1)-1=2位的填充位3311。在區(qū)間3中,由于通過(guò)插入填充位3311而n1=3,所以,不必插入填充位。
此外,為了防止在同步代碼之前的部分的同步代碼誤檢測(cè),按以下方式?jīng)Q定STUFF。設(shè)STUFF之前的位為3312。由于從該溫柔312之前的同步代碼插入位置到其后的同步代碼插入位置的sync_period位間(區(qū)間5)的“1”的數(shù)只有1位,所以,使用圖5那樣的多個(gè)“0”連續(xù)的同步代碼時(shí),在該部分便有可能發(fā)生同步誤檢測(cè)。因此,使插入同步代碼的位置移位到下一個(gè)同步代碼插入位置,輸出包含多個(gè)“1”的STUFF 3313。這樣,由于同步代碼之前的sync_period位區(qū)間(區(qū)間6)包含2×n+1位以上的“1”,所以,可以防止同步誤檢測(cè)。
通過(guò)進(jìn)行上述那樣的位填充處理,可以使在輸出代碼串中的同步代碼以外的部分與同步代碼的加重平均距離大于2×n+1,所以,減少了同步誤檢測(cè)的概率。
下面,說(shuō)明運(yùn)動(dòng)圖象譯碼裝置的輸入譯碼裝置的處理。在圖24的位去除器1905中,設(shè)表示輸入的代碼串的位數(shù)的計(jì)數(shù)值1911為total_len,在total_len成為滿足1的條件的值時(shí),計(jì)數(shù)從該時(shí)刻的輸入位到(sync_0_len-1)位前的輸入位中的“1”的數(shù)(設(shè)為n1),如果完全沒(méi)有“1”,即,如果n1=0,就刪除1位。
為了在n位錯(cuò)誤混入同步代碼時(shí)也可以檢測(cè)同步代碼,在位插入器1211中進(jìn)行位插入處理以使輸出代碼串中的同步代碼以外的部分與同步代碼的加重平均距離大于2×n+1時(shí),可以進(jìn)行如下的處理。在total_len成為滿足式(2)的值的時(shí)刻,計(jì)數(shù)從該時(shí)刻的輸入位到(sync_0_len-(2×n+1))位之前的輸出位中的“1”的數(shù)(設(shè)為n1),如果“1”的數(shù)小于(2×n+1),即,如果n1<(2×n+1)
就刪除(2×n+1-n1)位。
在輸出編碼裝置和輸入譯碼裝置中,通過(guò)進(jìn)行上述那樣的處理將同步代碼插入間隔sync_period采用小于同步代碼的長(zhǎng)度的短的位數(shù),可以減少填充位STUFF的位數(shù),提高編碼效率。特別是在同步代碼的長(zhǎng)度長(zhǎng)時(shí)或插入多個(gè)同步代碼時(shí),該填充位STUFF的位數(shù)減少將大大提高編碼效率。例如,如運(yùn)動(dòng)圖象編碼的GOB/限幅那樣,在將畫面分割為1個(gè)~多個(gè)宏塊、或各宏塊行而按各單位插入同步代碼的方式中,由于插入多個(gè)同步代碼,所以,STUFF的位數(shù)減少將使編碼效率更高。
另外,如圖28所示的那樣進(jìn)行多個(gè)層結(jié)構(gòu)的多路化處理時(shí),可以根據(jù)層不同而使用不同長(zhǎng)度的同步代碼。
圖34(a)時(shí)表示這種同步代碼的例子。在4種同步代碼中,SSC、SEC、PSC都由23位的“0”、1位的“1”和表示同步代碼的種類的8位共計(jì)32位構(gòu)成。另一方面,GOB層的同步代碼GSC是由16位的“0”和1位的“1”構(gòu)成的17位的同步代碼,是比其他同步代碼短的代碼字。
這樣,只將GSC采用短的代碼字,是由于GOB是由1個(gè)~多個(gè)宏塊(MB)構(gòu)成的在畫面內(nèi)分割為小區(qū)域的編碼單位,通常,GOB層的同步代碼與其他同步代碼相比,數(shù)量多,通過(guò)使同步代碼字長(zhǎng)度縮短,可以減少輸出代碼串的代碼量。另外,通過(guò)這樣處理,如果是相同的代碼量,就可以輸出更多的GSC,從而可以在畫面內(nèi)分割為更細(xì)的GOB區(qū)域進(jìn)行編碼,這樣,便可提高發(fā)生傳輸路線錯(cuò)誤時(shí)的再生圖像的品質(zhì)。
也可以進(jìn)行在實(shí)施例4中說(shuō)明的那樣的用于防止偽同步的處理,即可以進(jìn)行位填充處理以使在同步代碼以外的代碼串中不發(fā)生與同步代碼相同的位組合格式。如果進(jìn)行用于降低由于傳輸路線錯(cuò)誤引起的同步代碼的誤檢測(cè)的概率的位填充處理,例如對(duì)保證不發(fā)生與位長(zhǎng)度長(zhǎng)的同步代碼(在圖34(a)的例中為SSC、SEC、PSC)相同的位組合格式的位串也進(jìn)行位填充處理以使不發(fā)生與最短的同步代碼(在圖34(a)的例中為GSC)相同的位組合格式,便可不發(fā)生與所有的同步代碼相同的位組合格式。該處理可以對(duì)全部層的代碼串進(jìn)行,也可以對(duì)比使用最短的代碼的層低的低位的層(在圖示的例中為GOB層、宏塊層)的代碼串進(jìn)行,也可以對(duì)比該層高一位的層以下的層(圖像層、GOB層、宏決層)的代碼串進(jìn)行。此外,也可以只對(duì)預(yù)先決定的層的代碼串進(jìn)行該處理。
為了即使發(fā)生傳輸路線錯(cuò)誤也容易識(shí)別長(zhǎng)度不同的同步代碼,可以按如下方式進(jìn)行同步代碼字及其前后的處理。
(1)使用由多位的“0”和接續(xù)其后的“1”構(gòu)成的同步代碼時(shí),在長(zhǎng)的代碼字和短的代碼字中,可以使從該“1”的同步代碼插入位置看的相對(duì)位置不同。在圖34(b)的例中,PSC的“1”3411和GSC的“1”3412位于不同的位置,其他同步代碼中的相同位置的位(與3411對(duì)應(yīng)的3413、與3412對(duì)應(yīng)的3414)都為“0”。這樣,由于同步代碼和該部分串的加重平均距離增大,所以,即使發(fā)生傳輸路線錯(cuò)誤,也可以很容易識(shí)別不同的同步代碼。
(2)可以在長(zhǎng)度短的同步代碼之前插入填充位。例如,如圖中3401所示的那樣,通過(guò)在長(zhǎng)度短的GSC之前插入由1個(gè)~多個(gè)“1”構(gòu)成的填充位3401,便可增大GSC與其他同步代碼的部分串的加重平均距離。
(3)可以在長(zhǎng)度短的同步代碼之后插入填充位。例如,可以在GSC之后進(jìn)行位插入3402以使與識(shí)別長(zhǎng)的同步代碼中的同步代碼的種類的部分的加重平均距離增大。
(實(shí)施例5)下面,說(shuō)明本發(fā)明的實(shí)施例5。
本實(shí)施例的運(yùn)動(dòng)圖象編碼裝置和運(yùn)動(dòng)圖象譯碼裝置的全體結(jié)構(gòu)與實(shí)施例1相同,在輸出編碼裝置200和輸入譯碼裝置800的1同步區(qū)間的開始和最后部分的處理與此前的實(shí)施例不同。
圖27(a)、(b)、(c)使表示本實(shí)施例的運(yùn)動(dòng)圖象編碼裝置的輸出代碼串205的一例的圖。該輸出代碼串205在同步代碼PSC之后進(jìn)入前一幀(幀n-1)的代碼串的一部分2701,有該代碼串2701與當(dāng)前幀(n幀)的代碼串的邊界2703(當(dāng)前幀的代碼串的起點(diǎn)),換言之,有表示多路化代碼串的邊界的指針信息2702(SA),與此相應(yīng)地,與圖4的輸出代碼串不同的是沒(méi)有1幀的最后的填充位(在圖4中為STUFF)。
在運(yùn)動(dòng)圖象編碼裝置內(nèi)的輸出編碼裝置200中,在各同步代碼插入位置檢查該幀的其余的代碼串的位數(shù)resid_bit。resid_bit和同步代碼PSC以及指針信息SA的位數(shù)之和比同步代碼插入間隔sync_period位少時(shí),在向輸出代碼串205中輸出該幀的其余的代碼串之前,輸出同步代碼PSC。其次,輸出指針信息SA(這時(shí),表示resid_bit),然后,輸出其余的代碼串2701。最后,輸出下一幀的代碼串。
在運(yùn)動(dòng)圖象譯碼裝置內(nèi)的輸入譯碼裝置800中,在各同步代碼插入位置進(jìn)行同步代碼的檢測(cè),檢測(cè)到同步代碼時(shí),就在其后接續(xù)上指針信息SA和幀的其余的信息進(jìn)行處理。
以圖27中的幀n-1與幀n的邊界部為例進(jìn)行說(shuō)明,在同步代碼PSC之前的2704的譯碼處理結(jié)束后,就在其后的同步代碼插入?yún)^(qū)間檢測(cè)同步代碼,檢測(cè)到同步代碼時(shí),就將指針信息2702譯碼,并求幀n-1的代碼串還有幾位。通過(guò)上述處理,從指針信息之后的代碼串中取出由指針信息所示的位數(shù)(在圖27中為2703之前),將其接續(xù)在2707之后,輸出代碼串801。其后的代碼串(在圖27中從2903開始)在下一幀即幀n進(jìn)行處理。
在本實(shí)施例中,如圖27(a)所示,可以對(duì)輸出代碼串的一部分或全部進(jìn)行糾錯(cuò)/檢出編碼。這時(shí),糾錯(cuò)/檢出代碼的種類可以全部相同,也可以使用不同的代碼。
另外,如圖27(b)所示,也可以不進(jìn)行糾錯(cuò)/檢出編碼。
此外,如圖27(c)所示,也可以插入圖15還圖16所示的表示1幀的代碼串位數(shù)的幀長(zhǎng)度信息POINTER。這時(shí),幀長(zhǎng)度信息POINTER也可以表示從該幀的同步代碼PSC到下一幀的同步代碼PSC的位數(shù)。
如圖27(a)所示的那樣進(jìn)行糾錯(cuò)/檢出編碼時(shí),從同步代碼PSC到下一個(gè)檢查位CHK的部分的糾錯(cuò)/檢出編碼,將指針信息SA、幀n-1的其余的代碼串2701和2703以后的幀n的代碼串集中作為1個(gè)信息位進(jìn)行糾錯(cuò)/檢出編碼。
指針信息SA可以作為進(jìn)行糾錯(cuò)/檢出編碼的信息。這時(shí),也可以將同步代碼PSC(或其一部分)、幀長(zhǎng)度信息POINTER和指針信息組合進(jìn)行糾錯(cuò)/檢出編碼。
下面,說(shuō)明填充位STUFF的具體例子。
圖30(a)、(b)是表示作為上述填充位STUFF的具體例的填充位STUFF的代碼表的例子的圖。圖30(a)、(b)的特征是都可以從輸出代碼串的反方向唯一地進(jìn)行譯碼,這樣,便可唯一地特定填充位STUFF的開始位置。因此,通過(guò)將填充位STUFF之前的代碼串的譯碼結(jié)束位置與填充位STUFF的開始位置進(jìn)行比較,可以檢測(cè)混入到代碼串中的錯(cuò)誤,同時(shí),在應(yīng)用于根據(jù)同步代碼沿反方向進(jìn)行譯碼的編碼方式時(shí),可以特定反方向譯碼的開始地點(diǎn)。
此外,示于圖30(a)、(b)的代碼表所示的填充位STUFF,其開始的位一定為“0”,可能由于后面所述的簡(jiǎn)易的譯碼引起誤檢測(cè)。
圖31是表示包含圖30(a)、(b)的代碼表所示的填充位STUFF的代碼串的譯碼處理的例子的圖。在圖31中,示出了同步代碼插入位置之前的填充位的例子,但是,也可以在除此以外的任意的同步代碼插入位置之前插入填充位進(jìn)行同樣的處理。在圖31中,箭頭3101~3103是按順?lè)较蜻M(jìn)行譯碼時(shí)的填充位STUFF之前的代碼串(用“×××...”表示)的譯碼結(jié)束位置的例子,箭頭的右端表示譯碼結(jié)束位置。錯(cuò)誤未混入代碼串,可以正常地進(jìn)行譯碼時(shí),如箭頭3101所示的那樣,填充位STUFF之前的代碼串的譯碼結(jié)束位置與填充位STUFF的開始位置一致。
另一方面,錯(cuò)誤混入到代碼串中時(shí),填充位STUFF之前的代碼串的譯碼結(jié)束位置如箭頭3102、3103所示的那樣移位到填充位STUFF的開始位置。這時(shí),就判定有錯(cuò)誤混入到代碼串中。
在譯碼裝置中,填充位STUFF之前的代碼串的譯碼結(jié)束時(shí),在下一個(gè)同步代碼插入位置之前讀入填充位STUFF,并判斷它與圖30(a)、(b)所示的代碼表的代碼是否一致。如果填充位STUFF與代碼表的哪一個(gè)代碼都不一致時(shí),就判定為有錯(cuò)誤。
判定填充位STUFF與代碼表一致時(shí),也可以容許少數(shù)的位錯(cuò)誤。這樣,便可降低錯(cuò)誤混入填充位STUFF時(shí)的錯(cuò)誤的誤檢測(cè)。
圖30(a)的代碼表一定以“0”開始,后續(xù)的位為“1”。因此,也可以只判斷填充位STUFF之前的代碼串的譯碼結(jié)束位置的下一位是否為“0”而檢測(cè)錯(cuò)誤,或者,只根據(jù)開始的“0”和后續(xù)的幾個(gè)“1”檢測(cè)錯(cuò)誤。這樣,將降低若干誤檢測(cè)精度,從而減少譯碼所需要的處理量。這樣,在所有的填充位STUFF使用從由特定的位乃至多個(gè)位構(gòu)成的特定的位組合格式開始的代碼表時(shí),便可簡(jiǎn)化譯碼處理。
此外,圖30(a)、(b)的代碼表所示的填充位STUFF包含多個(gè)“1”的位,如圖5所示的那樣,由于包含多個(gè)“0”的同步代碼和與其一部分的加重平均距離增大,所以,有發(fā)生偽同步的概率低的優(yōu)點(diǎn)。具體而言,在圖30(a)的代碼表中,只是填充位STUFF的開始的位全部為“0”,由于除此以外的位全部為“1”,所以,全部為“0”的同步代碼和與其一部分的加重平均距離成為(填充位STUFF的長(zhǎng)度-1)。另外,在圖30(b)的代碼表中,只是填充位STUFF的開始和最后的位為“0”,由于除此以外的位全部為“1”,所以,同步代碼和與其一部分的加重平均距離成為(填充位STUFF的長(zhǎng)度-2)。這樣,通過(guò)選擇填充位STUFF和同步代碼與其一部分的加重平均距離大于指定值例如大于(填充位STUFF的長(zhǎng)度-2),即使錯(cuò)誤混入代碼串,也難于發(fā)生偽同步代碼。
下面,使用圖32說(shuō)明該效果。圖32(a-0)、(b-0)分別是表示使用通常的填充位(所有的位為“0”)和圖30(a)的代碼表所示的填充位STUFF時(shí)的代碼串的例子,(a-1)、(b-1)分別是表示(a-0)、(b-0)中混入錯(cuò)誤時(shí)的例子。由圖32(a-1)可知,在所有的位為“0”的通常的填充位中,只混入了1位的錯(cuò)誤,如(a-1)的虛線所示的那樣,由于發(fā)生與同步代碼相同的位組合格式,所以,將發(fā)生偽同步。與此相反,圖30(a)的代碼表所示的填充位STUFF,如圖32(b-2)所示的那樣,即使混入了錯(cuò)誤,由于沒(méi)有成為和同步代碼相同的位組合格式,所以,不會(huì)發(fā)生偽同步。
這樣,本實(shí)施例的填充位便可很容易地檢測(cè)代碼串的錯(cuò)誤,同時(shí),即使錯(cuò)誤混入了代碼串,也難于發(fā)生偽同步代碼,從而具有很強(qiáng)的抗錯(cuò)誤耐性的優(yōu)點(diǎn)。
另外,本實(shí)施例的填充位可以從反方向唯一地進(jìn)行譯碼,由于可以特定其開始位置即填充位STUFF之前的代碼串的結(jié)束位置,所以,信息代碼串在既可以從順?lè)较蛞部梢詮姆捶较蜻M(jìn)行譯碼的代碼之后時(shí),如圖31的箭頭3104所示的那樣,可以將STUFF之前的代碼串從反方向進(jìn)行譯碼。
在上述實(shí)施例中,填充位STUFF可以按如下方式?jīng)Q定。
(1)如圖5所示的那樣同步代碼包含sync_0_len位的“0”時(shí),通過(guò)使填充位STUFF的全部乃至至少同步代碼插入位置的全部位為“1”,便可增大同步代碼的“0”的部分與填充位STUFF的加重平均距離。因此,通過(guò)這樣處理,便可減少錯(cuò)誤混入填充位STUFF而發(fā)生偽同步的概率。
(2)填充位STUFF也可以采用表示其長(zhǎng)度的代碼字。在譯碼裝置中,根據(jù)填充位STUFF以外的代碼串的譯碼結(jié)束的地點(diǎn)判斷STUFF的長(zhǎng)度,同時(shí),進(jìn)行STUFF的譯碼,并將STUFF的長(zhǎng)度信息譯碼。這時(shí),如果兩者不一致時(shí),就可以判定錯(cuò)誤進(jìn)入到了代碼串中。
另外,填充位STUFF的代碼字也可以用二進(jìn)制數(shù)表示其長(zhǎng)度。例如,STUFF為5位時(shí),也可以采用二進(jìn)制數(shù)表示“5”的“00101”?;蛘撸部梢詫⑷《M(jìn)制數(shù)表示的“1”的補(bǔ)數(shù)或“2”的補(bǔ)數(shù)的值作為填充位STUFF的代碼字,這樣,由于減少了STUFF中的“0”的位數(shù),所以,可以和在(1)中所述的一樣抑制偽同步的發(fā)生。
(3)使用不僅可以從順?lè)较蚨铱梢詮姆捶较蜻M(jìn)行譯碼的代碼字進(jìn)行編碼時(shí),在譯碼裝置中,就必須從幀的結(jié)束地點(diǎn)開始將填充位STUFF從反方向進(jìn)行譯碼并知道其開始地點(diǎn)(STUFF與其他代碼字的邊界地點(diǎn))。這時(shí),例如可以將STUFF如“01111111”那樣決定為以1位乃至多個(gè)位的“0”開始而其余的位為“1”的代碼字。這樣,如果將STUFF從反方向進(jìn)行譯碼并探索有“0”的位置,就可以將該地點(diǎn)唯一地判定為STUFF的開始地點(diǎn)。另外,在該例中,填充位STUFF的開始部分以外的位為“1”,可以和在(1)中所述的一樣減少發(fā)生偽同步的概率。
(4)填充位STUFF也可以采用輸出代碼串的一部分或全部位的糾錯(cuò)/檢出代碼的檢查位或奇偶性檢查位等。這樣,便可進(jìn)行混入到輸出代碼串中的位錯(cuò)誤的糾錯(cuò)/檢出。
如上例所述的那樣,通過(guò)暗示預(yù)先決定的規(guī)則生成填充位STUFF,在譯碼裝置中,將輸入代碼串中的填充位STUFF與其生成規(guī)則進(jìn)行對(duì)照,如果判定違反其生成規(guī)則時(shí),就可以判定錯(cuò)誤混入到了輸入代碼串中。這樣,在運(yùn)動(dòng)圖象譯碼裝置中,便可進(jìn)行使再生圖像不發(fā)生大的劣化的處理,從而可以提高錯(cuò)誤混入輸入代碼串中時(shí)的再生圖像的品質(zhì)。
此外,在上述實(shí)施例中,同步代碼插入間隔sync_period也可以按如下方式?jīng)Q定。
(1)使用糾錯(cuò)/檢出代碼時(shí),如果使同步代碼插入間隔sync_period大于在譯碼裝置中進(jìn)行同步檢測(cè)的最小的位數(shù)即同步代碼的長(zhǎng)度與糾錯(cuò)/檢出代碼的檢查位的最大值之和就足夠了。由于幀的最后的填充位STUFF的位數(shù)的平均值是sync_period/2,所以,通過(guò)使sync_period成為該可以進(jìn)行同步檢測(cè)的最小位,便可減少填充位STUFF的位數(shù),從而可以提高編碼效率。
(2)不使用糾錯(cuò)/檢出代碼時(shí),如果使同步代碼插入間隔sync_period大于在譯碼裝置中進(jìn)行同步檢測(cè)的最小的位數(shù)即同步代碼的長(zhǎng)度就足夠了。由于幀的最后的填充位STUFF的位數(shù)的平均值為sync_period/2,所以,通過(guò)使sync_period成為該可以進(jìn)行同步檢測(cè)的最小位,便可減少填充位STUFF的位數(shù),從而可以提高編碼效率。
(3)如圖15、圖16、圖17和圖27所示的那樣,使用幀長(zhǎng)度信息POINTER時(shí),也可以使同步代碼插入間隔sync_period比同步代碼的長(zhǎng)度短。這樣,便可減少填充位STUFF的位數(shù),從而可以提高編碼效率。
(4)在傳輸線路/存儲(chǔ)媒體中分割為指定的間隔的包或信元進(jìn)行傳輸/存儲(chǔ)時(shí),也可以使同步代碼插入間隔sync_period與包或信元的間隔一致或成為該間隔的約數(shù)。這樣,由于包或信元的開頭一定為同步代碼插入位置,所以,發(fā)生包損耗或信元損耗時(shí)也可以檢測(cè)同步代碼。
(5)同步代碼插入間隔sync_period最好比1幀的最小需要的位數(shù)短。這樣,便可減少填充位STUFF的位數(shù),從而可以提高編碼效率。
(實(shí)施例6)
下面,說(shuō)明本發(fā)明的實(shí)施例6。
圖35是表示本實(shí)施例的運(yùn)動(dòng)圖象編碼裝置的輸出代碼串的一例的圖。在該輸出代碼串中,為了降低由于錯(cuò)誤而引起的同步代碼的誤檢測(cè)概率,進(jìn)行在上述實(shí)施例中所述的位插入處理。另外,標(biāo)題信息等的信息進(jìn)入預(yù)先決定的位置或從同步代碼相對(duì)地看預(yù)先決定的位置。
圖35(a)是進(jìn)行位插入處理之前的代碼串,(b)是進(jìn)行位插入處理后的輸出代碼串。圖中,斜線部分3201、3202、3261、3262是進(jìn)入預(yù)先決定的位置(從同步代碼相對(duì)地看預(yù)先決定的位置)的信息,空心箭頭3211、3212是進(jìn)入該信息的位置。圖35(b)中的代碼串的信息3261、3262分別與(a)的代碼串的信息3201、3202相當(dāng),根據(jù)情況不同從代碼串(a)向代碼串(b)變換時(shí),有時(shí)對(duì)這些信息也進(jìn)行變換(即,從信息3201向信息3261的變換和從信息3202向信息3262的變換)。
圖35(b)中的3203是通過(guò)位插入處理而插入的位。由于通過(guò)該位插入處理而后續(xù)在插入位之后的位串向后移位了,所以,為了使進(jìn)入指定的位置的信息進(jìn)入恒定位置,進(jìn)行使該信息之前的代碼串的一部分向后移動(dòng)的處理。例如,設(shè)從信息3201當(dāng)前一個(gè)同步代碼3205開始的插入位的數(shù)的總和為Ns1,可以將信息3201之前的圖35(a)中的符號(hào)3221所示的Ns1位移動(dòng)到信息3201之后的圖35(b)中的符號(hào)3231的部分。
在信息3201、3202中包含表示代碼串中的特定的位置的指針等信息時(shí),也可以進(jìn)行將其變換的處理。具體而言,例如在信息3201中包含表示由箭頭3241所示的位置的信息時(shí),就變換為表示信息3261中的位置的信息,用以根據(jù)該位置指示由插入位的數(shù)Ns1之后的箭頭3251所示的位置。
權(quán)利要求
1.一種編碼方法,包括對(duì)將圖像信號(hào)壓縮編碼后生成的、對(duì)圖形標(biāo)題、預(yù)測(cè)模式信息以及運(yùn)動(dòng)矢量信息和DCT系數(shù)分別編碼后的可變長(zhǎng)度代碼進(jìn)行多路化,生成多路化代碼串;以所述多路化代碼串為輸入,組合成輸出代碼串;以及將同步代碼插入到所述輸出代碼串中的、按預(yù)定周期確定的多個(gè)同步代碼插入位置中的一個(gè)插入位置上。
2.一種編碼裝置,包括多路化單元,用于對(duì)將圖像信號(hào)壓縮編碼后生成的、對(duì)圖形標(biāo)題、預(yù)測(cè)模式信息以及運(yùn)動(dòng)矢量信息和DCT系數(shù)分別編碼后的可變長(zhǎng)度代碼進(jìn)行多路化,生成多路化代碼串;代碼串組合單元,用于以所述多路化代碼串為輸入,組合成輸出代碼串,其中,所述代碼串組合單元將將同步代碼插入到所述輸出代碼串中的、按預(yù)定周期確定的多個(gè)同步代碼插入位置中的一個(gè)插入位置上。
3.根據(jù)權(quán)利要求2所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的幀單位來(lái)多路化所述可變長(zhǎng)度代碼。
4.根據(jù)權(quán)利要求2所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的一幀中的部分區(qū)域單位來(lái)多路化所述可變長(zhǎng)度代碼。
5.根據(jù)權(quán)利要求2所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的幀單位對(duì)所述可變長(zhǎng)度代碼進(jìn)行多路化;以及所述代碼串組合單元將所述同步代碼插入到位于緊鄰按所述多路化代碼串的所述幀單位進(jìn)行多路化后的各多路化單位的結(jié)尾部分之前或之后的同步代碼插入位置上。
6.根據(jù)權(quán)利要求2所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的一幀中的部分區(qū)域單位對(duì)所述可變長(zhǎng)度代碼進(jìn)行多路化;以及所述代碼串組合單元將所述同步代碼插入到位于緊鄰按所述多路化代碼串的所述部分區(qū)域單位進(jìn)行多路化后的各多路化單位的結(jié)尾部分之前或之后的同步代碼插入位置上。
7.根據(jù)權(quán)利要求2所述的編碼裝置,進(jìn)一步包括代碼串變換單元,該代碼串變換單元對(duì)所述輸出代碼串中位于所述同步代碼插入位置上的所述同步代碼以外的代碼串進(jìn)行變換,以將與該同步代碼的加重平均距離設(shè)置為等于或大于預(yù)定值。
8.根據(jù)權(quán)利要求2所述的編碼裝置,其中,所述代碼串組合單元插入與所述同步代碼及其一部分之間的加重平均距離大于或等于預(yù)定值的填充位。
9.根據(jù)權(quán)利要求8所述的編碼裝置,其中,所述代碼串組合單元將所述填充位配置在緊鄰所述同步代碼之前。
10.一種編碼方法,包括對(duì)將輸入圖像信號(hào)壓縮編碼后得到的多種可變長(zhǎng)度代碼進(jìn)行多路化,生成多路化代碼串;以上述多路化代碼串為輸入,組合成輸出代碼串;以及將同步代碼插入到該輸出代碼串中的、按預(yù)定周期確定的多個(gè)同步代碼插入位置中的某一個(gè)位置上,同時(shí)在該輸出代碼串中插入指示所述多路化代碼串的邊界的信息。
11.一種編碼裝置,包括多路化單元,用于對(duì)將輸入圖像信號(hào)壓縮編碼后得到的多種可變長(zhǎng)度代碼進(jìn)行多路化,生成多路化代碼串;以及代碼串組合單元,以上述多路化代碼串為輸入,組合成輸出代碼串,其中,所述代碼串組合單元將同步代碼插入到該輸出代碼串中的、按預(yù)定周期確定的多個(gè)同步代碼插入位置中的某一個(gè)位置上,同時(shí)在該輸出代碼串中插入指示所述多路化代碼串的邊界的信息。
12.根據(jù)權(quán)利要求11所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的幀單位來(lái)多路化所述可變長(zhǎng)度代碼。
13.根據(jù)權(quán)利要求11所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的一幀中的部分區(qū)域單位來(lái)多路化所述可變長(zhǎng)度代碼。
14.根據(jù)權(quán)利要求11所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的幀單位對(duì)所述可變長(zhǎng)度代碼進(jìn)行多路化;以及所述代碼串組合單元將所述同步代碼插入到位于緊鄰按所述多路化代碼串的所述幀單位進(jìn)行多路化后的各多路化單位的結(jié)尾部分之前或之后的同步代碼插入位置上。
15.根據(jù)權(quán)利要求11所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的一幀中的部分區(qū)域單位對(duì)所述可變長(zhǎng)度代碼進(jìn)行多路化;以及所述代碼串組合單元將所述同步代碼插入到位于緊鄰按所述多路化代碼串的所述部分區(qū)域單位進(jìn)行多路化后的各多路化單位的結(jié)尾部分之前或之后的同步代碼插入位置上。
16.根據(jù)權(quán)利要求11所述的編碼裝置,進(jìn)一步包括代碼串變換單元,該代碼串變換單元對(duì)所述輸出代碼串中位于所述同步代碼插入位置上的所述同步代碼以外的代碼串進(jìn)行變換,以將與該同步代碼的加重平均距離設(shè)置為等于或大于預(yù)定值。
17.根據(jù)權(quán)利要求11所述的編碼裝置,其中,所述代碼串組合單元插入與所述同步代碼及其一部分之間的加重平均距離大于或等于預(yù)定值的填充位。
18.根據(jù)權(quán)利要求17所述的編碼裝置,其中,所述代碼串組合單元將所述填充位配置在緊鄰所述同步代碼之前。
19.一種編碼方法,包括對(duì)將輸入圖像信號(hào)壓縮編碼后得到的、由可按順向和逆向譯碼的代碼語(yǔ)構(gòu)成的多種可變長(zhǎng)度代碼進(jìn)行多路化,生成多路化代碼串;以上述多路化代碼串為輸入,組合成輸出代碼串;以及確定該輸出代碼串中的、按預(yù)定周期的多個(gè)同步代碼插入位置,同時(shí)插入指示所述多路化代碼串的邊界的信息,并將同步代碼插入到所述多個(gè)同步代碼插入位置中的某一個(gè)插入位置上。
20.一種編碼裝置,包括多路化單元,用于對(duì)將輸入圖像信號(hào)壓縮編碼后得到的、由可按順向和逆向譯碼的代碼語(yǔ)構(gòu)成的多種可變長(zhǎng)度代碼進(jìn)行多路化,生成多路化代碼串;以及代碼串組合單元,用于以上述多路化代碼串為輸入,組合成輸出代碼串,其中,所述代碼串組合單元確定該輸出代碼串中的、按預(yù)定周期的多個(gè)同步代碼插入位置,同時(shí)插入指示所述多路化代碼串的邊界的信息,并將同步代碼插入到所述多個(gè)同步代碼插入位置中的某一個(gè)插入位置上。
21.根據(jù)權(quán)利要求20所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的幀單位來(lái)多路化所述可變長(zhǎng)度代碼。
22.根據(jù)權(quán)利要求20所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的一幀中的部分區(qū)域單位來(lái)多路化所述可變長(zhǎng)度代碼。
23.根據(jù)權(quán)利要求20所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的幀單位對(duì)所述可變長(zhǎng)度代碼進(jìn)行多路化;以及所述代碼串組合單元將所述同步代碼插入到位于緊鄰按所述多路化代碼串的所述幀單位進(jìn)行多路化后的各多路化單位的結(jié)尾部分之前或之后的同步代碼插入位置上。
24.根據(jù)權(quán)利要求20所述的編碼裝置,其中,所述多路化單元按照所述圖像信號(hào)的一幀中的部分區(qū)域單位對(duì)所述可變長(zhǎng)度代碼進(jìn)行多路化;以及所述代碼串組合單元將所述同步代碼插入到位于緊鄰按所述多路化代碼串的所述部分區(qū)域單位進(jìn)行多路化后的各多路化單位的結(jié)尾部分之前或之后的同步代碼插入位置上。
25.根據(jù)權(quán)利要求20所述的編碼裝置,進(jìn)一步包括代碼串變換單元,該代碼串變換單元對(duì)所述輸出代碼串中位于所述同步代碼插入位置上的所述同步代碼以外的代碼串進(jìn)行變換,以將與該同步代碼的加重平均距離設(shè)置為等于或大于預(yù)定值。
26.根據(jù)權(quán)利要求20所述的編碼裝置,其中,所述代碼串組合單元插入與所述同步代碼及其一部分之間的加重平均距離大于或等于預(yù)定值的填充位。
27.根據(jù)權(quán)利要求26所述的編碼裝置,其中,所述代碼串組合單元將所述填充位配置在緊鄰所述同步代碼之前。
全文摘要
為了解決在將糾錯(cuò)/檢出編碼及使用同步代碼的同步恢復(fù)方法進(jìn)行組合使用的編碼裝置中由同步代碼的誤檢測(cè)而引起的偽同步或同步偏離的問(wèn)題,本發(fā)明提供一種編碼裝置和編碼方法。具有將輸入的多路化代碼串(201)編碼為由信息位和檢查位構(gòu)成的糾錯(cuò)/檢出代碼的編碼部(212)和將同步代碼插入到代碼串(201)中預(yù)先決定的周期性的多個(gè)同步代碼插入位置中的某一個(gè)位置、同時(shí)將信息位配置到代碼串中的任意的位置而將檢查位配置到代碼串(201)中同步代碼插入位置以外的位置從而組合成輸出代碼串(205)的代碼串組合部(213)。
文檔編號(hào)H03M7/30GK1972183SQ200610093889
公開日2007年5月30日 申請(qǐng)日期1997年3月18日 優(yōu)先權(quán)日1996年3月18日
發(fā)明者菊地義浩, 渡邊敏明, 馱竹健志, 中條健, 永井剛 申請(qǐng)人:株式會(huì)社東芝