(57)【特許請求の範囲】
【請求項１】
画像信号を圧縮符号化して得られた複数種類の可変長符号を多重化して多重化符号列を生成し、前記多重化符号列を入力として出力符号列を組み立て、前記出力符号列中の予め周期的に定められた複数の同期符号挿入位置のいずれかに同期符号を挿入すると共に、該出力符号列中に前記多重化符号列の境界を指し示す情報を挿入することを特徴とする符号化方法。
【請求項２】
画像信号を圧縮符号化して得られた複数種類の可変長符号を多重化して多重化符号列を生成する多重化手段と、
前記多重化符号列を入力として出力符号列を組み立てる符号列組立手段とを有し、
前記符号列組立手段は、前記出力符号列中の予め周期的に定められた複数の同期符号挿入位置のいずれかに同期符号を挿入すると共に、該出力符号列中に前記多重化符号列の境界を指し示す情報を挿入することを特徴とする符号化装置。
【請求項３】
前記多重化手段は、前記可変長符号を前記画像信号のフレーム単位で多重化することを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記多重化手段は、前記可変長符号を前記画像信号のフレームの部分領域単位で多重化することを特徴とする請求項２に記載の符号化装置。
【請求項５】
前記多重化手段は、前記可変長符号を前記画像信号のフレーム単位で多重化し、
前記符号列組立手段は、前記多重化符号列の前記フレーム単位で多重化された各多重化単位の終りの部分の直前または直後に位置する同期符号挿入位置に同期符号を挿入することを特徴とする請求項２に記載の符号化装置。
【請求項６】
前記多重化手段は、前記可変長符号を前記画像信号のフレームの部分領域単位で多重化し、
前記符号列組立手段は、前記多重化符号列の前記部分領域単位で多重化された各多重化単位の終りの部分の直前または直後に位置する同期符号挿入位置に同期符号を挿入することを特徴とする請求項２に記載の符号化装置。
【請求項７】
前記出力符号列中の前記同期符号挿入位置にある前記同期符号以外の符号列を該同期符号とのハミング距離が予め定められた値以上となるように変換する符号列変換手段をさらに有することを特徴とする請求項２乃至６のいずれか１項に記載の符号化装置。
【請求項８】
前記符号列組立手段は、前記出力符号列中に前記同期符号およびその一部との間のハミング距離が予め定められた値以上であるスタッフィングビットを挿入することを特徴とする請求項２に記載の符号化装置。
【請求項９】
前記符号列組立手段は、前記スタッフィングビットを前記同期符号の直前に配置することを特徴とする請求項８に記載の符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線伝送路のような誤り率の高い媒体を介して情報を伝送／蓄積するシステムに係り、高能率圧縮符号化によって得られた圧縮符号列を誤り訂正／検出符号化して伝送／蓄積するのに適した符号化方法及び装置に関する。
【背景技術】
【０００２】
例えば、無線ＴＶ電話、携帯情報端末、デジタルＴＶ放送システムのように、画像や音声の情報をできるだけ少ない情報量となるように高能率に圧縮符号化して無線伝送路等を介して伝送するシステムにおいては、伝送路の誤り率が高いため、得られた符号列をいかに高品質に伝送するかが重要な課題となる。
【０００３】
このように誤り率の高い媒体を介して符号列の伝送／蓄積を行う場合に、誤り率を低減する手段として、ＢＣＨ符号、ＲＳ符号、畳み込み等の誤り訂正符号が多く用いられる。また、受信側で誤り検出を可能にする手段としては、チェックサムやＣＲＣ等の誤り検出符号が用いられる。これらの誤り訂正／誤り検出は、伝送／蓄積する情報に余分なビット（冗長性）を一定の規則に従って付加し、復号の際に伝送／蓄積された符号列がこの規則に従っているかどうかを調べ、その結果によって誤りの訂正や検出を行うものである。
【０００４】
しかし、このように高能率圧縮符号化により得られた符号列を誤り訂正／検出符号に符号化して伝送／蓄積する方法は、伝送路／媒体での符号語誤りによって生じる同期外れを回復する同期回復手法との組み合わせが難しくなることが欠点である。同期回復手法としては、一意に復号可能な同期符号と呼ばれる符号を挿入し、同期外れが生じたときは同期符号を検出した時点から復号を再開する方法が多く用いられている。
【０００５】
同期符号を一意に復号可能な符号語とするためには、他の符号語の組み合わせで同期符号と同一のビットパターンが生じないように符号語を構成する必要がある。しかし、一般に誤り訂正／検出符号化では、ある特定のビットパターンの出現を避けるように符号語を構成することは困難であり、同期符号と同一ビットパターンが出現した場合には、同期符号の誤検出により擬似同期を引き起こしてしまうことになる。
【０００６】
この問題を避けるために、誤り訂正／検出符号化を行った後に同期符号と同一のビットパターンが符号列中に存在するか否かを判定し、同一ビットパターンが存在する場合には、そのパターン中にある規則に従ってダミービットを挿入し、復号化装置において同一の規則でダミービットを削除することにより擬似同期を防ぐ方法が用いられている。しかし、誤りが生じやすい媒体を介して符号列を伝送／蓄積する場合には、この挿入ビットにも誤りが生じる可能性があり、新たな同期外れや擬似同期を引き起こすという問題点がある。
【０００７】
また、符号列を誤り訂正／検出符号化し同期符号を挿入する場合、従来では同期符号と同期符号とで挟まれた同期区間の最後の部分で、誤り訂正／検出符号化すべき情報ビットの剰余を補うために多くの挿入ビットを符号列に付加する必要があるため、符号化効率が低下するという問題点もある。
【０００８】
一方、誤り訂正／検出能力を高めるためには、伝送／蓄積する情報の冗長度を高めればよいが、こうすると同じ情報を送るのに必要なビット数は増える。このため、誤り訂正／検出能力を高めると、より伝送レートの高い伝送路が必要となったり、蓄積しなければならない情報のビット数が増加することになる。また、伝送レートや蓄積容量が同一ならば、冗長度が高いほど少ない情報しか伝送／蓄積できないことになる。画像や音声を高能率に圧縮符号化して伝送／蓄積する場合、誤り耐性を向上させるために冗長性を付加することは、伝送／蓄積レートが同一ならばより少ない情報量に圧縮符号化を行わなければならないことになり、画質や音質の低下を招くことになる。
【０００９】
そこで、より少ない冗長度で高い誤り耐性を持たせる方法として、階層符号化と呼ばれる方法がある。これは高能率圧縮符号化された情報を誤りが画質や音質に与える大きさに応じて分類し、誤りの影響が大きい情報には冗長度が高くともより誤り訂正／検出能力の高い誤り訂正／検出符号を用い、誤りの影響があまり大きくない情報には誤り訂正／検出能力はそれほど高くないが冗長度が少ない誤り訂正／検出符号を用いることにより、全体に同一の誤り訂正／検出符号を用いる場合より同一の平均冗長度でより誤り耐性を高める方法である。
【００１０】
例えば、動画像の高能率圧縮符号化に多く用いられている動き補償予測と直交変換を組み合わせた符号化方式、すなわち、入力される動画像信号に対して動き補償予測を行い、その予測残差をＤＣＴ（離散コサイン変換）などにより直交変換する方式においては、誤りが生じると大きな画質劣化を生じる動きベクトル情報や、予測残差信号の直交変換係数のうちの低次係数には、誤り訂正／検出能力の強い誤り訂正／検出符号を用い、誤りの影響が小さい予測残差信号の直交変換係数のうちの高次係数には、誤り訂正／検出能力の弱い誤り訂正／検出符号を用いる。
【００１１】
このような階層符号化を実現するためには、出力される符号列の途中で、誤り訂正／検出能力の異なる誤り訂正／検出符号を切り替える必要がある。誤り訂正／検出能力の異なる誤り訂正／検出符号を切り替える方法としては、誤り訂正／検出符号の種類を示すヘッダ情報を符号列に付加する方法がある。図１１は、ヘッダ情報を付加して誤り訂正／検出符号を切り替えた符号列の例を示したものであり、この例では２種類の誤り訂正／検出符号ＦＥＣ１およびＦＥＣ２を切り替えている。ヘッダ１１０１〜１１０４には、誤り訂正／検出符号の種類や符号語の数を示すヘッダ情報が入っている。符号化装置では、これらのヘッダ情報に続けて誤り訂正／検出符号化された符号語を並べ、復号化装置ではヘッダ情報を復号し、これに従って誤り訂正／検出符号の復号を行う。
【００１２】
しかし、このようなヘッダ情報を付加することによって誤り訂正／検出符号を切り替える方法では、ヘッダ情報の付加によって伝送／蓄積しなければならない符号列のビット数が増加するという問題がある。画像や音声を高能率圧縮符号化して伝送／蓄積する場合、ヘッダ情報にビット数が割かれることは、画像や音声の高能率圧縮符号化に用いられるビット数が減少することになり、結果的に画質や音質の劣化を招く。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したように、動画像信号などを高能率圧縮符号化した符号列に対して誤り訂正／検出符号化を行うと、任意のビットパターンが発生するため、誤り訂正／検出符号化と、一意に復号可能な同期符号を用いる同期回復手法との組み合わせた場合には、同期符号の誤検出による擬似同期という問題点があり、ダミービットの挿入により擬似同期を避ける操作を行った場合にも挿入ビットの誤りによって新たな同期外れや擬似同期を生じてしまうという問題点があった。
【００１４】
また、符号列を誤り訂正／検出符号化し同期符号を挿入する場合、従来では同期区間の最後の部分で、誤り訂正／検出符号化すべき情報ビットの剰余を補うために多くの挿入ビットを用いる必要があるため、符号化効率が低下するという問題点があった。
【００１５】
さらに、ヘッダ情報を付加することにより誤り訂正／検出能力の異なる誤り訂正／検出符号を切り替える符号化／復号化装置では、ヘッダ情報の付加により伝送／蓄積しなければならないビット数が増加するため、画像や音声を高能率圧縮符号化して伝送／蓄積する場合には、画像や音声の情報に割り当てられる情報量が減少して画質や音質の低下を招くという問題点があった。
【００１６】
本発明の主たる目的は、同期符号の誤検出による擬似同期や同期外れの問題を解決できる符号化方法及びを提供することにある。
【課題を解決するための手段】
【００１７】
上記の課題を解決するため、本発明に係る符号化方法は、画像信号を圧縮符号化して得られた複数種類の可変長符号を多重化して多重化符号列を生成し、前記多重化符号列を入力として出力符号列を組み立て、前記出力符号列中の予め周期的に定められた複数の同期符号挿入位置のいずれかに同期符号を挿入すると共に、該出力符号列中に前記多重化符号列の境界を指し示す情報を挿入することを特徴とする。
【００１８】
本発明に係る符号化装置は、画像信号を圧縮符号化して得られた複数種類の可変長符号を多重化して多重化符号列を生成する多重化手段と、該多重化符号列を入力として出力符号列を組み立てる符号列組立手段とを有し、符号列組立手段は、出力符号列中の予め周期的に定められた複数の同期符号挿入位置のいずれかに同期符号を挿入すると共に、該出力符号列中に多重化符号列の境界を指し示す情報を挿入することを特徴とする。このようにすることにより、同期符号を周期的に定められた複数の同期符号挿入位置のいずれかにのみ挿入することができる。
【００１９】
なお、本発明において同期符号とは符号列中に同期回復のために挿入される一意に復号可能な符号であり、例えば同期符号を挿入する符号列が、フレーム単位で入力される画像信号を圧縮符号化した複数種類の可変長符号を多重化した多重化符号列であれば、符号化フレームの区切りや、複数種類の可変長符号の区切りその他の区切りを示す符号である。
【発明の効果】
【００２０】
本発明によれば、符号化装置において複数種類の可変長符号を多重化した多重化符号列中に予め周期的に定められた同期符号挿入位置にのみ同期符号を挿入するため、復号化装置においては、この同期符号挿入位置でのみ同期検出を行えば良く、符号列中の任意の位置に同期符号が挿入される従来方式に比べて同期符号検出の回数が削減される。
【００２１】
また、ビット誤りによって復号化装置に入力されるビット列が同期符号と同一のビットパターンに変化してしまうことによる疑似同期の発生の確率は、この同期符号検出回数の削減に伴って減少するため、本発明によると疑似同期の発生を少なくすることができ、同期符号検出に伴う演算処理量も削減される。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施形態を説明する。  
（第１の実施形態）  
図１は、動き補償適応予測と直交変換符号化の一種である離散コサイン変換符号化を用いた高能率圧縮符号化装置に、本発明による誤り訂正／検出符号切り替え機能を有する符号化装置を組み合わせた動画像符号化装置の一実施形態を示すブロック図である。動き補償適応予測と離散コサイン変換符号化を組み合わせた符号化方式については、例えば文献１：安田浩編著、“マルチメディア符号化の国際標準”、丸善、（平成３年６月）等に詳しいので、動作の概略のみを説明する。また、本実施形態で用いられる誤り訂正／検出符号は、ＢＣＨ符号のように情報ビットと検査ビットが分離されているものとする。
【００２３】
図１において、フレーム単位で入力される符号化対象の入力動画像信号１３１は、まずマクロブロック等の小領域単位で動き補償適応予測が行われる。すなわち、動き補償適応予測器１０１において、入力動画像信号１３１とフレームメモリ１０２中に蓄えられている既に符号化／局部復号化が行われた画像信号との間の動きベクトルが検出され、この動きベクトルに基づいて動き補償予測により予測信号１３２が作成される。この動き補償予測器１０１においては、動き補償予測符号化と、入力動画像信号１３１をそのまま符号化するフレーム内符号化（予測信号＝０）のうち、符号化に用いて好適な方の予測モードが選択され、対応する予測信号１３２が出力される。
【００２４】
予測信号１３２は減算器１０３に入力され、入力動画像信号１３１から予測信号１３２が減算されることによって予測残差信号１３３が出力される。予測残差信号１３３は、離散コサイン変換器１０４において一定の大きさのブロック単位で離散コサイン変換（ＤＣＴ）され、ＤＣＴ係数が生成される。このＤＣＴ係数は量子化器１０５で量子化される。量子化器１０５からの量子化されたＤＣＴ係数データは２分岐され、一方は第１の可変長符号化器１０６で可変長符号化され、他方は逆量子化器１０７で逆量子化された後、逆離散コサイン変換器１０８で逆離散コサイン変換（逆ＤＣＴ）される。逆離散コサイン変換器１０８からの出力は加算器１０９において予測信号１３２と加算され、局部復号信号が生成される。この局部復号信号は、フレームメモリ１０２に記憶される。
【００２５】
一方、動き補償適応予測器１０１において決定された予測モードおよび動きベクトルの情報は、第２の可変長符号化器１１０で可変長符号化される。第１、第２の可変長符号化器１０６，１１０から出力される可変長符号（圧縮符号）は、多重化器１１１において多重化され、多重化符号列２０１となる。
【００２６】
多重化器１１１からは、多重化符号列２０１と、これに対応する誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号２０２および同期符号の挿入を要求する同期符号挿入要求信号２０３が出力される。
【００２７】
これらの符号列２０２、ＦＥＣ種類識別信号２０２および同期符号挿入要求信号２０３は、符号列２０２を誤り訂正／検出能力の異なる複数種類の誤り訂正／検出符号に切り替えて符号化する出力符号化装置２００に入力され、最終的な出力符号列２０５が生成される。本実施形態においては、出力符号化装置２００が本発明に係る符号化装置に相当する。
【００２８】
図２は、多重化器１１１における多重化の流れを示す図である。多重化は符号化フレームを単位として行われる。まず、同期符号３０１が多重化される。同期符号３０１が多重化されたときには、多重化器１１１から同期符号挿入要求信号２０３が出力され、多重化された符号語が同期符号であることが符号化装置２００に知らされる。次に、多重化符号列２０１にその符号化フレームの各種符号化モードを示すピクチャヘッダ３０２が多重化される。次に、各領域における動き補償適応予測器ＭＣにおける予測モードを示す予測モード情報３０３が多重化され、さらに動きベクトル情報３０４および予測残差信号のＤＣＴ係数（以下、これを残差ＤＣＴ係数という）３０５が多重化される。ピクチャヘッダ３０２、予測モード情報３０３、動きベクトル情報３０４および残差ＤＣＴ係数３０５を多重化するときには、それぞれに対応する誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号２０２が出力される。
【００２９】
誤りが混入すると画質が大きく劣化してしまうピクチャヘッダ３０２、予測モード情報３０３および動きベクトル情報３０４には、訂正／検出能力の高い誤り訂正／検出符号を用いる。一方、残差ＤＣＴ係数３０５は、誤りが混入してもそれを検出して残差を０とすることで大きな画質劣化を防ぐことができるため、誤り訂正能力はそれほど高くする必要はなく、単に誤り検出を行うことができるようにするだけでもよい。
【００３０】
図３は、図１中の出力符号化装置２００の構成を示すブロック図である。この出力符号化装置２００は、ビット挿入器２１１、誤り訂正／検出切替符号化器２１２および符号列組立器２１３から構成される。また、図４は出力符号化装置２００で生成される出力符号列２０５の一例を示す図である。図４において、ＰＳＣは同期符号、ＰＨはピクチャヘッダ、ＭＯＤＥは予測モード情報、ＭＶは動きベクトル情報、ＣＨＫは誤り訂正／検出符号の検査ビット、ＣＯＥＦは残差ＤＣＴ係数、ＳＴＵＦＦはスタッフィングビット（挿入ビット）である。この出力符号列２０５は、以下のような特徴を持っている。
【００３１】
（１）同期符号ＰＳＣは、一定間隔（sync_periodビットおき）に配置された矢印で示される同期符号挿入位置のいずれかにのみ挿入される。sync_periodの長さは、同期符号ＰＳＣの長さと検査ビットＣＨＫの最大長よりも大きくとる。検査ビットＣＨＫは、同期符号挿入位置の直前に来るように位置ずらしが行わていれる。
【００３２】
（２）１フレーム、つまり同期符号ＰＳＣと次のＰＳＣとで挟まれた１同期期間の最後の部分の誤り訂正／検出符号は、最後に残った情報ビットだけを符号化する縮退符号とし、検査ビットＣＨＫ（図４の例ではＣＨＫ６）の位置ずらしを行うために必要なビット数だけスタッフィングビットＳＴＵＦＦのビット挿入を行う。
【００３３】
（３）誤り訂正／検出符号の種類や数を示すＦＥＣ種類識別信号は、図４の出力符号列２０５中には存在しない。
【００３４】
この出力符号列２０５では、上記（１）のように検査ビットＣＨＫの位置ずらしを行っているため、矢印で示される同期符号挿入位置には検査ビットＣＨＫが入ることが無く、従って検査ビットＣＨＫによって擬似同期が発生する可能性は全く無い。また、上記（２）のようにフレームの最後の誤り訂正／検出符号化を行う場合、従来の技術では多くの挿入ビット（ダミービット）を挿入することが必要であったが、本実施形態ではフレームの最後が縮退符号となっているため、挿入ビット数は少なくてすむ。また、上記（３）のように誤り訂正／検出符号の種類や数を示すヘッダ情報を出力符号列２０５中に含ませていないため、これによる符号量の増加は無い。
【００３５】
以下、このような出力符号列２０５を生成する図３の出力符号化装置２００の構成と動作について、多重化器１１１から出力される図２の多重化符号列２０１および図４の出力符号列２０５と対応させて詳細に説明する。
【００３６】
多重化器１１１で同期符号３０１が多重化されたとき、前述のように同期符号挿入要求信号２０３が出力される。同期符号３０１は、例えば図５のようにsync_０_len ビットの“０”、１ビットの“１”および同期符号３０１の種類を示すsync_nb_len ビットの“×××××”からなる。出力符号化装置２００は、多重化器１１１からの同期符号３０１および同期符号挿入要求信号２０３を受けると、符号列組立器２１３から出力符号列２０５として同期符号（ＰＳＣ）を出力する。
【００３７】
ここで、同期符号３０１は図４に示したように出力符号列２０５中のsync_periodビットおきに配置された同期符号挿入位置のみにしか挿入することができないようになっているため、それまでに生成された出力符号列２０５の最後尾が同期符号挿入位置に無い場合には、後述のようにスタッフィングビットＳＴＵＦＦを挿入して、同期符号３０１が同期符号挿入位置に来るようにする。
【００３８】
同期符号３０１が出力符号列２０５に出力されると、以降ピクチャヘッダ３０２、予測モード情報３０３、動きベクトル情報３０４、残差ＤＣＴ係数３０５が以下のように符号化される。まず、多重化器１１１から出力された多重化符号列２０１に対して、ビット挿入器２１１において擬似同期の発生を防ぐためのビット挿入が行われる。すなわち、出力符号列２０５中に同期符号３０１の符号語と同一のビットパターンがあると同期符号３０１を一意に復号できなくなることを防ぐために、必要に応じてビット挿入を行う。例えば、同期符号３０１が図５のようにsync_０_len ビットの“０”が連続する符号語ならば、同期符号３０１以外の符号列中にsync_０_len ビット以上“０”が連続しないように“１”を挿入すれば、擬似同期の発生を防ぐことができる。
【００３９】
前述のように同期符号３０１は同期符号挿入位置にしか挿入されないため、この擬似同期の発生防止のためのビット挿入操作は同期符号挿入位置だけで行えばよい。そこで、これまでに生成された出力符号列２０５の総ビット数を示す計数値２２１を符号列組立器２１３から出力し、ビット挿入器２１１で計数値２２１に基づいてビット挿入が必要であるか否かを判定する。計数値２２１、つまり既に生成された出力符号列２０５の総ビット数を total_len とすれば、
０＜ total_len mod sync_period≦sync_０_len   
となる区間で多重化符号列２０１中の“１”の数を計数し、この区間に“１”が全くなければ１ビットの“１”を挿入する。ここで、Ａmod ＢはＡをＢで除したときの剰余を表す。
【００４０】
また、誤りによる同期符号３０１の誤検出の確率を低くするには、以下のようにビット挿入を行えばよい。
【００４１】
同期符号３０１にｎビット誤りが混入した場合にも、同期符号３０１を検出するためには、後述する動画像復号化装置の入力復号化装置で真の同期符号とハミング距離がｎ以下の符号語は同期符号と判定する必要がある。しかし、同期符号３０１以外の符号列をそのままにしてこのような判定を行うと、同期符号３０１以外の符号列中にも同期符号とハミング距離がｎ以下のビットパターンが存在することがあり、これが同期符号挿入位置にあると誤まって同期符号３０１と判定されてしまう。
【００４２】
そこで、ビット挿入器２１１で多重化符号列２０１に以下のようにビット挿入を行うことによって、多重化符号列２０１中の同期符号挿入位置にある同期符号以外の符号列を同期符号３０１とのハミング距離が２＊ｎ＋１以上離れた値となるように変換する。具体的には、  
０＜ total_len mod sync_period≦sync_０_len −（２＊Ｎ＋１）
となる区間での“１”の数（＝ｎ０とする）を計数し、ｎ０が２＊ｎ＋１以下であったら２＊ｎ＋１−ｎ０ビットの“１”を多重化符号列２０１に挿入する。
【００４３】
こうしてビット挿入器２１１でビット挿入が行われた後の符号化列２２２は、誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号２０２と共に、誤り訂正／検出符号切替符号化部２１２に入力される。
【００４４】
図６は、図３中の誤り訂正／検出符号切替符号化部２１２の構成を示すブロック図である。ラッチ回路６０３は、ＦＥＣ種類識別信号２０２をラッチする回路であり、多重化器１１１から多重化符号列２０１への同期符号の出力が終了して同期符号挿入要求信号２０３が停止すると、ＦＥＣ種類識別信号２０２をラッチし、ラッチした信号６２３を誤り訂正／検出符号化器６０４に供給する。
【００４５】
誤り訂正／検出符号化器６０４は、ラッチされた信号６２３に従ってビット挿入器２１１からの符号列２２２を誤り訂正／検出符号化し、情報ビット６３１および検査ビット６３２を生成して出力する。また、誤り訂正／検出符号化器６０４は１ブロックの誤り訂正／検出符号化が終了すると、ラッチ回路６０３に次のＦＥＣ種類識別信号２０２のラッチを指示するラッチ指示信号６２５を出す。ラッチ回路６０３は、このラッチ指示信号６２５に従ってラッチを行い、ラッチした信号６２３を誤り訂正／検出符号化器６０４に供給する。
【００４６】
出力符号化装置２００では以上の動作が繰り返され、ビット挿入器２１１からのビット挿入後の符号列２２２は、誤り訂正／検出切替符号化器２１２で多重化器１１１から示されたＦＥＣ種類識別信号２０２に従って誤り訂正／検出符号の切り替えがなされながら、誤り訂正／検出符号化が行われる。ＦＥＣ種類識別信号２０２は、１ブロックの誤り訂正／検出符号の符号化の終了時点でのみラッチ回路６０３でラッチされるため、この切り替え点までは同一の誤り訂正／検出符号が適用される。例えば、ピクチャヘッダ３０２はＦＥＣ１、予測モード情報３０３はＦＥＣ２という誤り訂正／検出符号を用いる場合、ピクチャヘッダ３０２のビット数がＦＥＣ１の１ブロックの情報ビット数より短い場合は、後続の予測モード情報３０３の誤り訂正／検出符号としては、ＦＥＣ１の情報ビット数に達するまではＦＥＣ１が用いられる。
【００４７】
図７は、図３中の符号列組立器２１３の構成を示すブロック図である。この符号列組立器２１３は、出力符号列２０５のビット数を計数するカウンタ７０１、検査ビット６３２とそのビット数を一時的に記憶するバッファ７０２、出力符号列２０５を切り替える切替器７０３、および切替器７０３を制御する切替制御器７０４から構成される。
【００４８】
カウンタ７０１は、同期符号挿入要求信号２０３が入力すると同期符号長sync_len の値にリセットされ、同期符号の次のビットから順に次の同期符号が入力するまでカウントアップしていく。同期符号入力後、最初の検査ビット６３２が入力するまでは情報ビット６３１が出力されるように切替器７０３が動作する。検査ビット６３２が入力すると、バッファ７０２に記憶されると共に、そのビット数（検査ビット数）７１１がバッファ７０２から切替制御器７０４に出力される。
【００４９】
切替制御器７０４は、検査ビット数７１１とカウンタ７０１の計数値２２１を基に、前述のように検査ビット６３２が同期符号挿入位置に出力されないようにするための検査ビットずらしを行うように切替器７０３を制御する。例えば計数値２２１を bit_count 、検査ビット数７１１を check_len とすれば、
bit_count mod sync_period＜sync_period− check_len   
の時は情報ビット６３１を出力し、  
sync_period− check_len ≦total _bits mod  sync_period＜sync_period  
の時には、バッファ７０２に記憶された検査ビット７１３を出力する。以降、情報ビット６３１と検査ビット６３２を入力しながら、以上の処理を繰り返す。
【００５０】
出力符号化装置２００は、前述のように１フレームの最後の部分では誤り訂正／検出符号として縮退符号を用いることと、検査ビットの位置ずらしを行うためにビット挿入を行うため、それ以外の部分の通常とは異なった動作を行う。すなわち、多重化器１１１は１フレームの多重化符号列２０１の出力が終了すると、次のフレームの同期符号挿入要求信号２０３を出力する。これに対応して、図６の誤り訂正／検出切替符号化部２１２内の誤り訂正／検出符号化器６０４は、誤り訂正／検出符号の情報ビット６３１の不足分は挿入ビット発生器７０５から出力される予め定められたビットパターンであるとみなして、縮退符号を用いた誤り訂正／検出符号化を行う。このビットパターンは、全ビットを“１”としてもよいし、“０”としてもよいし、“０１０１……”のような特定のパターンの繰り返しでもよい。情報ビット６３１には、この補われた挿入ビットは出力しない。
【００５１】
図７の符号列組立器２１３では、情報ビット６３１を最後まで出力した後、切替器７０３をビット発生器７０５から入力に切り替え、バッファ７０２に記憶されている検査ビット７１３が次の同期符号の直前に配置されるように挿入ビットを挿入する。この挿入ビットの数stuffing_len は、１フレームの最後の情報ビット６３１を出力したときのカウンタ７０１の計数値２２１を total_len とし、最後に出力する検査ビット６３２のビット数をlast_check _len とすれば、
stuffing_len ＝sync_period−last_check _len −（ total_len mod sync_period）  
となる。なお、縮退符号を用いない場合は、最後の情報ビットlast_into_len の通常の情報ビットinto_len からの不足分（into_len −last_into_len ）ビットのビット挿入を行い、さらに検査ビットの位置ずらしを行うためのビット挿入を行う必要がある。このため、縮退符号を用いる場合に比べinto_len −last_into_len ＋（into_len −last_into_len ）mod sync_periodビット多くの挿入ビットが必要となってしまう。
【００５２】
符号列組立器２１３は、こうして切替器７０３を介して情報ビット６３１および挿入ビットを出力符号列２０５に出力した後、最後に検査ビット７１３に切り替えて出力符号列２０５に出力する。
【００５３】
次に、本実施形態に係る動画像復号化装置について説明する。  
図８は、図１の動画像符号化装置に対応した動画像復号化装置の構成を示すブロック図である。図１の動画像符号化装置から出力された出力符号列２０５は伝送／蓄積系を経た後、入力符号列２０５′として入力復号化装置８００に入力される。本実施形態においては、入力復号化装置８００が本発明に係る復号化装置に相当する。
【００５４】
入力復号化装置８００では、後続の逆多重化器８１１からの誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号８０２に基づいて誤り訂正／検出符号を切り替えながら、誤り訂正／検出復号化された符号列８０１、同期符号検出信号８０３および誤り検出信号８０４が出力される。逆多重化器８１１は、これらの符号列８０１、同期符号検出信号８０３および誤り検出信号８０４を入力し、予測残差符号８４１と動き補償適応予測情報符号８４２を分離して出力する。
【００５５】
予測残差符号８４１および動き補償適応予測情報符号８４２は、それぞれ第１および第２の可変長復号器８０６および８１０に入力される。第１の可変長復号器８０６で復号された残差ＤＣＴ係数８３１は、逆量子化器８０７で逆量子化、逆ＤＣＴ器８０８で逆離散コサイン変換という一連の処理が施された後、加算器８０９で動き補償適応予測器８０１からの出力である動き補償適応予測信号８３２と加算されて再生画像信号８５０となる。再生画像信号８５０は、装置外へ出力されると共に、フレームメモリ８２０へ記録される。第２の可変長復号化器８１０で復号された動き補償適応予測情報は、動き補償適応予測器８０１に入力され、動き補償予測信号８３２が生成される。
【００５６】
以上の処理は、図１の動画像符号化装置に対応して動画像を再生する処理であり、逆量子化器８０７、逆ＤＣＴ器８０８、加算器８０９およびフレームメモリ８２０が行う処理は、それぞれ図１における逆量子化器１０７、逆ＤＣＴ器１０８、加算器１０９およびフレームメモリ１０２のそれと実現手段は異なる場合もあるが、基本的に同一である。また、第１および第２の可変長復号器８０６，８１０、逆多重化器８１１および入力復号化装置８００の処理は、符号列に誤りが混入した場合を除いて、それぞれ図１における可変長符号化器１０６，１１０、多重化器１１１および出力符号化装置２００のそれと逆の処理である。
【００５７】
図９は、入力復号化装置８００の構成を示すブロック図である。この入力復号化装置８００は、入力符号列２０５′中の同期符号を検出する同期検出器９０１、入力符号列２０５′のビット数を計数するカウンタ９０２、入力符号列２０５′を情報ビット９１２と検査ビット９１３に分解して出力する符号列分解器９０３、誤り訂正／検出復号化器９０４および挿入ビット除去器９０５から構成される。
【００５８】
同期検出器９０１では、カウンタ９０２の計数値９１１に基づいて同期符号挿入位置でのみ同期符号の検出を行う。例えば、同期符号挿入位置の間隔をsync_period、計数値９１１を bit_count とし、同期符号の長さをsync_len とすれば、  
０＜ bit_count ％sync_period≦sync_len   
の時のみ同期検出を行う。  
ここで、同期符号の誤りを考慮した同期符号の検出を行っても良い。
【００５９】
図３中の出力符号化装置２００内のビット挿入器２１１において、ｎビット以下の誤りを考慮して同期符号とのハミング距離が２＊ｎ＋１離れるようにビット挿入による符号列変換を行っていれば、真の同期符号とのハミング距離がｎ以下のものを同期符号と判定しても、ｎビット以下の誤りの混入であれば誤同期検出は起こらない。
【００６０】
図１０は、符号列分解器９０３の構成を示すブロック図である。入力符号列２０５′は、後述する制御器１００１で制御される第１の切替器１００２で情報ビット１０２１と検査ビット９１３とに切り替えられる。第１の切替器１００２から情報ビット１０２１が出力された場合、この情報ビット１０２１は第２の切替器１００３を経てバッファ１００４に情報ビット長だけ記憶される。カウンタ１００５は、第２の切替器１００３からの出力ビット数を計数する。このカウンタ１００５の計数値１０２３は、比較器１００６で誤り訂正／検出符号情報出力器１００７から出力された情報ビット長１０２４と比較され、両者が一致したときにカウンタ１００５がリセットされると共に、誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号８０２がラッチ回路１００８でラッチされ、さらにバッファ１００４から情報ビット９１２が出力される。ラッチ回路１００８の出力９１４は、誤り訂正／検出符号情報出力回路１００７へ入力されると共に、図９中に示す誤り訂正／検出復号化器９０４に出力される。
【００６１】
前述のように、誤り訂正／検出符号の検査ビットは位置ずらしが施され、符号列２０５中後方の誤り訂正／検出符号の情報ビットの間に入っている。制御器１００１は、この位置ずらしが施された検査ビットと情報ビットが分離されるように制御を行う。１ブロックの誤り訂正／検出符号の情報ビットの入力が終了すると、比較器１００６において計数値１０２３と情報ビット長１０２４が一致する。制御器１００１は、この一致信号を受けて誤り訂正／検出情報出力器１００７から検査ビット長１０２５を取り込み、次の情報ビットの間に入っている検査ビットの位置を計算する。比較器１００６で一致と判定されたときの符号列２０５′の入力ビット数の計数値９１１をbit _count 、検査ビット長をcheck _len とすれば、検査ビット開始位置check _start は
check _start ＝（bit _count ／sync_period＋１）＊sync_period−check _len   
となり、検査ビット終了位置check _end は、  
check _end ＝（bit _count ／sync_period＋１）＊sync_period  
となる。制御器１００１は、計数値９１１が check_start から check_end までの間、切替器１００２を検査ビット９１３が出力されるように制御する。
【００６２】
１フレームの最後は縮退符号で誤り訂正／検出符号化が行われているので、特別な処理を行う。１フレームの最後に達すると、同期検出器９０１から次のフレームの同期符号を検出したことを示す信号８０３が出力される。制御器１００１は、この信号８０３を受けてフレームの最後の誤り訂正／検出符号の検査ビットの位置および情報ビットの不足ビット数を計算する。１フレームの最後の誤り訂正／検出符号を入力し始めたときの入力される符号列２０５′のビット数の計数値９１１を pre_last_count 、１フレームの符号列２０５′の入力が終了した時点の計数値９１１を total_count 、処理時点での計数値９１１を bit_count 、１フレーム最後の誤り訂正／検出符号の検査ビット長をlast_check _len 、それより一つ前の誤り訂正／検出符号の検査ビット長をpre _last_check _len とする。まず、誤り訂正符号が縮退符号であることおよびビット挿入が行われていることによる情報ビットの過不足分を計算する。１フレーム最後の誤り訂正／検出符号の情報ビットのうち、出力符号列２０５中に含まれているビット数last_info_len は、  
last_inf0_len ＝ total_count −last_check _len −pre _last_count −pre _last_check _len   
である。last_info_len が誤り訂正符号の情報長info_len より短いときには縮退符号であると判定し、計数値１０２３がlast_info_len からinfo_len までは切替器１０２１を挿入ビット発生器１０１５から出力されるビットパターンに切り替えて、縮退による情報ビットの不足分を補う。この挿入ビット発生器１０１５からの出力ビットパターンは、符号化器の図７中の挿入ビット発生器７０５と同一のビットパターンを発生する。
【００６３】
一方、last_info_len がinfo_len より長いときには、ビット挿入分と判定し計数値１０２３がinfo_len 以上となる部分については情報ビット９１２を出力しないようにする。検査ビットについては、  
total _count −check _len ＜bit _count ≦total _count   
の時の出力符号列２０５を検査ビットとして出力するように切替器１００２を制御する。
【００６４】
誤り訂正／検出復号化器９０４は、符号列分解器９０３から出力された情報ビット９１２および検査ビット９１３を入力し、図１０のラッチ回路１００８でラッチされた誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号９１４に基づいて誤り訂正／検出符号の復号化を行い、誤り訂正された符号列９１５と誤り検出信号８０４を出力する。
【００６５】
誤り訂正された符号列９１５は、挿入ビット除去器９０５に入力される。挿入ビット除去器９０５は、出力符号化装置２００のビット挿入器２１１で挿入された擬似同期信号を防ぐための挿入ビットを取り除く処理を行う。前述のように、ビット挿入は同期挿入位置でのみ行われているため、計数器９０２の計数値９１１に基づいて同期挿入位置を判定する。
【００６６】
例えば、同期符号語が図５に示すものとし、ビット挿入器２１１において同期符号とのハミング距離が２＊ｎ＋１以上離れるように同期符号の最初のsync_len ビットの“００００…”の部分にビット挿入が行われている場合には、同期符号挿入位置からsync_０_len −（２＊ｎ＋１）ビットの“１”の数（＝ｎ０とする）を計数し、ｎ０が２＊ｎ＋１以下であったら２＊ｎ＋１−ｎ０ビット削除する。ただし、挿入ビットは“１”であると定められているため、挿入ビット除去器９０５で挿入ビットと判定されたビットが“０”となっていたときは、同期符号挿入区間に誤りが混入したと考えられ、この場合には誤り検出信号８０４を出力する。
【００６７】
以上のようにして入力復号化装置８００で復号された符号列８０１は、逆多重化器８１１で逆多重化が行われる。これは図２に示したような多重化された符号語を分離して出力する操作である。この逆多重化器８１１は、第１および第２の可変長復号器８０６および８１０と連動して動作する。
【００６８】
まず、出力復号化装置８００から同期符号検出信号８０３が入力されると、逆多重化器８１１はフレーム処理の初期状態に移る。次に、誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号８０２としてピクチャヘッダに対する誤り訂正／検出符号の種類を出力し、符号列８０１を入力してピクチャヘッダ３０２を復号しピクチャヘッダに誤りが無いか判定する。誤りが無い場合には、ＦＥＣ種類識別信号８０２として、予測モード情報３０３に対する誤り訂正／検出符号の種類を出力し、符号列８０１を入力して予測モード情報を逆多重化し、第２の可変長復号化器８１０へ出力する。
【００６９】
第２の可変長復号化器８１０は、全ての予測モード情報を復号すると、その旨を示す信号を逆多重化器８１１に出力する。これを受けて、逆多重化器８１１は動きベクトル情報３０４に対する誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号を出力し、動きベクトル情報３０４の逆多重化を開始する。逆多重化された動きベクトル情報は第２の可変長復号器８１０に出力され、復号化される。全ての動きベクトル情報の復号が終了すると、第２の可変長復号器８１０から逆多重化器８１１にその旨を示す信号が出力され、これを受けて逆多重化器８１１は残差ＤＣＴ係数３０５に対する誤り訂正／検出符号の種類を示すＦＥＣ種類識別信号を出力すると共に、残差ＤＣＴ係数を３０５を逆多重化して第１の可変長復号器８０６に出力する。この残差ＤＣＴ係数３０５を第１の可変長復号器８０６で復号する。
【００７０】
以上のように、誤り訂正／検出符号の種類は、逆多重化器８１１において出力符号化装置２００と同一に定められた多重化の規則に基づいて判定される。このため、誤り訂正／検出符号の種類を示すヘッダ情報等を出力符号列２０５に含める必要はない。
【００７１】
誤り訂正／検出復号化器９０４において、誤り検出符号により入力符号列２０５′に誤りが混入していることが検出されることがある。また、前述のように挿入ビット除去器９０５で挿入ビットの誤りが検出されることもある。これらの場合には、入力復号化装置８００から誤り検出符号８０４が出力される。さらには、可変長復号化の処理において可変長符号語テーブルに無い符号語が検出された場合にも、誤りが混入したと判定される。また、逆多重化器８１１における逆多重化処理において多重化の規則に違反する部分があると判定されたときも、誤りが混入したと判定される。これらの場合、入力復号化装置８００および逆多重化器８１１は再生画像に大きな劣化が生じないように、以下のような処理を行う。
【００７２】
（１）残差ＤＣＴ係数で誤りが検出された場合は、当該部分の残差を０とする。予測モードとしてイントラ符号化モードが選択されていた場合は、既再生フレームや周囲の領域の再生画像信号から当該領域の再生画像信号を予測してもよい。
【００７３】
（２）予測モード情報や動きベクトルで誤りが検出された場合は、周囲の領域の予測モード情報や動きベクトル情報から当該領域の予測モード情報や動きベクトル情報が推定できるときにはそれらを用い、それが不可能ならば既再生フレームや周囲の領域の再生画像信号から当該領域の再生画像信号を予測する。
【００７４】
（３）ピクチャヘッダに誤りが検出された場合は、それをそのまま復号すると非常に大きな画質劣化を生じる可能性があるため、前フレームの再生画像をそのまま現フレームの再生画像とする。
【００７５】
以上の（１）（２）（３）処理において、可変長符号化を用いているために誤りが次の同期符号までの後続の符号にも波及している場合には、その部分についても同様の処理を行う。
【００７６】
上述の説明では、同期符号検出器９０１が同期符号挿入位置（sync_periodビットおき）でのみ同期符号の検出を行う例を示したが、伝送／蓄積媒体によってはビットの消失や誤ビットの挿入が起こる場合もある。このような場合は、同期符号挿入位置以外でも同期符号の検出を行い、同期符号が検出された位置を同期符号挿入位置と判定すればよい。
【００７７】
（第２の実施形態）  
次に、図１２〜図１４を参照して本発明に係る第２の実施形態について説明する。本実施形態による動画像符号化装置および動画像復号化装置は、ビット列の一部が消失してビット数が減少したり、余分なビットが付加されてビット数が増加するような伝送路／蓄積媒体で符号列の伝送／蓄積を行っても、同期検出を確実に行うことができるようにしたものである。
【００７８】
図１２は、このようなビット付加／消失のある場合の同期検出の処理の原理を示すブロック図である。ここで、正しい同期符号は図１２（ａ）に示すように、sync_０_len ビットの“０”と、１ビットの“１”からなるとする。なお、図１２中の“×”は同期符号以外のビットである。
【００７９】
図１２（ｂ）〜（ｅ）は、ビット付加／消失によって同期符号がどのように変化するかを示したものである。ここで、付加／消失するビット数（Ｎｉｄ）は最大１ビットとしている。（ｂ）は同期符号より前のビット列中で１ビット削除が起きた揚合であり、同期符号全体が１ビット前にシフトしている。（ｃ）は同期符号より前のビット列中で１ビット付加が起きた場合であり、同期符号全体が１ビット後ろにシフトしている。（ｄ）は同期符号中でビット削除が起きた場合であり、図中矢印のビット抜け位置から後ろが１ビット前にシフトしている。さらに、（ｅ）は同期符号中で１ビット付加が起きた場合であり、図中矢印のビット付加位置に１ビット付加が起こり、それより後ろが１ビット後ろにシフトしている。
【００８０】
ビット付加／消失が起きても正しく同期を検出するためには、図１２（ｂ）〜（ｄ）に示したビット列も同期符号と判定する必要がある。図１２から分かるように、正しい同期符号挿入位置の±Ｎｉｄビットの範囲に含まれる“１”の数は最大  
sync_０_len −３＊Ｎｉｄ  
ビットである。従って、復号側で同期符号挿入位置の±Ｎｉｄビットの範囲で同期検出を行い、この区間に含まれる“１”の数が上記の値以下だったらば同期符号と判定すればよい。また、符号化装置では図１２（ｂ）〜（ｄ）のビットパターンが生じないように符号列の変換を行う。
【００８１】
以下、このような符号化装置／復号化装置を第１の実施形態との差異を中心に説明する。
【００８２】
第２の実施形態に係る動画像符号化装置は、第１の実施形態に係る動画像符号化装置と全体構成は同じであるが、図３中のビット挿入器２１１の動作が異なっている。図１３に、ビット挿入器２１１の動作を示す。すなわち、第１の実施形態のビット挿入器２１１では、同期符号挿入区間でのみビット挿入操作を行っていたが、第２の実施形態におけるビット挿入器２１１では、最大Ｎｉｄビットのビット付加／消失が起きても同期符号と同一のビットパターンが生じないようにするため、同期符号挿入区間±Ｎｉｄビットの区間でビット挿入を行う。
【００８３】
図３における計数値２２１を total_len 、同期符号挿入位置の間隔をsync_preriod とすれば、ビット挿入器２１１は  
total _len mod sync_period＝sync_period−Ｎｉｄ  
（ｍｏｄ：剰余演算）  
から、  
total_len mod sync_period＝sync_０_len −１−３＊Ｎｉｄ  
の区間での“１”の数（＝ｎ０とする）を計数し、ｎ０が３＊Ｎｉｄ＋１未満であったら３＊Ｎｉｄ＋１−ｎ０ビットの“１”を挿入する。
【００８４】
図１３では、sync_period＝１２、sync_０_len ＝９、Ｎｉｄ＝１の場合のビット挿入器２１１の動作例を示している。この例ではｎ０＝２であるので、３＊Ｎｉｄ＋１−ｎ０＝２ビットの“１”を挿入する。
【００８５】
このようにビット挿入を行うことにより、同期符号挿入区間±Ｎｉｄビットの“０”の数は３＊Ｎｉｄビット以上であることが保証され、同期符号と一意に識別することが可能である。
【００８６】
一方、第２の実施形態に係る動画像復号化装置は、第１の実施形態と全体構成は同一であるが、図９中の同期検出器９０１および挿入ビット除去器９０５の動作が異なっている。図１４に、挿入ビット除去器９０５の動作を示す。
【００８７】
すなわち、同期検出器９０１では最大Ｎｉｄビットのビット付加／消失が起きても同期を検出するために、同期符号挿入位置の前後±Ｎｉｄビットの範囲で同期符号の検出を行う。
【００８８】
まず、同期符号挿入位置毎に同期符号が存在するかを判定する。すなわち、カウンタ９０２の計数値９１１を bit_count すると、  
bit_count mod sync_period＝sync_period−Ｎｉｄ  
から、  
bit_count mod sync_period＝sync_０_len −１＋Ｎｉｄ  
の間の“０”の数（＝ｎｓ０とする）をカウントし、ｎ０が３＊Ｎｉｄ以下であたら、この区間に同期符号があると判定する。
【００８９】
図１４の動作例では、sync_period＝１２、sync_０_len ＝９、Ｎｉｄ＝１の場合の例を示している。この例では（ bit_count mod sync_period）が“１１”から“８”の間で“０”の数をカウントする。図１４の例ではｎｓ０＝２であるので、同期符号と判定する。
【００９０】
次に、同期符号があると判定された同期符号挿入区間で、ビット付加／消失によって符号列が何ビットシフトしているかを判定する。図１４のようなsync_０_len ビットの場合、最後の“１”の位置からシフト量を判定する。具体的には、同期符号判定区間の最初からsync_０_len ＋１ビット目から見て最初にある  “１”を探索し、この同期符号判定区間の最初から何ビット目にあるか（＝ first_１_pos ビットとする）を基に、  
シフトビット数＝ first_１_pos −（sync_０_len ＋１＋Ｎｉｄ）  
（負の場合は前方シフト、正の場合は後方シフト）  
として求める。図１４の例では first_１_pos ＝１０であるから、  
シフトビット数＝１０−（９＋１＋１）＝−１  
となり、前方に１ビットシフトしていることが分かる。
【００９１】
挿入ビット除去器９０５では、第１の実施形態と異なり、同期符号挿入位置±Ｎｉｄビットの区間で挿入ビット除去処理を行う。すなわち、  
bit_count mod sync_period＝sync_period−Ｎｉｄ  
から、  
bit_count mod sync_period＝sync_０_len −１−３＊Ｎｉｄ  
の区間での“１”の数（＝ｎ０とする）を計数し、ｎ０が３＊Ｎｉｄ＋１以下であったら、３＊Ｎｉｄ＋１−ｎ０ビットの“１”を除去する。
【００９２】
第２の実施形態において、伝送路や蓄積媒体でのビット付加／消失が起きた区間を何らかの形で判定できる場合、ビット付加／消失を考慮した同期検出処理やビット挿入処理、ビット除去処理は、その区間でのみ行うようにしてもよい。
【００９３】
なお、前述した第１の実施形態に係る動画像復号化装置においても、伝送路や蓄積媒体でのビット付加／消失に対応した同期検出を行うために、同期検出器９０１では第２の実施形態と同様に同期符号挿入区間±Ｎｉｄビットの区間で同期検出を行うようにしてもよい。この場合、同期符号以外の部分を誤って同期符号と判定する疑似同期が生じる可能性があるが、ビット付加／消失の起きやすい伝送路／蓄積媒体では同期検出ミスによる復号画像の品質劣化を抑えることができ、画質が向上する。
【００９４】
また、伝送路や蓄積媒体でのビット付加／消失が起きた区間を何らかの形で判定できる場合は、この処理はその区間でのみ行い、それ以外の区間では通常の同期検出を行うようにしてもよい。
【００９５】
さらに、上述した第１および第２の実施形態において、フレームの長さを示す情報（以下、フレーム長情報という）を用いて同期をさらに保護するようにしてもよい。図１５、図１６および図１７は、フレーム長情報ＰＯＩＮＴＥＲを用いた場合の符号列の例を示したものである。
【００９６】
図１５の例では、同期符号ＰＳＣの直後にフレーム長情報ＰＯＩＮＴＥＲと、このフレーム長情報ＰＯＩＮＴＥＲを保護する誤り訂正／検出符号のチェックビットＣＨＫＰが続いている。フレーム長情報ＰＯＩＮＴＥＲには前フレームのビット数、すなわち前フレームの同期符号から現フレームの同期符号までのビット数を示す情報が記録されている。
【００９７】
符号化装置では、１フレームの符号列ビット数をカウントして、これをフレーム長情報ＰＯＩＮＴＥＲに変換し、さらに誤り訂正／検出符号化を行ってチェックビットＣＨＫＰを生成する。そして、これらを図１５に示すように次フレームの同期符号の直後に続けて符号列を生成する。
【００９８】
一方、復号化装置では、第１および第２の実施形態に述べたのと同様の方法で同期符号の検出を行った後、それに続くフレーム長情報ＰＯＩＮＴＥＲとチェックビットＣＨＫＰを符号列から取り出し、誤り訂正／検出復号を行ってフレーム長情報ＰＯＩＮＴＥＲを復号する。そして、復号されたフレーム長情報ＰＯＩＮＴＥＲと、１つ前に検出された同期符号から現在の同期符号の位置までのビット数をカウントして求めた値（フレーム長カウント値）を比較し、同期符号の誤検出が無いかをチェックする。
【００９９】
もし、フレーム長カウント値がフレーム長情報ＰＯＩＮＴＥＲに示された前フレームの符号長と異なる場合には、同期符号の誤検出が起こった可能性があるため、フレーム長情報ＰＯＩＮＴＥＲを用いて誤検出された同期符号の再検出を行う。すなわち、現在の同期符号からフレーム長情報ＰＯＩＮＴＥＲで示されたビット数だけ前方に検出できなかった同期符号があると見なすこととする。この場合、１つ前に検出された同期符号から現在の同期符号までの区間は、１つ前の同期符号からフレーム長情報ＰＯＩＮＴＥＲで示される位置までの区間と、そこから現在の同期符号までの区間の二つのフレームに分割して復号処理を行う。
【０１００】
ただし、フレーム長情報ＰＯＩＮＴＥＲで示されるビット数が、１つ前に検出された同期符号から現在の同期符号の位置までのビット数よりも多い場合には、フレーム長情報ＰＯＩＮＴＥＲが誤っているものと見なし、上記の同記再検出処理は行わない。
【０１０１】
フレーム長情報ＰＯＩＮＴＥＲおよびチェックビットＣＨＫＰのビット数が多い場合には、図１６に示すように同期符号ＰＳＣ、フレーム長情報ＰＯＩＮＴＥＲ、チェックビットＣＨＫＰが複数の同期区間にわたるようにしてもよい。この場合、同期符号以外の符号列が同期符号と一定のハミング距離を保つようにするための符号化装置でのビット挿入処理および復号化装置でのビット削除処理は、フレーム長情報ＰＯＩＮＴＥＲおよびチェックビットＣＨＫＰが存在する区間では行わないようにしてもよい。
【０１０２】
図１５および図１６の例において、同期符号ＰＳＣの後半にその同期符号の種類を示す情報（フレーム同期符号、ＧＯＢ同期符号の区別等）が含まれている場合、フレーム長情報ＰＯＩＮＴＥＲだけでなく、同期符号ＰＳＣの後半ビットを誤り訂正符号で保護するようにしてもよい。これにより、同期符号の位置だけでなくその種類も正確に検出できるため、誤りに対する耐性がさらに向上する。
【０１０３】
図１７の例では、フレーム長情報ＰＯＩＮＴＥＲおよびチェックビットＣＨＫＰをフレームの最後（次のフレームの同期符号の直前）に置く例である。この場合、復号化装置では、次のフレームの同期符号を検出した後にその直前のフレーム長情報ＰＯＩＮＴＥＲおよびチェックビットＣＨＫＰを取り出して誤り訂正／検出復号を行い、図１５および図１６と同様の処理により同期符号の再検出を行う。
【０１０４】
図１５の例においては、同期符号は同期符号挿入位置にのみ存在するので、フレーム長情報ＰＯＩＮＴＥＲはフレームのビット数を同期符号挿入問隔（＝sync_periodビット）で割った値を記録してもよい。これにより、フレーム長を少ないビット数で表すことができる。
【０１０５】
また、第１および第２の実施形態では、誤り訂正／検出符号を符号化する情報の重要度に応じて変化させる階層符号化を行う例を示したが、フレーム内で同一の誤り訂正／検出符号を用いるようにしてもよいし、誤り訂正／検出符号を用いなくともよい。そのような場合でも、本実施形態で示したような同期符号以外の符号列が同期符号と予め定められた値以上のハミング距離を保つためのビット挿入処理、およびこれに対応した同期符号検出処理によって、同期を検出する能力は従来方式より向上する。
【０１０６】
また、以上の各実施形態の説明では動画像信号を高能率圧縮符号化して伝送／蓄積する例を示したが、本発明は静止画像や音声、データ等の伝送／蓄積にも応用することが可能である。例えば、静止画像信号を直交変換を用いて高能率圧縮符号化する場合には、変換係数の低域成分をより強く誤り保護するように誤り訂正／検出符号を切り替えて用いればよい。音声を駆動源と声道フィルタにモデル化して符号化する方法では、ピッチ周期や声道パラメータ等を強く誤り保護するように誤り訂正／検出符号を切り替えれば良い。
【０１０７】
（第３の実施形態）  
次に、本発明に係る第３の実施形態について説明する。本実施形態は、誤り訂正／検出符号を用いないことが第１および第２の実施形態と異なる。
【０１０８】
図１８は、本実施形態に係る動画像符号化装置のブロック図である。図１と相対応する部分に同一符号を付して第１の実施形態との相違点を中心に説明すると、本実施形態では出力符号化装置２００の構成および動作が異なる。また、多重化器１１１は、基本動作は図１の多重化器１１１と同一であるが、誤り訂正／検出符号を用いないことに伴って、多重化符号列２０１および同期符号挿入要求信号２０３のみを出力する。
【０１０９】
図１９は、図１８中の出力符号化装置２００の構成を示すブロック図である。この出力符号化装置２００は、出力符号列２０５のビット数を計数するカウンタ１７０１、出力符号列２０５を切り替える切替器１７０３、切替器１７０３を制御する切替制御器１７０４、およびスタッフィングビットを発生するスタッフィングビット発生器１７０５から構成される。
【０１１０】
図２０は、図１９の出力符号化装置２００で生成される出力符号列２０５の一例を示す図である。図４の出力符号列と相対応する符号語には同一記号を用いて表記してある。図４と同様に同期符号ＰＳＣは周期的に、つまり一定区間（sync_periodビット）おきに配置された矢印で示される同期符号挿入位置のいずれかのみに挿入されている。図２０では、誤り訂正／検出符号の検査ビットＣＨＫが含まれないところが図４と異なる。出力符号列２０５の１フレームの最後の部分には、同期符号ＰＳＣが同期符号挿入位置に挿入されるように、スタッフィングビットＳＴＵＦＦが挿入される。スタッフィングビットＳＴＵＦＦのビット数は、sync_periodビット以下となる。
【０１１１】
以下、このような出力符号列２０５を生成する図１９の出力符号化装置２００の構成と動作について詳細に説明する。
【０１１２】
カウンタ１７０１は、多重化器１１１から同期符号挿入要求信号２０３が入力され、多重化符号列２０１として同期符号３０１の最初のビットが入力されると“１”にセットされ、同期符号３０１の全ビットが入力されると同期符号長sync_len にセットされる。その後、カウンタ１７０１は同期符号３０１の次のビットから順に次の同期符号の直前のビットが出力されるまでカウントアップしてゆく。
【０１１３】
切替制御器１７０４は、多重化符号列２０１として同期符号の最初のビットから次の同期符号の前のビットまでが入力されている時は、切替器１７０３を多重化符号列２０１の側に切り替え、多重化符号列２０１が出力符号列２０５として出力されるように制御する。
【０１１４】
そして、１フレームの最後の部分では、次の同期符号が同期符号挿入位置に挿入されるようにするためのビット挿入（ビットスタッフィング）を行う。多重化器１１１は、１フレームの多重化符号列２０１の出力が終了すると、次のフレームの同期符号挿入要求信号２０３を出力する。これを受けて切替制御器１７０４は、切替器１７０３をスタッフィングビット発生器１７０５の側に切り替え、スタッフィングビット１２２３を出力符号列２０５として出力する。このスタッフィングビット１２２３は全ビットを“１”としてもよいし、“０”としてもよいし、“０１０１…”のような特定のパターンとしてもよい。
【０１１５】
次に、本実施形態に係る動画像復号化装置について説明する。  
図２１は、図１８の動画像符号化装置に対応した動画像復号化装置の構成を示すブロック図である。図８と相対応する部分に同一符号を付して第１の実施形態との相違点を中心に説明すると、本実施形態では入力符号化装置８００の構成および動作が異なる。また、入力復号化装置８００から逆多重器８１１に入力される信号は符号列８０１および同期符号検出信号８０３のみであり、逆多重器８１１から入力復号化装置８００に入力される信号が無い。
【０１１６】
図２２は、入力復号化装置８００の構成を示すブロック図である。この入力復号化装置８００は、入力符号列２０５′中の同期符号を検出する同期検出器１９０１と、入力符号列２０５′のビット数を計数するカウンタ１９０２から構成される。
【０１１７】
カウンタ１９０２は、復号化の最初の段階では“０”にリセットされており、入力符号列２０５′が１ビット入力される度に計数値１９１１を“１”ずつカウントアップしていく。
【０１１８】
同期検出器１９０１では、カウンタ１９０２の計数値１９１１に基づいて同期符号挿入位置でのみ同期符号の検出を行う。例えば、同期符号挿入間隔をsync_period、計数値１９１１を bit_count とし、同期符号の長さをsync_len とすれば、  
０＜ bit_count mod sync_period≦sync_len   
の時のみ同期検出を行う。ここで、Ａ  ｍｏｄ  ＢはＡをＢで除したときの剰余を表す。同期検出器１９０１は、同期符号を検出すると同期符号検出信号８０３を出力する。
【０１１９】
入力復号化装置からの符号列８０１は、入力符号列２０５′がそのまま出力され、逆多重化器８１１に入力される。以降、図２１の動画像復号化装置と同様に逆多重化、復号化の処理が行われる。
【０１２０】
フレームの最後のスタッフィングビットＳＴＵＦＦを予め定められたビットパターンとした場合、逆多重化器８１１においてこのスタッフィングビットＳＴＵＦＦが予め定められたパターンと一致するか判定し、一致しなかった場合には入力符号列２０５′中に誤りがあったと判定して、第１の実施形態で示した動画像符号化装置で述べたような画質劣化が大きくならないようにするための処理を行ってもよい。
【０１２１】
（第４の実施形態）  
次に、本発明に係る第４の実施形態について説明する。  
本実施形態に係る動画像符号化装置はその全体構成は図１８の動画像符号化装置と同一であり、出力符号化装置の動作が第３の実施形態と異なる。
【０１２２】
図２３は、図１８中の出力符号化装置２００の構成を示すブロック図である。図１９の出力符号化装置と相対応する部分に同一の符号を付してその差異を中心に説明すると、疑似同期符号を防止するためのビットスタッフィング処理を行うビット挿入器１２１１が追加されている。
【０１２３】
ビット挿入器１２１１において、多重化符号列２０１に対して疑似同期の発生の防ぐためのビット挿入が行われる。これは、出力符号列２０５中に同期符号と同一のビットパターンがあると同期符号を一意に復号できなくなるため、これを防ぐための処理である。例えば、同期符号が図５に示すようにsync_０_len ビットの“０”、１ビットの“１”および同期符号の種類を示すsync_nb_len ビットの“×××××”からなる場合、同期符号以外の符号列中にsync_０_len ビット以上“０”が連続しないように“１”を挿入すれば疑似同期の発生を防ぐことができる。
【０１２４】
同期符号は同期符号挿入装置にしか挿入されない。従って、疑似同期発生防止のためのビット挿入操作は同期符号挿入位置だけで行えばよい。そこで、出力符号列２０５の総ビット数を示す計数値１２２１に基づいてビット挿入が必要であるかを判定する。計数値１２２１を total_len とすれば、  
０＜ total_len _ mod_sync_period≦sync_０_len   
となる区間で多重化符号列２０１中の“１”の数を計数し、この区間に“１”が全く無くなければ１ビットの“１”を挿入する。ここで、Ａ  ｍｏｄ  ＢはＡをＢで除したときの剰余を表す。
【０１２５】
また、誤りによる同期符号の誤検出の確率を低くするためには、以下のようにビット挿入を行えばよい。
【０１２６】
同期符号にｎビット誤りが混入した場合にも同期符号を検出するためには、後述する動画像符号化装置の入力符号化装置で真の同期符号とハミング距離がｎ以下の符号語は同期符号と判定する必要がある。しかし、同期符号以外の符号列をそのままにしてこのような判定を行うと、同期符号以外の符号列中にも同期符号とハミング距離がｎ以下のビットパターンが存在することがあり、これが同期符号挿入位置にあると誤って同期符号と判定されてしまう。
【０１２７】
そこで、ビット挿入器２１１で多重化符号列２０１に以下のようにビット挿入を行うことによって、多重化符号列２０１中の同期符号挿入位置にある同期符号以外の符号列を同期符号とのハミング距離が２×ｎ＋１以上離れるように変換する。具体的には、
０＜ total_len _ mod_sync_period≦sync_０_len −（２×ｎ＋１）
となる区間での“１”の数（＝ｎ０とする）を計数し、ｎ０が２×ｎ＋１未満であったら２×ｎ＋１−ｎ０ビットの“１”を多重化符号列２０１に挿入する。
【０１２８】
こうしてビット挿入が行われた後の符号列１２２２は、図１９の出力符号化装置と同様にフレームの最後の区間のビット挿入（図２０中ＳＴＵＦＦ）が行われ、出力符号列２０５として出力される。
【０１２９】
次に、本実施形態に係る動画像復号化装置について説明する。動画像復号化装置の全体構成は図２１の動画像復号化装置と同一であり、入力符号化装置８００の動作が第３の実施形態と異なる。
【０１３０】
図２４は入力復号化装置８００の構成を示すブロック図である。図２２の入力復号化装置と相対応する部分に同一の符号を付して第３の実施形態との差異を中心に説明するビット除去器１９０５が追加されている。
【０１３１】
入力符号列２０５′は、挿入ビット除去器１９０５に入力され、図２３の出力符号化装置のビット挿入器１２１１で挿入された疑似同期符号を防ぐための挿入ビットを取り除く処理を行う。前述のように、ビット挿入は同期符号挿入位置でのみ行われているため、計数器１９０２の計数値１９１１に基づいて同期符号挿入位置を判定する。
【０１３２】
例えば、同期符号が図５に示す符号語であるものとし、ビット挿入器１２１１において同期符号とのハミング距離が２×ｎ＋１以上離れるように同期符号の最初の“００００…”の部分にビット挿入が行われている場合には、同期符号挿入位置からsync_０_len −（２×ｎ＋１）ビットの“１”の数を計数し、ｎ０が２×ｎ＋１未満であったら２×ｎ＋１−ｎ０ビット削除する。
【０１３３】
ここで、挿入ビットは“１”と定められているため、挿入ビットと判定されたビットが“０”となっていたときは、同期符号挿入区間に誤りが混入したと考えられる。この場合は、図示しない誤り検出信号を逆多重化器８１１に出力し、第１の実施形態で述べたのと同様に、再生画像に大きな劣化が生じないような処理を行ってもよい。
【０１３４】
図２３のビット挿入器１２１１でのビット挿入処理は、同期符号以外の全ての同期符号挿入区間にあらかじめ定められたビット数の挿入ビットを挿入するようにしてもよい。２５はこのようなビット挿入処理を行ったときの出力符号列２０５の一例を示したものである。図中ＳＢが挿入されたビットを示している。
【０１３５】
例えば、同期符号が図５に示すようにsync_０_len ビットの“０”、１ビットの“１”および同期符号の種類を示すsync_nb_len ビットの“ｘｘｘｘｘ”からなる場合、同期符号挿入区間の最初からsync_０_len ビットの区間の予め定められた位置に１ビットの挿入ビットＳＢを挿入する。
【０１３６】
挿入ビットＳＢは、常に“１”としてもよい。また、同期符号挿入区間の最初からsync_０_len ビットの区間のビットパターンに応じて、その区間の“１”の数が１個以上となるように適応的に挿入ビットＳＢを決定してもよい。
【０１３７】
さらに、挿入ビットＳＢを同期符号挿入区間の最初からsync_０_len ビットの区間の奇パリティとすることにより、同期符号と同一のビットパターンの出現を避けると共に、このビットパターンに混入した誤りの検出をも行うことが可能である。
【０１３８】
図２５（ｂ）は、このようなビット挿入処理を行った出力符号列を示している。この例では、同期符号挿入位置から最初の部分に１ビットの挿入ビットＳＢを挿入している。この挿入ビットＳＢは、これと次のビットからsync_０_len −１ビットを合わせた区間の“１”の数が必ず奇数となるように決定する。例えば、図２５（ｂ）の左側の例では、挿入ビットＳＢは“１”となる。また、図２５  （ｂ）の右側の例では、挿入ビットＳＢの次のビットからsync_０_len −１ビットの区間が全て“０”であっても挿入ビットＳＢが“１”になるため、同期符号挿入区間に必ず１ビット以上の“１”が入ることになり、同期符号と同一のビットパターンは生じない。また、挿入ビットＳＢはパリティチェックビットとしても働くため、この区間に混入したビット誤りを検出することが可能である。
【０１３９】
また、挿入ビットＳＢを次の同期符号挿入位置までの全ビットの奇パリティチェックビットとしてもよい。但し、挿入ビットのＳＢ次のビットからsync_０_len −１ビットが全て“０”の場合のみ同期符号と同一のビットパターンの出現を避けるために、挿入ビットＳＢを必ず“１”とする。これにより、全ビットのパリティチェックによる誤り検出を行うことが可能である。
【０１４０】
誤りによる同期符号の誤検出の確率を低くするためには、より多くのビット数を挿入することが望ましい。例えば、ｎビットの誤りが入っても同期を正しく検出するためには、この区間の予め定められた位置に２×ｎ＋１ビットの“１”を挿入する。
【０１４１】
本実施形態では、上述のビット挿入器１２１１の動作に対応して、図２４のビット除去器１９０５の動作も異なったものになる。すなわち、ビット除去器１９０５ではビット挿入器１２１１でビット挿入を行った予め定められた位置の挿入ビットＳＢを削除する処理を行う。
【０１４２】
ここで、挿入ビットＳＢを常に“１”とした場合には、入力符号列２０５′中のビット挿入位置にあるビットが“０”であったときビット誤りと判定して、誤り検出信号（図示しない）を逆多重化器８１１に出力し、復号画像に大きな劣化を生じないようにするための処理を行ってもよい。
【０１４３】
第１〜第４の実施形態においては、多重化器１１１における多重化は図２のように予測モード情報３０３、動きベクトル情報３０４、および、残差ＤＣＴ計数３０５を符号化フレームを単位としてまとめて多重化する例を示したが、図２６のように符号化領域（例えばマクロブロック、ＧＯＢ等）単位に予測モード情報３０３、動きベクトル情報３０４、残差ＤＣＴ計数３０５をまとめるように多重化してもよい。この場合、ピクチャヘッダ３０２と、それ以外の情報とで異なる誤り訂正／検出符号を用いてもよいし、同一の誤り訂正／検出符号を用いてもよい。あるいは、ピクチャヘッダのみに誤り訂正／検出符号を用いてもよいし、各フレームの予め定められたビット数の一部の符号列に誤り訂正／検出符号を用いてもよいし、誤り訂正／検出符号を全く用いなくともよい。
【０１４４】
また、フレーム（ピクチャ）単位だけでなく、フレーム内の部分領域や、複数のフレームをまとめたレイヤ単位で多重化を行い、これらの多重化単位（レイヤ単位）毎に同期符号を挿入してもよい。
【０１４５】
図２８は、このような多重化の例を示したものである。この図２８の例では、複数の符号化ブロックをまとめたマクロブロック、複数のマクロブロックをまとめたＧＯＢ、ピクチャ（フレーム）、複数のピクチャをまとめたセッションの４つのレイヤ毎に多重化を行う。これらのうち、セッション、ピクチャ、ＧＯＢの各レイヤは、それぞれの同期符号（図中ＳＳＣ，ＳＥＣ，ＰＳＣ，ＧＳＣ）を用いる。ＳＳＣ，ＳＥＣ，ＰＳＣ，ＧＳＣにはそれぞれ異なる符号を用い、どのレイヤの同期符号が検出されたかを区別できるようにする。図５のような同期符号を用いる場合、同期符号の種類を示すsync_nb_len ビットの部分でこれらの同期符号の区別を行えばよい。
【０１４６】
このような多重化を行った場合も、セッション、ピクチャ、ＧＯＢの同期符号の一部ないしは全てに対して前述の実施形態におけるフレーム同期符号と同様の処理を行ってもよい。図２９は、このような処理を行った出力符号列の一例を示したものである。同図に示されるように、ＰＳＣ，ＧＳＣの前にスタッフィングビットＳＴＵＦＦが挿入されており、ＳＳＣ，ＰＳＣ，ＧＳＣは図中矢印の同期符号挿入位置に挿入されている。このため、前述の実施形態でフレーム同期符号ＰＳＣについて説明したのと同様に、各同期符号の検出精度が向上する。
【０１４７】
図１５、図１６および図１７のフレーム長情報ＰＯＩＮＴＥＲと同様の長さ情報をセッション、ピクチャ、ＧＯＢの各同期符号に付加することも可能である。図１５および図１６のように、フレーム長情報ＰＯＩＮＴＥＲに対して誤り訂正／検出符号による保護を行っている場合、フレーム長情報ＰＯＩＮＴＥＲのみでなく、同期符号の種類を示すsync_nb_len ビットの部分に対しても併せて誤り訂正／検出符号を用いることにより、同期符号の位置のみでなく、その種類も正しく検出できる確率が向上する。また、セッション、ピクチャ、ＧＯＢのヘッダ情報（図中ＳＨ，ＰＨ，ＧＦ）の一部または全部も併せて誤り訂正／検出符号を用いて保護を行ってもよく、これによって各ヘッダ情報の誤り耐性も向上する。
【０１４８】
本実施形態のように疑似同期符号を防止するためのスタッフィング処理を行う場合、以下のような処理を行って同期符号挿入間隔sync_periodを同期符号の長さ以下にすることも可能である。
【０１４９】
まず、動画像符号化装置の出力符号化装量における処理について説明する。ここで、同期符号は図５に示すようにsync_０_len ビットの“０”と１ビットの“１”からなる符号語とする。図２３の出力符号化装置において、ビット挿入器１２１１から出力したビット数を示す計数値１２２１を total_len とすれば、 total_len を同期符号挿入間隔sync_periodで除した剰余が、同期符号の最初の“０”のビット数sync_０_len から１を引いた値をsync_periodで除した剰余と一致したとき、すなわち、  
total_len mod sync_period  
＝（sync_０_len −１）mod sync_period            （１）  
となったとき、そのときの出力ビットから（sync_０_len −１）ビット前までの出力ビット中の“１”の数（ｎ１とする）を計数し、“１”が全くなかったら（すなわち、ｎ１＝０であったら）１ビットの“１”を挿入する。
【０１５０】
図３３（ａ）に、このような処理を行った出力符号列の例を示す。図中、下向きの矢印が同期符号挿入位置を示しており、同期符号は２３ビットの“０”（すなわち、sync_０_len ＝２３）と、１ビットの“１”からなる。図の例では同期符号挿入間隔sync_perod は同期符号の長さ（＝２４ビット）よりも短い８である。
【０１５１】
図中、区間１〜４は前述のｎ１を計数する区間を示している。各区間で順次  “１”の数ｎ１を計数し、ｎ１＝０であったらば、その区間の次のビットにスタッフィングビットを挿入する。区間１ではｎ１＞０なので、スタッフィングの必要はない。区間２ではｎ１＝０となるので、この区間の次に１ビットのスタッフィングビット３３０１を挿入する。区間３ではスタッフィング３３０１が挿入されたことにより、ｎ１＝１となるため、スタッフィングビットを挿入する必要はない。
【０１５２】
以上のようなビットスタッフィング処理を行うことにより、出力符号列中の同期符号以外の部分で同期符号と同一のビットパターンが無くなるため、疑似同期を生じることが無くなる。
【０１５３】
一方、伝送路誤りによる同期符号の誤検出の確率を低くするためには、以下のようにビット挿入を行えばよい。
【０１５４】
同期符号にｎビット誤りが混入した場合にも、同期符号を正しく検出するためには、ビット挿入１２１１において、出力符号列中の同期符号以外の部分と同期符号とのハミング距離が２×ｎ＋１以上になるようにビット挿入処理を行えばよい。
【０１５５】
これは、図２３における出力符号列２０５の総ビット数を示す計数値１２２１ total_len を同期符号挿入間隔sync_periodで除した剰余が、同期符号の最初の“０”のビット数sync_０_len から２×ｎ＋１を引いた値をsync_periodで除した剰余と一致したとき、すなわち、
total_len mod sync_period
＝（sync_０_len −（２×ｎ＋１))mod sync_period  （２）  
となったとき、そのときの出力ビットから（sync_０_len −（２×ｎ＋１))ビット前までの出力ビット中の“１”の数（ｎ１とする）を計数し、“１”の数が（２×ｎ＋１）未満、すなわち  
ｎ１＜２×ｎ＋１  
であったら、（２×ｎ＋１−ｎ１）ビット“１”を挿入する。
【０１５６】
図５に示したような複数ビットの“０”から始まる同期符号を用いる場合、同期符号の直前のビット列中の“１”の数が少ないとこの部分で同期誤検出が起こることがある。これを防ぐために、同期符号からその直前の同期符号挿入位置までのsync_periodビットの区間の“１”のビット数が２×ｎ＋１ビット以上になるように、フレームの最後の区間のビット挿入（図２０中、ＳＴＵＦＦ）を出力するようにしても良い。
【０１５７】
これには、必ず２×ｎ＋１ビット以上の“１”が含まれるＳＴＵＦＦを用いてもよいし、あるいは出力符号列に応じてＳＴＵＦＦを決定するようにしてもよい。すなわち、ＳＴＵＦＦを含めた出力狩号列中の、同期符号の直前のsync_periodビットの“１”のビット数が２×ｎ＋１ビット以上になるように、ＳＴＵＦＦを決定してもよい。
【０１５８】
図３３（ｂ）に、このような処理を行った出力符号列の例を示す。図中、区間１〜４は前述のｎ１を計数する区間を示している。各区聞で順次“１”の数をｎ１を計数し、ｎ１＜２×ｎ＋１であったらその区間の次のビットにスタッフィングビットを挿入する。区間２ではｎ１＝１となるので、この区間の次に（２×ｎ＋１）−１＝２ビットのスタッフィングビット３３１１を挿入する。区間３ではスタッフィング３３１１が挿入されたことによりｎ１＝３となるため、スタッフィングビットを挿入する必要は無い。
【０１５９】
さらに、同期符号の直前の部分での同期符号誤検出を防ぐために、以下のようにＳＴＵＦＦを決定する。ＳＴＵＦＦの直前のビットを３３１２とする。このビット３３１２の直前の同期符号挿入位置から直後の同期符号挿入位置までのsync_periodビット間（区間５）の“１”の数は１ビットしかないため、図５のような複数の“０”が連続する同期符号を用いる場合にはこの部分で同期誤検出を生じる可能性がある。このため、同期符号を挿入する位置を次の同期符号挿入位置までずらし、多くの“１”を含むＳＴＵＦＦ３３１３を出力する。これにより、同期符号の直前のsync_periodビット区間（区間６）には２×ｎ＋１ビット以上の“１”が含まれるようになるため、同期誤検出を防止することができる。
【０１６０】
以上のようなビットスタッフィング処理を行うことにより、出力符号列中の同期符号以外の部分で同期符号とのハミング距離を２×ｎ＋１以上にすることができるため、同期誤検出の確率が減少する。
【０１６１】
次に、動画像復号化装置の入力復号化装置における処理について説明する。図２４のビット除去器１９０５において、入力した符号列のビット数を示す計数値１９０５を total_len とすれば、 total_len が１の条件を満たす値になった時点で、そのときの入力ビットから（sync_０_len −１）ビット前までの入力ビット中の“１”の数（ｎ１とする）を計数し、“１”が全くなかったら、すなわち、ｎ１＝０であったら、１ビット削除する。
【０１６２】
同期符号にｎビット誤りが混入した場合にも同期符号を検出するために、ビット挿入器１２１１で出力符号列中の同期符号以外の部分と同期符号とのハミング距離力２×ｎ＋１以上になるようにビット挿入処理を行った場合には、次のような処理を行えばよい。 total_len が式（２）を満たす値になった時点で、そのときの入力ビットから（sync_０_len −（２×ｎ＋１））ビット前までの出力ビット中の“１”の数（ｎ１とする）を計数し、“１”の数が（２×ｎ＋１）未満、すなわち  
ｎ１＜（２×ｎ＋１）  
であったら（２×ｎ＋１−ｎ１）ビット削除する。
【０１６３】
出力符号化装置および入力復号化装置において以上のような処理を行って、同期符号挿入間隔sync_periodを同期符号の長さ以下の短いビット数とすることにより、スタッフィングブットＳＴＵＦＦのビット数が削減され、符号化効率力が向上する。特に、同期符号の長さが長い場合や、多くの同期符号が挿入される場合には、このスタッフィングビットＳＴＵＦＦのビット数削減による符号化効率向上の度合いが大きい。例えば、動画像符号化におけるＧＯＢ／スライスのように、画面を１ないし複数のマクロブロック、あるいはマクロブロックライン毎に区切り、その単位毎に同期符号を挿入する方式においては、多くの同期符号が挿入されるため、ＳＴＵＦＦのビット数削減による符号化効率の度合いがより大きくなる。
【０１６４】
また、図２８のように複数のレイヤ構造の多重化を行う場合には、レイヤに応じで異なる長さの同期符号を用いるようにしても良い。
【０１６５】
図３４（ａ）は、このような同期符号の例を示したものである。４種類の同期符号のうち、ＳＳＣ，ＳＥＣ，ＰＳＣはいずれも２３ビットの“０”、１ビットの“１”、および同期符号の種類を示す８ビットの合計３２ビットからなる。一方、ＧＯＢレイヤの同期符号ＧＳＣは、１６ビットの“０”と１ビットの“１”からなる１７ビットの同期符号であり、他の同期符号より短い符号語である。
【０１６６】
このようにＧＳＣのみを短い符号語としたのは、ＧＯＢは１ないし複数のマクロブロック（ＭＢ）からなる、画面内を小領域に区切った符号化単位であることから、一般にＧＯＢレイヤの同期符号は他の同期符号に比べて数が多く、同期符号語長を短くすることで、出力符号列の符号量を削減することができるためである。また、このようにすると、同じ符号量ならばより多くのＧＳＣを出力することができ、画面内をより細かなＧＯＢ領域に区切って符号化することが可能になるため、伝送路誤りが発生したときの再生画像の品質が向上する。
【０１６７】
第４の実施形態で説明したような疑似同期を防止するための処理、すなわち、同期符号以外の符号列中に同期符号と同一のビットパターンを生じないようにするビットスタッフィング処埋を行うようにしてもよい。伝送路誤りによる同期符号の誤検出の確率を低くするためのビットスタッフィング処理、例えば、ビット長の長い同期符号（図３４（ａ）の例ではＳＳＣ，ＳＥＣ，ＰＳＣ）と同一のビットパターンが生じないことだけが保証されているビット列に対しても、最も短い同期符号（図３４（ａ）の例ではＧＳＣ）と同一のパターンが生じないようにビットスタッフィング処理を行えば、全ての同期符号と同一のビットパターンが生じないようにすることができる。この処理は、全レイヤの符号列に対して行ってもよいし、最も短い符号を用いるレイヤより下位のレイヤ（図の例ではＧＯＢレイヤ、マクロブロックレイヤ）の符号列に対して行ってもよいし、そのレイヤよりも一つ上のレイヤ以下のレイヤ（ピクチャレイヤ、ＧＯＢレイヤ、マクロブロックレイヤ）の符号列に対して行ってもよい。さらに、この処理を予め定められたレイヤの符号列に対してのみ行ってもよい。
【０１６８】
伝送路誤りが生じても長さの異なる同期符号同土を識別しやすくするために、同期符号語およびその前後の処理を以下のようにしてもよい。
【０１６９】
(i) 複数ビットの“０”と、それに続く“１”からなる同期符号を用いる場合には、長い符号語と短い符号語で、この“１”の同期符号挿入位置から見た相対位置が異なるようにしてもよい。図３４（ｂ）の例では、ＰＳＣの“１”３４１１と、ＧＳＣの“１”３４１２は異なる位置にあり、別の同期符号中の同位量のビット（３４１１に対する３４１３、および３４１２に対する３４１４）はいずれも“０”である。このようにする事によリ同期符号およびその部分列のハミング距離が大きくなるため、伝送路誤りが生じても異なる同期符号同士を識別しやすくなる。
【０１７０】
(ii)長さの短い同期符号の前にスタッフィングビットを挿入しても良い。例えば、図中３４０１のように長さの短いＧＳＣの前に１ないし複数の“１”からなるスタッフィングビット３４０１を挿入することにより、ＯＳＣと他の同期符号の部分列とのハミング距離を大きくすることができる。
【０１７１】
(iii) 長さの短い同期符号の後ろにスタッフィングビットを挿入してもよい。例えば、長い同期符号中の同期符号の種類を識別する部分とのハミング距離が大きくなるように、ＧＳＣの後ろにビット挿入３４０２を行ってもよい。
【０１７２】
（第５の実施形態）  
次に、本発明に係る第５の実施形態について説明する。  
本実施形態による動画像符号化装置および動画像復号化装置の全体の構成は第１の実施形態と同様であり、出力符号化装置２００および入力復号化装置８００の１同期区間の最初および最後の部分での処理がこれまでの実施形態と異なっている。
【０１７３】
図２７（ａ）（ｂ）（ｃ）は、本実施形態における動画像符号化装置からの出力符号列２０５の一例を示す図である。この出力符号列２０５は、同期符号ＰＳＣの後に前フレーム（フレームｎ−１）の符号列の一部２７０１が入っており、この符号列２７０１と現フレーム（ｎフレーム）の符号列との境界２７０３（現フレームの符号列のスタートポイント）、言い換えれば多重化符号列の境界を示すポインタ情報２７０２（ＳＡ）があり、これに伴い１フレームの最後のスタッフィングビット（図４中ＳＴＵＦＦ）が無くなっていることが図４の出力符号列と異なっている。
【０１７４】
動画像符号化装置内の出力符号化装置２００においては、各同期符号挿入位置においてそのフレームの残りの符号列のビット数 resid_bit をチェックする。 resid_bit と同期符号ＰＳＣとポインタ情報ＳＡのビット数の和が同期符号挿入間隔sync_periodビットよりも少ない場合には、そのフレームの残りの符号列を出力符号列２０５中に出力する前に、同期符号ＰＳＣを出力する。次に、ポインタ情報ＳＡ（この場合、 resid_bit を表す）を出力し、その後に残りの符号列２７０１を出力する。その後、次のフレームの符号列を出力していく。
【０１７５】
動画像復号化装置内の入力符号化装置８００においては、各同期符号挿入位置において同期符号の検出を行い、同期符号が検出された場合にはその後ろにポインタ情報ＳＡとフレームの残りの情報が続いているものとして処理を行う。
【０１７６】
図２７中のフレームｎ−１とフレームｎの境界部を例に説明すると、同期符号ＰＳＣの直前２７０４までの復号処理を終えた後、その後ろの同期符号挿入区間で同期符号を検出し、同期符号が検出された場合には、次にポインタ情報２７０２の復号化し、フレームｎ−１の符号列があと何ビットあるかを求める。これを基にして、ポインタ情報の直後の符号列からポインタ情報で示されるビット数を取り出し（図２７中２７０３まで）、これが２７０４に続くものとして符号列８０１を出力する。その後ろの符号列（図２７中２７０３から）は次のフレーム、すなわちフレームｎとして処理を行う。
【０１７７】
本実施形態においては、図２７（ａ）に示すように出力符号列の一部または全てに対して誤り訂正／検出符号化を行ってもよい。この場合、誤り訂正／検出符号の種類は全て同じでもよいし、異なるものを用いてもよい。
【０１７８】
また、図２７（ｂ）に示すように、誤り訂正／検出符号化を行わないようにしてもよい。
【０１７９】
さらに、図２７（ｃ）のように、図１５や図１６に示したような１フレームの符号列ビット数を示すフレーム長情報ＰＯＩＮＴＥＲを挿入してもよい。この場合、フレーム長情報ＰＯＩＮＴＥＲは、そのフレームの同期符号ＰＳＣから次のフレームの同期符号ＰＳＣまでのビット数を表すようにしてもよい。
【０１８０】
図２７（ａ）のように誤り訂正／検出符号化を行う場合、同期符号ＰＳＣから次の検査ビットＣＨＫまでの部分の誤り訂正／検出符号化は、ポインタ情報ＳＡ、フレームｎ−１の残りの符号列２７０１および、２７０３以降のフレームｎの符号列をまとめてひとつの情報ビットとして誤り訂正／検出符号を行う。
【０１８１】
ポインタ情報ＳＡは誤り訂正／検出符号化を行った情報としてもよい。この場合、同期符号ＰＳＣ（あるいはその一部）、フレーム長情報ＰＯＩＮＴＥＲとポインタ情報を合わせて誤り訂正／検出符号化を行うようにしてもよい。
【０１８２】
次に、スタッフィングビットＳＴＵＦＦの具体例を説明する。
【０１８３】
図３０（ａ）（ｂ）は、上述したスタッフィングビットＳＴＵＦＦの具体例としてのスタッフィングビットＳＴＵＦＦの符号表の例を示した図である。図３０（ａ）（ｂ）のいずれも、出力符号列の逆方向から一意に復号できることが特徴であり、これによってスタッフィングビットＳＴＵＦＦの開始位置を一意に特定できる。従って、スタッフィングビットＳＴＵＦＦの直前の符号列の復号終了位置と、スタッフィングビットＳＴＵＦＦの開始位置を比較することにより、符号列中に混入した誤りを検出できると共に、同期符号から逆方向に復号を行う符号化方式に用いた場合に逆方向復号の開始地点を特定することができる。
【０１８４】
さらに、図３０（ａ）（ｂ）の符号表に示すスタッフィングビットＳＴＵＦＦは、その最初のビットが必ず“０”になっており、後述のような簡易的な復号による誤り検出が可能である。
【０１８５】
図３１は、図３０（ａ）（ｂ）の符号表に示したスタッフィングビットＳＴＵＦＦを含む符号列の復号処理の例を示したものである。図３１では、同期符号挿入位置の直前のスタッフィングビットの例を示しているが、これ以外の任意の同期符号挿入位置の直前にスタッフィングビットビットを挿入して同様の処理を行うことも可能である。図３１中、矢印３１０１〜３１０３は順方向に復号化を行った場合のスタッフィングビットＳＴＵＦＦの直前の符号列（“×××…”で示す）の復号終了位置の例であり、矢印の右端が復号終了位置を表す。符号列に誤りが混入しておらず、正常に復号化が行われた場合には、矢印３１０１のようにスタッフィングビットＳＴＵＦＦの直前の符号列の復号終了位置とスタッフィングビットＳＴＵＦＦの開始位置は一致する。
【０１８６】
一方、符号列に誤りが混入した場合には、スタッフィングビットＳＴＵＦＦの直前の符号列の復号終了位置は矢印３１０２、３１０３のようにスタッフィングビットＳＴＵＦＦの開始位置とずれる。このような場合には、符号列に誤りがあったと判定する。
【０１８７】
復号化装置においては、スタッフィングビットＳＴＵＦＦの直前の符号列の復号化が終了すると、次の同期符号挿入位置までスタッフィングビットＳＴＵＦＦを読み込み、それが図３０（ａ）（ｂ）に示した符号表の符号に合致するかどうかを判定する。もし、スタッフィングビットＳＴＵＦＦが符号表のいずれの符号にも合致しない場合は、誤りがあったと判定する。
【０１８８】
スタッフィングビットＳＴＵＦＦと符号表との合致を判定する場合、少数のビットの誤りを許容するようにしてもよい。こうすることにより、スタッフィングビットＳＴＵＦＦそのものに誤りが入った場合の誤りの誤検出を低減することができる。
【０１８９】
図３０（ａ）の符号表は、必ず“０”で始まり後続のビットが“１”である。従って、スタッフィングビットＳＴＵＦＦの直前の符号列の復号終了位置の次のビットが“０”であるか否かだけを判定して誤り検出を行ってもよいし、あるいは、最初の“０”と後続のいくつかの“１”のみから誤り検出を行ってもよい。このようにすると、誤り検出精度は若干低下するものの、復号化に要する処理量が削減される。このように全てのスタッフィングビットＳＴＵＦＦが特定のビットないしは複数ビットからなる特定のビットパターンから始まる符号表を用いる場合には、復号化処理の簡略化を図ることができる。
【０１９０】
さらに、図３０（ａ）（ｂ）の符号表に示されるスタッフィングビットＳＴＵＦＦは、“１”のビットを多く含んでおり、図５のように“０”が多く含まれる同期符号およびその一部分とのハミング距離が離れているため、疑似同期が発生する確率が低いという利点がある。具体的には、図３０（ａ）の符号表ではスタッフィングビットＳＴＵＦＦの最初のビットのみが全て“０”で、それ以外のビットは全て“１”であるため、オール“０”である同期符号およびその一部とのハミング距離は（スタッフィングビットＳＴＵＦＦの長さ−１）となる。また、図３０（ｂ）の符号表ではスタッフィングビットＳＴＵＦＦの最初と最後のビットのみが“０”で、それ以外のビットは全て“１”であるため、同期符号およびその一部とのハミング距離は（スタッフィングビットＳＴＵＦＦの長さ−２）となる。このようにスタッフィングビットＳＴＵＦＦと同期符号およびその一部分とのハミング距離を所定値以上、例えば（スタッフィングビットＳＴＵＦＦの長さ−２）以上に選ぶことにより、符号列に誤りが混入しても疑似同期符号が発生しにくい。
【０１９１】
この効果について、図３２を用いて説明する。図３２（ａ−０）、（ｂ−０）はそれぞれ通常のスタッフィングビット（全てのビットが“０”）および図３０（ａ）の符号表に示すスタッフィングビットＳＴＵＦＦを用いたときの符号列の例を示したものであり、（ａ−１）、（ｂ−１）はそれぞれ（ａ−０）、（ｂ−０）に１ビットの誤りが混入したときの例を示したものである。図３２（ａ−１）から分かるように、全てのビットが“０”である通常のスタッフィングビットでは１ビットの誤りが混入しただけで、（ａ−１）の破線で示すように同期符号と同一のビットパターンが生じるため、疑似同期が発生してしまう。これに対し、図３０（ａ）の符号表に示すスタッフィングビットＳＴＵＦＦは、図３２（ｂ−２）に示すように誤りが混入しても同期符号と同一のパターンにならないため、疑似同期が発生しない。
【０１９２】
このように本実施形態によるスタッフィングビットは、符号列の誤りを容易に検出できると共に、符号列に誤りが混入しても疑似同期符号が発生しにくく、強い誤り耐性を持つという利点がある。
【０１９３】
また、本実施形態によるスタッフィングビットは逆方向から一意に復号が可能であり、その開始位置すなわちスタッフィングビットビットＳＴＵＦＦの直前の符号列の終了位置を特定できるため、情報符号列が順方向からも逆方向からも復号可能な符号語の場合、図３１の矢印３１０４で示すようにＳＴＵＦＦの直前の符号列を逆方向から復号することができる。
【０１９４】
上述の実施形態において、スタッフィングビットＳＴＵＦＦは、以下のように定めてもよい。
【０１９５】
（１）同期符号に図５に示したようにsync_０_len ビットの“０”が含まれる場合、スタッフィングビットＳＴＵＦＦの全てないしは少なくとも同期符号挿入位置の全ビットを“１”とすることにより、同期符号の“０”の部分とスタッフィングビットＳＴＵＦＦのハミング距離を離すことができる。従って、このようにすることにより、スタッフィングビットＳＴＵＦＦに誤りが混入して擬似同期が発生する確率を減少させることができる。
【０１９６】
（２）スタッフィングビットＳＴＵＦＦは、その長さを表す符号語としてもよい。復号化装置において、スタッフィングビットＳＴＵＦＦ以外の符号列の復号が終了した地点より、ＳＴＵＦＦの長さを判定すると共に、ＳＴＵＦＦの復号を行ってＳＴＵＦＦの長さ情報を復号する。この場合、もし両者が一致しなかった場合には符号列中に誤りが混入したと判定することができる。
【０１９７】
また、スタッフィングビットＳＴＵＦＦの符号語は、その長さを２進数表現したものでもよい。例えば、ＳＴＵＦＦが５ビットの場合、“５”を２進数表現した“００１０１”としてもよい。あるいは、２進数表現したものの“１”の補数や“２”の補数をとった値をスタッフィングビットＳＴＵＦＦの符号語としてもよく、それによりＳＴＵＦＦ中の“０”のビットの数が減少するため、（１）で述べたのと同様に擬似同期の発生を抑えることができる。
【０１９８】
（３）順方向だけでなく、逆方向からも復号可能な符号語を用いて符号化を行った場合、復号装置においてフレームの終了地点からスタッフィングビットＳＴＵＦＦを逆方向に復号して、その開始地点（ＳＴＵＦＦと他の符号語との境界地点）を知る必要がある。そのような場合には、例えばＳＴＵＦＦを“０１１１１１１１”のように、１ビットないしは複数ビットの“０”で始まり残りが“１”の符号語として定めればよい。これにより、ＳＴＵＦＦを逆方向から復号して  “０”がある位置を探せば、その地点をＳＴＵＦＦの開始地点と一意に判定することができる。また、この例ではスタッフィングビットＳＴＵＦＦの最初の部分以外のビットは“１”であり、（１）で述べたと同様に擬似同期が発生する確率が減少する。
【０１９９】
（４）スタッフィングビットＳＴＵＦＦは出力符号列の一部または全てのビットの誤り訂正／検出符号の検査ビットや、パリティチェックビット等としてもよい。これにより、出力符号列中に混入したビット誤りの訂正／検出を行うことが可能である。
【０２００】
以上の例のように、スタッフィングビットＳＴＵＦＦを予め定められた規則に従って生成することにより、復号装置において入力符号列中のスタッフィング誤ットＳＴＵＦＦをその生成規則と照合し、もしその生成規則に反すると判定された場合には、入力符号列中に誤りが混入したと判定することが可能である。これにより、動画像復号化装置において再生画像に大きな劣化が生じないような処理を行って、入力符号列中に誤りが混入したときの再生画像の品質を向上させることができる。
【０２０１】
さらに、上記実施形態において同期符号挿入間隔sync_periodは、以下のように定めてもよい。
【０２０２】
（１）誤り訂正／検出符号を用いる場合、同期符号挿入間隔sync_periodは復号化装置で同期検出を行う最小のビット数、すなわち同期符号の長さと誤り訂正／検出符号の検査ビットの最大値の和以上にとれば十分である。フレームの最後のスタッフィングビットＳＴＵＦＦのビット数の平均値はsync_period／２であるので、sync_periodをこの同期検出可能な最小ビットにとることにより、スタッフィングビットＳＴＵＦＦのビット数が削減され、符号化効率が向上する。
【０２０３】
（２）誤り訂正／検出符号を用いない場合、同期符号挿入間隔sync_periodは復号化装置で同期検出を行う最小のビット数、すなわち同期符号の長さ以上あれば十分である。フレームの最後のスタッフィングビットＳＴＵＦＦのビット数の平均はsync_period／２であるので、sync_periodをこの同期検出可能な最小ビットにとることにより、スタッフィングビットＳＴＵＦＦのビット数が削減され、符号化効率が向上する。
【０２０４】
（３）図１５、図１６、図１７および図２７に示されるように、フレーム長情報ＰＯＩＮＴＥＲを用いる場合には、同期符号挿入間隔sync_periodを同期符号の長さより短くしてもよい。これにより、スタッフィングビットＳＴＵＦＦのビット数が削減され、符号化効率が向上する。
【０２０５】
（４）伝送路や蓄積媒体において定められた間隔のパケットやセルに区切って伝送／蓄積を行う場合、同期符号挿入間隔sync_periodをパケットやセルの間隔に合わせるか、その間隔の約数になるようにしてもよい。これにより、パケットやセルの先頭は必ず同期符号挿入位置になるため、パケットロスやセルロスによりパケットやセルが起きた場合にも同期符号を検出することが可能である。
【０２０６】
（５）同期符号挿入間隔sync_periodは、１フレームの最小必要ビット数より短くすることが好ましい。これにより、スタッフィングビットＳＴＵＦＦのビット数が削減され、符号化効率が向上する。
【０２０７】
（第６の実施形態）  
次に、本発明に係る第６の実施形態について説明する。  
図３５は、本実施形態における動画像符号化装置の出力符号列の一例を示す図である。この出力符号列では、誤りによる同期符号の誤検出確率を低くするために、前述の実旅例で述べたようなビット挿入処理を行っている。また、予め定められた位置、あるいは同期符号から相対的にみて予め定められた位置に、ヘッダ情報等の情報が入っている。
【０２０８】
図３５の（ａ）はビット挿入処理を行う前の符号列であり、（ｂ）はビット挿入処理を行った後の出力符号列である。図中、斜線の部分３２０１，３２０２，３２６１，３２６２が定められた位量（同期符号から相対的に見て定められた位置）に入れる情報であり、白抜きの矢印３２１１、３２１２がその情報を入れる位置である。図３５（ｂ）中の符号列の情報３２６１、３２６２が（ａ）の符号列の情報３２０１、３２０２にそれぞれ相当し、場合によっては符号列（ａ）から符号列（ｂ）への変換に際して、これらの情報に対しても変換（すなわち、情報３２０１から情報３２６１への変換および情報３２０２から情報３２６２への変換）が施されることがある。
【０２０９】
図３５（ｂ）中の３２０３は、ビット挿入処理によって挿入されたビットである。このビット挿入処理により、挿入ビットに後続するビット列は後方にずれてしまうため、定められた位置に入れる情報が定位置に入るように、その情報直前の符号列の一部を後方に移す処理を行う。例えば、情報３２０１の一つ前の同期符号３２０５からの挿入ビットの数の合計をＮs1とすれば、情報３２０１の直前の図３５（ａ）中の記号３２２１に示すＮs1ビットを情報３２０１の直後の図３５（ｂ）中の記号３２３１の部分に移せばよい。
【０２１０】
情報３２０１，３２０２中に、符号列中の特定の位置を示すポインタ等の情報が含まれている場合には、これを変換する処理を行ってもよい。具体的には、例えば情報３２０１中に矢印３２４１で示す位置を示す情報が含まれている場合、この位置よりも挿入ビットの数Ｎs1だけ後ろの矢印３２５１で示す位置を指すように、情報３２６１中の位置を示す情報を変換するようにする。
【図面の簡単な説明】
【０２１１】
【図１】本発明の第１および第２の実施形態に係る動画像符号化装置の構成を示すブロック図
【図２】図１の動画像符号化装置における多重化器での多重化の規則を示す図
【図３】図１の動画像符号化装置における出力符号化装置の構成を示すブロック図
【図４】図１の動画像符号化装置からの出力符号列の例を示す図
【図５】同期符号の例を示す図
【図６】図３の出力符号化装置における誤り訂正／検出切替符号化部の構成を示すブロック図
【図７】図３の出力符号化装置における符号列組立器の構成を示すブロック図
【図８】本発明の第１および第２の実施形態に係る動画像復号化装置の構成を示すブロック図
【図９】図８の動画像復号化装置における入力復号化装置の構成を示すブロック図
【図１０】図９の入力復号化装置における符号列分解器の構成を示すブロック図
【図１１】従来の誤り訂正／検出符号切替符号化装置で得られる符号列の例を示す図
【図１２】本発明の第２の実施形態を説明するための伝送路のビット付加／消失によって誤りが生じた同期符号の例を示す図
【図１３】第２の実施形態における図３中のビット挿入器の動作を説明するための図
【図１４】第２の実施形態における図９中の同期検出器および挿入ビット除去器の動作を説明するための図
【図１５】第１および第２の実施形態においてフレーム長情報を用いて同期保護を行うようにした符号列の例を示す図
【図１６】第１および第２の実施形態においてフレーム長情報を用いて同期保護を行うようにした符号列の他の例を示す図
【図１７】第１および第２の実施形態においてフレーム長情報を用いて同期保護を行うようにした符号列のさらに別の例を示す図
【図１８】本発明の第３および第４の実施形態に係る動画像符号化装置の構成を示すブロック図
【図１９】本発明の第３の実施形態に係る動画像符号化装置の出力符号化装置の構成を示すブロック図
【図２０】本発明の第３の実施形態に係る動画像符号化装置からの出力符号列の例を示すブロック図
【図２１】本発明の第３および第４の実施形態に係る動画像復号化装置の構成を示すブロック図
【図２２】本発明の第３の実施形態に係る動画像復号化装置の入力復号化装置の構成を示すブロック図
【図２３】本発明の第４の実施形態に係る動画像符号化装置の出力符号化装置の構成を示すブロック図
【図２４】本発明の第４の実施形態に係る動画像復号化装置の入力復号化装置の構成を示すブロック図
【図２５】本発明の第４の実施形態に係る動画像符号化装置からの出力符号列の例を示すブロック図
【図２６】動画像符号化装置における多重化器での多重化の規則を示す図
【図２７】本発明の第５の実施形態に係る動画像符号化装置からの出力符号列の例を示すブロック図
【図２８】動画像符号化装置における多重化器での多重化の他の例を示す図
【図２９】図２８で示される多重化を行った場合の各同期符号に対して処理を行った出力符号列を示す図
【図３０】本発明で用いるスタッフィングビットの例を説明するための符号表を示す図
【図３１】図３０のスタッフィングビットを用いた場合の復号化装置の処理を説明するための図
【図３２】図３０のスタッフィングビットの特徴を説明するための図
【図３３】同期符号挿入間隔を同期符号より短くした場合の出力符号列の例を示す図
【図３４】異なる長さの同期符号を用いる例を示す図
【図３５】本発明の第６の実施形態に係る動画像符号化装置からの出力符号列を示す図
【符号の説明】
【０２１２】
１０１…動き補償適応予測器
１０２…フレームメモリ
１０４…離散コサイン変換器
１０５…量子化器
１０７…逆量子化器
１０８…逆離散コサイン変換器
１１１…多重化器
１３１…入力動画像信号
２００…出力符号化装置
２０１…多重化符号列
２０５…出力符号列
３０１…同期符号
３０２…ピクチャヘッダ
３０３…予測モード情報
３０４…動きベクトル情報
３０５…予測残差信号のＤＣＴ係数
４０２…同期符号挿入位置
２１２…ビット挿入器
２１１…符号列組立器
６０３…ラッチ回路
６０４…誤り訂正／検出符号化器
７０１…カウンタ
７０２…バッファ
７０５…挿入ビット発生器
８０１…動き補償適応予測器
８２０…フレームメモリ
８０７…逆量子化器
８０８…逆離散コサイン変換器
８１１…逆多重化器
８００…入力復号化装置
８５０…再生画像信号
９０１，１９０１…同期符号検出器
９０２，１９０２…カウンタ
９０３…符号列分解器
９０４…誤り訂正／検出符号復号化器
９０５，１９０５…挿入ビット除去器
１００５…カウンタ
１００６…比較器
１０１５…挿入ビット発生器
１１０１〜１１０４…ヘッダ情報
１２１１…ビット挿入器
【図１】
0003631488.tif 000002
【図２】
0003631488.tif 000003
【図３】
0003631488.tif 000004
【図４】
0003631488.tif 000005
【図５】
0003631488.tif 000006
【図６】
0003631488.tif 000007
【図７】
0003631488.tif 000008
【図８】
0003631488.tif 000009
【図９】
0003631488.tif 000010
【図１０】
0003631488.tif 000011
【図１１】
0003631488.tif 000012
【図１２】
0003631488.tif 000013
【図１３】
0003631488.tif 000014
【図１４】
0003631488.tif 000015
【図１５】
0003631488.tif 000016
【図１６】
0003631488.tif 000017
【図１７】
0003631488.tif 000018
【図１８】
0003631488.tif 000019
【図１９】
0003631488.tif 000020
【図２０】
0003631488.tif 000021
【図２１】
0003631488.tif 000022
【図２２】
0003631488.tif 000023
【図２３】
0003631488.tif 000024
【図２４】
0003631488.tif 000025
【図２５】
0003631488.tif 000026
【図２６】
0003631488.tif 000027
【図２７】
0003631488.tif 000028
【図２８】
0003631488.tif 000029
【図２９】
0003631488.tif 000030
【図３０】
0003631488.tif 000031
【図３１】
0003631488.tif 000032
【図３２】
0003631488.tif 000033
【図３３】
0003631488.tif 000034
【図３４】
0003631488.tif 000035
【図３５】
0003631488.tif 000036