(57)【要約】【課題】復号時に誤りが生じて可変長符号の同期を喪失しても、できるだけ復号画像の画質を向上できる動画像符号化方法及び動画像復号方法を提供する。【解決手段】動画像符号化側では、可変長符号化する全てのデータ種類に対し、自己同期回復機能を持つ可変長符号を用いて符号化する。復号側では、自己同期回復機能を持つ可変長符号を用いて符号化されている到来した符号化データを復号する。ここで、１画像を構成する階層的な領域を規定する開始符号などの同期喪失したデータ部分の終端などを復号側で認識できる情報も、符号化側からの出力符号化データに含めておく。【選択図】　　　図１３
2004056806.tif 000002
【特許請求の範囲】
【請求項１】
動画像の所定の処理単位に関する複数種類のデータを所定の符号化ルールに従って符号化してシリアルに出力するものであって、上記所定の処理単位は階層的に領域分割されており、最下位階層以外の各階層について見れば、その階層に特有な種類の符号化データと、直下の階層の各領域の符号化データ群とを含む構造を有する出力符号化データを形成する動画像符号化方法において、
上記符号化対象のデータは、固定長符号化対象の１又は複数のデータ種類と、可変長符号化対象の複数のデータ種類とに分かれ、
可変長符号化対象の全種類のデータを、自己同期回復機能を持つ可変長符号を規定している単一の可変長符号化テーブルを適用して符号化し、
領域によって符号化データを形成することもあれば形成しないこともある所定の階層に対する、上位階層の領域毎に、領域開始符号を出力符号化データに含め、
上記所定の階層の各領域の終端を示す領域終了符号として１個の可変長符号語を独立して割当て、各領域の符号化データの終わりに挿入することを特徴とする動画像符号化方法。
【請求項２】
動画像の所定の処理単位に関する複数種類のデータを所定の符号化ルールに従って符号化してシリアルに出力するものであって、上記所定の処理単位は階層的に領域分割されており、最下位階層以外の各階層について見れば、その階層に特有な種類の符号化データと、直下の階層の各領域の符号化データ群とを含む構造を有する出力符号化データを形成する動画像符号化方法において、
上記符号化対象のデータは、固定長符号化対象の１又は複数のデータ種類と、可変長符号化対象の複数のデータ種類とに分かれ、
可変長符号化対象の全種類のデータを、自己同期回復機能を持つ可変長符号を規定している単一の可変長符号化テーブルを適用して符号化し、
領域によって符号化データを形成することもあれば形成しないこともある所定の階層に対する、上位階層の領域毎に、領域開始符号を出力符号化データに含め、
上記上位階層の１個の領域に属する、上記所定の階層の全ての領域のヘッダ情報の符号化データをまとめて、それら各領域のヘッダ情報以外のデータの符号化データの先頭に付加することを特徴とする動画像符号化方法。
【請求項３】
請求項２に記載の動画像符号化方法において、
上記所定の階層の全ての領域のヘッダ情報の符号化データを、領域に対する所定の順番で出力符号化データに含めると共に、上記所定の階層の全ての領域のヘッダ情報以外のデータの符号化データを、領域に対する上記所定の順番の逆の順番で出力符号化データに含めることを特徴とする動画像符号化方法。
【請求項４】
上記可変長符号化テーブルが規定している可変長符号語の中には、異なる種類の複数のデータに対応付けられているものが存在することを特徴とする請求項１〜３のいずれかに記載の動画像符号化方法。
【請求項５】
１個の可変長符号語に独立してエスケープコードを割り当て、所定種類の固定長符号化データの直前にエスケープコードを付与することを特徴とする請求項１〜４のいずれかに記載の動画像符号化方法。
【請求項６】
請求項１〜５のいずれかに記載の動画像符号化方法で符号化された、処理単位毎の符号化データ系列を復号する動画像復号方法において、
入力された符号化データ系列に誤りが生じた場合に、誤りが生じた符号化データ以降の符号語を切り出してメモリに記憶させ、現在対象となっている処理単位の符号化データ系列内で同期を回復してから、次の処理単位の符号化データ系列の直前までの符号化データ系列を復号することを特徴とする動画像復号方法。
【請求項７】
請求項１に記載の動画像符号化方法で符号化された、処理単位毎の符号化データ系列を復号する動画像復号方法において、
入力された符号化データ系列に誤りが生じた場合に、誤りが生じた符号化データ以降の符号語を切り出してメモリに記憶させ、
メモリに格納されている符号語の中から領域終了符号を検出して、その領域終了符号以降の領域の符号化データを復号することを繰返し実行することを特徴とする動画像復号方法。
【請求項８】
請求項２又は３に記載の動画像符号化方法で符号化された、処理単位毎の符号化データ系列を復号する動画像復号方法において、
入力された符号化データ系列に誤りが生じた場合に、誤りが生じた符号化データ以降の符号語を切り出してメモリに記憶させ、
入力された符号化データ系列に誤りが生じると、先に復号した領域のヘッダ情報に従って、メモリに格納されているヘッダ情報以外の符号化データを復号することを特徴とする動画像復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像を圧縮符号化、復号する動画像符号化方法及び動画像復号方法に関するものである。
【０００２】
【従来の技術】
デジタル通信において、動画像などの膨大な情報量を持つデータを送信しようとする場合には、データは情報圧縮を施され、冗長を削られる。しかし、動画像圧縮データに誤りが生じた場合には、たとえ誤っている部分が一部分だけであったとしても、そのまま復号を続けていくことが困難であり、誤りが生じた時点以降の誤りのないデータでさえも捨てざるを得ない。実際、文献（１）で規定されているような動画像符号化・復号方法において、誤りが生じた場合には、次のフレームの先頭を表すためのフレーム開始符号を検索し、誤りが生じてから検出されたフレーム開始符号までの間のデータは捨てられてしまう。動画像圧縮符号化データは、時間的に前のフレームとの差分をとって符号化されていることが多く、誤りにより捨てられたデータにより影響を受けて、誤りは後のフレームに伝搬していくことが予想される。捨てられるデータを少しでも減少させることが、復号された画像データの信頼性を向上させるための重要な課題である。
【０００３】
文献（１）：『ＴＴＣ標準（高位レイヤプロトコル符号化方式）ＪＴ−Ｈ．２６１勧告』
文献（１）で規定されている符号器・復号器の構成を図２に示す。動画像の原データであるビデオ信号は、世界共通の中間フォーマット（ＣＩＦ、ＱＣＩＦ）で表されており、この動画像データ（１ピックチャー分；１フレーム分）を符号化する場合には、図３（ａ）に示すように、グループオブブロック（以下、ＧＯＢ（ｇｒｏｕｐ　ｏｆ　ｂｌｏｃｋ）と略称する）、マクロブロック（Ｍａｃｒｏｂｌｏｃｋ）、８×８画素のブロック（Ｂｌｏｃｋ　）に階層的に分割する。
【０００４】
図２（ａ）に示す符号器で符号化を行なう場合、ビデオ信号を入力とし、情報源符号器２０１で情報源符号化される。情報源符号器２０１では、まずマクロブロック毎に動き補償フレーム間予測を行ない、次に、その予測誤差をブロック毎に直交変換した後に量子化する。予測は通常フレーム間で行なわれるが、シーンチェンジのときなどは、動画像の原データがそのまま直交変換される。動き補償フレーム間予測誤差を直交変換するか又は動画像の原データをそのまま直交変換するかの判断は、例えば予測誤差データと原データとの分散値を比較することにより決定される。直交変換には、離散コサイン変換（ＤＣＴ；Ｄｉｓｃｒｅｔｅ　Ｃｏｓｉｎｅ　Ｔｒａｎｓｆｏｒｍ　）が用いられ、画素領域の表現から周波数領域の表現に変換する。周波数領域の表現に変換され量子化されたデータは、ビデオ信号多重化符号器２０２に入力されて、可変長符号化され、ヘッダ情報の多重化が行なわれる。情報源符号器２０１、ビデオ信号多重化符号器２０２で情報源符号化、多重化されたデータは、送信バッファ２０３を通って、伝送路符号器２０４において、後述する図４に示す順で伝送路符号化されて送信される。送信符号量を制御するために送信バッファ２０３からバッファの中の状態を符号化制御２０５に伝え、符号化制御２０５は、情報源符号器２０１及びビデオ信号多重化符号器２０２に制御信号を出す。
【０００５】
図４に、従来の動画像符号化方法で符号化された符号化ビット列と符号化シンタックスを表す。符号化シンタックスとは、可変長符号化テーブル、挿入するヘッダ情報、送信順序を規定するものである。
【０００６】
図４において数字が表示されている要素は固定長符号化されるデータ種類であり、それ以外の要素はそれぞれ異なる可変長符号化テーブルを用いて可変長符号化されるデータ種類である。
【０００７】
フレームの最初であることを示すフレーム開始符号ＰＳＣは固定長の特殊な符号であり、フレーム開始符号ＰＳＣと同じビット系列が、フレーム開始符号ＰＳＣ以外の符号化されたデータの中に出現しないようになっている。フレームヘッダ情報ＰＨＥＡＤはフレーム番号やピクチャータイプ情報などの１フレーム全体についての情報を含み、固定長符号化される。
【０００８】
ＧＯＢの最初であることを示すＧＯＢ開始符号ＧＢＳＣは固定長符号化される。ＧＯＢヘッダ情報ＧＨＥＡＤは、ＧＯＢのピックチャー（Ｐｉｃｔｕｒｅ　）の中の位置を表すＧＯＢ番号やＧＯＢの量子化特性情報等、１つのＧＯＢについての情報を含み、固定長符号化される。
【０００９】
マクロブロックアドレス（相対値）ＭＢＡは、ＧＯＢの中のマクロブロックの位置を表すものであり、そのマクロブロックアドレスと前に符号化されたマクロブロックアドレスとの差分値が可変長符号化されたものである。マクロブロックは、情報がない場合（例えば前フレームと同一の場合）には符号化されず、マクロブロックアドレスＭＢＡ、マクロブロックタイプ情報ＭＴＹＰＥ、マクロブロック量子化特性ＭＱＵＡＮＴ、動きベクトル情報ＭＶＤ、及び、そのマクロブロックのブロック情報（ＴＣＯＥＦＦ、ＥＯＢ）は伝送されない。マクロブロックタイプ情報ＭＴＹＰＥは、予測がフレーム間であるか（以下、ＩＮＴＥＲモードと呼ぶ）、原信号が直交変換されるか（以下、ＩＮＴＲＡモードと呼ぶ）などを表し、可変長符号化される。マクロブロック量子化特性ＭＱＵＡＮＴは、そのマクロブロックの量子化ステップサイズを表し、前に符号化されたマクロブロックの量子化ステップサイズと異なる場合に固定長符号化される。動きベクトル情報ＭＶＤは、対象マクロブロックの動きベクトルから一つ前のマクロブロックの動きベクトルを減算することで得られるものであり、可変長符号化される。有意ブロックパターンＣＢＰは、少なくとも一つの変換係数が伝送されるブロック（有意ブロック）の位置を表すものであり、可変長符号化される。
【００１０】
上述した変換係数ＴＣＯＥＦＦも可変長符号化される。ブロックの終わりを示すブロック終了符号ＥＯＢは固定長符号化されるが、変換係数ＴＣＯＥＦＦの可変長符号の符号語の１つである。
【００１１】
図５は、マクロブロックの可変長符号化されるデータ種類の可変長符号化テーブルを示すものであり、各データ種類はこの可変長符号化テーブルに従って可変長符号化される。ここで、変換係数ＴＣＯＥＦＦは、直交変換して量子化した８×８画素のブロックデータを図３（ｂ）で表されるような水平及び垂直方向の低周波成分ほど先になる順序に並べ替え、そのデータの０が続く個数（０ラン）と、その直後にくる０でない値（レベル）の組により可変長符号化される。
【００１２】
図６は、従来例の場合のビデオ信号多重化符号器２０２の多重化処理系統図を示している。
【００１３】
各々のフレーム層、ＧＯＢ層、マクロブロック層、ブロック層では、矢印の方向にたどって多重化される。矢印が分岐しているところは、モード（ＩＮＴＲＡ、ＩＮＴＥＲ等）により、いずれかの矢印が選択される。ループになっている部分は、そのデータ（ＧＯＢ層、マクロブロック層、ブロック層、変換係数ＴＣＯＥＦＦ）が終わるまではループ側の矢印が選ばれ、そのデータが終了すると、ループでない方の矢印が選ばれる。フレームの中のＧＯＢ、ＧＯＢの中のマクロブロック、マクロブロックの中のブロックには、それぞれ図３（ａ）に示すように、左上から順番に、ＧＯＢ番号、マクロブロックアドレス、ブロック番号が付加されている。ＧＯＢ層、マクロブロック層、ブロック層は、それぞれ番号（アドレス）の小さい順に符号化され、多重化される。
【００１４】
図２（ｂ）に示す復号器で復号を行なう場合には、送られてきた順に伝送路復号器２０９で伝送路復号を行ない、受信バッファ２０８を通して、ビデオ信号多重化復号器２０７に入力する。ビデオ信号多重化復号器２０７では、ヘッダ情報などを分離し、可変長符号の復号を行なって、情報源復号器２０６に出力する。情報源復号器２０６では、逆量子化、逆離散コサイン変換（逆ＤＣＴ）、動き補償を行なって、ビデオ信号を出力する。
【００１５】
誤りが生じているか否かは、ビデオ信号多重化復号器２０７の可変長符号の復号において判断することができる。例えば、可変長符号化テーブルの可変長符号語に存在しないような系列が入力されたときに、誤りを検出したとすることができる。また、変換係数部分の可変長符号の復号した際に、復号した結果、８×８＝６４個以上のデータが得られた場合、誤りが生じていると判断できる。誤りが発生した場合には、可変長符号の境界を見失い、同期を喪失してしまう。
【００１６】
図７に示すフローチャートを用いて、従来例のビデオ信号多重化復号器２０７の動作を説明する。
【００１７】
まず、ビデオ信号多重化復号器２０７に入力される符号系列からヘッダ情報の分離及び可変長符号の復号を行なう（ステップＢ１）。その後、可変長符号の復号で誤りが発生したか否かを判定する（ステップＢ２）。ここで、誤りが生じていると、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣを検索し（ステップＢ３）、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣを検出したならば（ステップＢ４）、誤り発生時点から、検出したＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータを捨てる（ステップＢ５）。このように誤りが生じて次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータを捨てた場合、及び、上記ステップＢ２の判断で誤りがないと判断された場合には、復号結果を出力し（ステップＢ６）、さらに入力が終了したか否かを判断する（ステップＢ７）。入力が終了した場合には一連の処理を終了し、入力が継続していると上述したステップＢ１に戻る。
【００１８】
なお、誤りが生じた時点から次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータは捨てられるが、その誤りによって捨てられた画像データの復号結果としては、前フレーム画像のデータをそのまま出力する（ステップＢ６）。
【００１９】
【発明が解決しようとする課題】
図４のような動画像符号化シンクタックス及び図７のようなビデオ信号多重化復号の動作をする復号方法では、誤りが生じた場合には、可変長符号の復号において可変長符号語の境界を見失い、同期を喪失した状態になって復号が不可能になる。従って、次のフレーム開始符号ＰＳＣ又はＧＯＢ開始符号ＧＢＳＣを検出するまでの情報を復号することができず、復号することができない部分に誤りが生じていなくても、その部分のデータを捨てざるを得ないという問題がある。
【００２０】
誤りが生じて可変長符号の同期を喪失した場合は、誤りが生じた時点から、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣを検出するまでは、復号することができない理由を詳述すると、以下の通りである。
【００２１】
（１）　マクロブロックアドレス（相対値）ＭＢＡ、マクロブロックタイプ情報ＭＴＹＰＥ、動きベクトル情報ＭＶＤ、有意ブロックパターンＣＢＰ、変換係数ＴＣＯＥＦＦは、図５のようなそれぞれ異なる可変長符号化テーブルで可変長符号化されているので、誤りが生じて可変長符号の同期を喪失した場合には、どの可変長符号で復号すべきか判断できない。
【００２２】
（２）　マクロブロックアドレス（相対値）ＭＢＡは、そのマクロブロックアドレスと前に符号化されたマクロブロックアドレスとの差分値を符号化したものであるから、仮に可変長符号の同期を回復できたとしても、マクロブロックアドレスの絶対値を得ることができない。
【００２３】
そのため、誤りが生じた時点からＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータは捨てられることになり、その誤りによって捨てられた画像データの部分は前フレーム画像のデータをそのまま出力しなければならず、上述した問題が生じる。
【００２４】
特に、動き補償フレーム間予測を行なっていると、捨てられたデータの部分の誤差がそのまま伝搬してしまうので、捨てられるデータをできるだけ少なくしなければならない。
【００２５】
そのため、復号の際に誤りが生じても捨てられるデータをできるだけ少なくできる動画像符号化方法及び動画像復号方法が望まれている。
【００２６】
【課題を解決するための手段】
かかる課題を解決するため、第１及び第２の本発明は、動画像の所定の処理単位に関する複数種類のデータを所定の符号化ルールに従って符号化してシリアルに出力するものであって、上記所定の処理単位は階層的に領域分割されており、最下位階層以外の各階層について見れば、その階層に特有な種類の符号化データと、直下の階層の各領域の符号化データ群とを含む構造を有する出力符号化データを形成する動画像符号化方法において、以下のようにしたことを特徴とする。
【００２７】
第１の本発明は、符号化対象のデータが、固定長符号化対象の１又は複数のデータ種類と、可変長符号化対象の複数のデータ種類とに分かれ、可変長符号化対象の全種類のデータを、自己同期回復機能を持つ可変長符号を規定している単一の可変長符号化テーブルを適用して符号化し、領域によって符号化データを形成することもあれば形成しないこともある所定の階層に対する、上位階層の領域毎に、領域開始符号を出力符号化データに含め、上記所定の階層の各領域の終端を示す領域終了符号として１個の可変長符号語を独立して割当て、各領域の符号化データの終わりに挿入することを特徴とする。
【００２８】
第２の本発明は、符号化対象のデータが、固定長符号化対象の１又は複数のデータ種類と、可変長符号化対象の複数のデータ種類とに分かれ、可変長符号化対象の全種類のデータを、自己同期回復機能を持つ可変長符号を規定している単一の可変長符号化テーブルを適用して符号化し、領域によって符号化データを形成することもあれば形成しないこともある所定の階層に対する、上位階層の領域毎に、領域開始符号を出力符号化データに含め、上記上位階層の１個の領域に属する、上記所定の階層の全ての領域のヘッダ情報の符号化データをまとめて、それら各領域のヘッダ情報以外のデータの符号化データの先頭に付加することを特徴とする。
【００２９】
また、第３の本発明は、第１又は第２の本発明の動画像符号化方法で符号化された処理単位毎の符号化データ系列を復号する動画像復号方法において、入力された符号化データ系列に誤りが生じた場合に、誤りが生じたデータ以降の符号語を切り出してメモリに記憶させ、その処理単位の符号化データ系列内で同期を回復してから次の処理単位の直前までの符号化データ系列を復号することを特徴とする。
【００３０】
さらに、第４の本発明は、第１の本発明の動画像符号化方法で符号化された、処理単位毎の符号化データ系列を復号する動画像復号方法において、入力された符号化データ系列に誤りが生じた場合に、誤りが生じた符号化データ以降の符号語を切り出してメモリに記憶させ、メモリに格納されている符号語の中から領域終了符号を検出して、その領域終了符号以降の領域の符号化データを復号することを繰返し実行することを特徴とする。
【００３１】
さらにまた、第５の本発明は、第２の本発明の動画像符号化方法で符号化された、処理単位毎の符号化データ系列を復号する動画像復号方法において、入力された符号化データ系列に誤りが生じた場合に、誤りが生じた符号化データ以降の符号語を切り出してメモリに記憶させ、入力された符号化データ系列に誤りが生じると、先に復号した領域のヘッダ情報に従って、メモリに格納されているヘッダ情報以外の符号化データを復号することを特徴とする。
【００３２】
第１及び第２の本発明の動画像符号化方法においては、復号処理で、入力された符号化データ系列に誤りが生じた場合にも、同期回復が早まり、誤りが生じたデータ以降の符号語をできるだけ多く切り出せるように、可変長符号化する複数種類のデータに対し、自己同期回復機能を持つ可変長符号を用いて符号化すると共に、切り出した符号語から、より多くの領域のデータを復号できるように、領域の特定情報を盛り込んだり、若しくは、領域のデータを２種類に分けて離れた位置で出力符号化データに挿入するようにしている。
【００３３】
また、第３の本発明の動画像復号方法においては、符号化データ系列に誤りが生じた場合に、誤りが生じたデータ以降の符号語を切り出してメモリに記憶させ、その処理単位の符号化データ系列内で同期を回復してから次のフレームの直前までのデータ系列を復号するようにしたので、入力された符号化データ系列に誤りが生じても一部のデータを復号でき、復号画像の画質を向上させることができる。
【００３４】
さらに、第４の本発明の動画像復号方法においては、入力された符号化データ系列に誤りが生じた場合に、誤りが生じた符号化データ以降の符号語を切り出してメモリに記憶させ、メモリに格納されている符号語の中から領域終了符号を検出して、その領域終了符号以降の領域の符号化データを復号することを繰返し実行するようにしたので、入力された符号化データ系列に誤りが生じても一部のデータを復号でき、復号画像の画質を向上させることができる。
【００３５】
さらにまた、第５の本発明の動画像復号方法においては、入力された符号化データ系列に誤りが生じた場合に、誤りが生じた符号化データ以降の符号語を切り出してメモリに記憶させ、入力された符号化データ系列に誤りが生じると、先に復号した領域のヘッダ情報に従って、メモリに格納されているヘッダ情報以外の符号化データを復号するようにしたので、入力された符号化データ系列に誤りが生じても一部のデータを復号でき、復号画像の画質を向上させることができる。
【００３６】
【発明の実施の形態】
（Ａ）第１実施形態
以下、本発明による動画像符号化方法及び動画像復号方法の第１実施形態を図面を参照しながら詳述する。
【００３７】
この第１実施形態においても、その符号器及び復号器の概略構成は、上述した図２に示す通りであり、動画像の原データであるビデオ信号（例えば世界共通の中間フォーマット（ＣＩＦ・ＱＣＩＦ））をＧＯＢ、マクロブロック、８×８画素のブロックに階層的に分割して符号化し、その符号化データを復号するものである。
【００３８】
しかし、この第１実施形態においては、自己同期回復機能を持つ単一の可変長符号を用いること、符号化シンタックスでＧＯＢデータの終端に最後に符号化されたマクロブロックのアドレスの絶対値ＥＭＢＡを挿入すること、復号側でのビデオ多重化復号器の動作等が、従来例と相違している。以下、相違点を中心にして第１実施形態を説明する。
【００３９】
第１実施形態においても、符号化を行なう場合には、ビデオ信号を入力とし、情報源符号器で情報源符号化され、情報源符号化されたデータは、ビデオ信号多重化符号器に入力されて可変長符号化され、ヘッダ情報の多重化が行なわれ、その後、送信バッファを通って、伝送路符号器において、図１の順で伝送路符号化されて送信される。送信符号量を制御するために送信バッファからバッファの中の状態を符号化制御部に伝え、符号化制御部は、情報源符号器及びビデオ信号多重化符号器に制御信号を出力する。
【００４０】
図１は、第１実施形態に係る符号器（図２参照）によってこのようにして符号化された符号化ビット列と符号化シンタックスを示すものである。また、図８は、第１実施形態に係る符号器による多重化処理系統図を示している。
【００４１】
ここで、図１において、上に数字が表示されている要素は固定長符号化されるデータ要素であり、それ以外の全ての要素は、自己同期回復機能を持つ１種類の可変長符号の可変長符号化テーブル（図９参照）を用いて可変長符号化される。自己同期回復機能とは、この機能を持つ可変長符号で符号化されたデータ系列に誤りが生じ、復号時に可変長符号の境界を見失って同期喪失しても、復号を続けていくうちに、同期回復するという機能である（文献（２）、（３）参照）。
【００４２】
文献（２）：『Ｔｏｍａｓ　Ｊ．Ｆｅｒｇｕｓｏｎ　ａｎｄ　Ｊｏｓｈｕａ　Ｈ．Ｒａｂｉｎｏｗｉｔｚ：”Ｓｅｌｆ−Ｓｙｎｃｈｒｏｎｉｚｉｎｇ　Ｈｕｆｆｍａｎ　Ｃｏｄｅｓ”，ＩＥＥＥ　Ｔｒａｎｓ．Ｉｎｆｏｒｍ．　Ｔｈｅｏｒｙ，　ｖｏｌ．ＩＴ−３０，　ｎｏ．４，　ｐｐ．６７８−６９３，ＪＵＬＹ　１９８４』
文献（３）：『滝嶋康弘、和田正裕、村上仁己：“可変長符号の同期回復”、１９８９年度画像符号化シンポジウム（ＰＣＳＪ８９）予稿集，ｐｐ．１０３−０．４，Ｏｃｔ．１９８９　』
図１及び図８において、フレーム（ピックチャー）層に対する符号化は、フレーム開始符号ＰＳＣ及びフレームヘッダ情報ＰＨＥＡＤを多重した後、ＧＯＢ層の符号化を繰返し、１フレームの処理が終了すると次のフレームの処理を行なうことでなされる。
【００４３】
この第１実施形態におけるフレーム開始符号ＰＳＣも、固定長の特殊な符号であり、フレーム開始符号ＰＳＣと同じ系列が符号化されたデータの中に出現しないようになっている。例えば、フレーム開始符号ＰＳＣとしては、
００００　００００　００００　０００１　００００
を適用できる（文献（１）参照）。第１実施形態のフレームヘッダ情報ＰＨＥＡＤも、フレーム番号やピクチャータイプ情報などの情報を含み、固定長符号化される。
【００４４】
図１及び図８において、ＧＯＢ層に対する符号化は、ＧＯＢ開始符号ＧＢＳＣ及びＧＯＢヘッダ情報ＧＨＥＡＤを多重した後、マクロブロック層の符号化を繰返し、最終のマクロブロック層の処理終了後にその最終マクロブロックのアドレス絶対値ＥＭＢＡを付加することでなされる。
【００４５】
第１実施形態におけるＧＯＢ開始符号ＧＢＳＣも固定長符号化される。ＧＯＢ開始符号ＧＢＳＣとしては、例えば、下記のようなフレーム開始符号ＰＳＣの前１６ビットの部分と等しい系列を適用できる（文献（１）参照）。
００００　００００　００００　０００１
ＧＯＢ開始符号ＧＢＳＣをこのような系列にすると、フレーム開始符号ＰＳＣと同様に、符号化されたデータの中にはＧＯＢ開始符号ＧＢＳＣと同じ系列がフレーム開始符号ＰＳＣ以外には出現しないようになっている。第１実施形態のＧＯＢヘッダ情報ＧＨＥＡＤも、ＧＯＢのピクチャーの中の位置を表すＧＯＢ番号や、ＧＯＢの量子化特性情報などの情報を含み、固定長符号化される。上述したように、従来例と異なり、ＧＯＢデータの終端に、そのＧＯＢの中で最後に符号化されたマクロブロックのアドレス絶対値ＥＭＢＡが付加される。最終マクロブロックアドレス絶対値ＥＭＢＡは、図９に示す単一の可変長符号テーブルの自己同期回復機能を持つ可変長符号で符号化される。
【００４６】
図１及び図８において、マクロブロック層に対する符号化は、マクロブロックに情報がない場合には符号化されず、マクロブロックに情報がある場合には、マクロブロックアドレス相対値ＭＢＡ、マクロブロックタイプ情報ＭＴＹＰＥを付加した後、そのマクロブロックのタイプに応じて各種データが符号化される。マクロブロックのタイプに応じた符号化としては、動きベクトル情報ＭＶＤのみを付加する場合や、動きベクトル情報ＭＶＤ及び有意ブロックパターンＣＢＰを付加した後ブロック層の処理を繰返す場合や、有意ブロックパターンＣＢＰを付加した後ブロック層の処理を繰返す場合や、単にブロック層の処理を繰返す場合等がある。
【００４７】
第１実施形態のマクロブロックアドレス相対値ＭＢＡも、ＧＯＢの中のマクロブロックの位置を表すものであり、前に符号化されたマクロブロックアドレスとの差分値を、マクロブロックアドレス絶対値ＥＭＢＡと同じ可変長符号で可変長符号化したものである。第１実施形態のマクロブロックタイプ情報ＭＴＹＰＥも、予測がフレーム間であるか（ＩＮＴＥＲモード）、原信号が直交変換されるか（ＩＮＴＲＡモード）などを表し、図９に示す単一の可変長符号化テーブルで可変長符号化される。この第１実施形態の場合、１つのＧＯＢのマクロブロックは全て同じ量子化特性で量子化することにしており、そのため、従来例で述べたマクロブロック量子化特性ＭＱＵＡＮＴはデータ系列から削除している。このようにしたのは、誤りが発生した後同期を自己回復しても、マクロブロック量子化特性ＭＱＵＡＮＴがあると（マクロブロック毎に量子化特性を変えていると）、復号できないデータが多くなるためである。第１実施形態の動きベクトル情報ＭＶＤも、対象マクロブロックの動きベクトルから一つ前のマクロブロックの動きベクトルを減算することで得られるものであり、図９に示す単一の可変長符号化テーブルで可変長符号化される。第１実施形態の有意ブロックパターンＣＢＰも、少なくとも一つの変換係数が伝送されるブロック（有意ブロック）の位置を表すものであり、図９に示す単一の可変長符号化テーブルで可変長符号化される。
【００４８】
図１及び図８において、ブロック層に対する符号化は、変換係数ＴＣＯＥＦＦの符号化を繰返した後、ブロック終了符号ＥＯＢを付加することで行なう。変換係数ＴＣＯＥＦＦは１以上あれば、図９に示す単一の可変長符号化テーブルで可変長符号化される。ブロックの終わりを示すブロック終了符号ＥＯＢは、変換係数ＴＣＯＥＦＦの一要素として図９に示す可変長符号化テーブルで可変長符号化される。
【００４９】
以上のように、この第１実施形態の場合、可変長符号化される各種のデータ種類は、図９に示す自己同期回復機能を持つ単一の可変長符号化テーブルを用いて可変長符号化される。
【００５０】
以上のようにして符号化されたデータ系列が入力される復号器の全体構成は、従来と同様に図２（ｂ）に示す構成を有し、大きく見た場合の復号処理は従来と同様である。
【００５１】
すなわち、送られてきた順に伝送路復号器で伝送路復号を行ない、受信バッファを通して、ビデオ信号多重化復号器に入力し、ビデオ信号多重化復号部において、ヘッダ情報などを分離し、可変長符号の復号を行なって、情報源復号器に出力し、情報源復号器において、逆量子化、逆ＤＣＴ、動き補償を行なってビデオ信号を出力する。
【００５２】
この第１実施形態においても、ビデオ信号多重化復号器において、誤りが生じているか否かを可変長符号の復号によって判断するが、可変長符号に誤りが存在する場合の処理が従来とは異なっている。すなわち、従来では、可変長符号に誤りが存在して、可変長符号の境界を見失い、同期を喪失したときには、その誤りによって捨てられた画像データの部分として前フレーム画像のデータをそのまま出力していたが、第１実施形態では、可変長符号の復号で誤りを検出しても、１ビットずつ系列をずらしながら、同期回復するまでの可変長符号の復号を続けて行なう。また、予めメモリを用意しておき、可変長符号の同期回復した時点から、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでの可変長符号語のデータをメモリに蓄えておく。マクロブロックのアドレス絶対値ＥＭＢＡを挿入しているので、マクロブロックアドレスを相対値ＭＢＡで符号化していても、同期を回復した時点から次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣの直前までのマクロブロックアドレスの絶対値を知ることができ、メモリに蓄えられた可変長符号語（同期を回復した時点から次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣの直前までのデータ）の部分の画像を復元することができる。
【００５３】
以上のように、大きく見た場合には、第１実施形態の復号器構成も従来と同様であるが、そのビデオ信号多重化復号器の動作、特に、誤り発生時の処理は、第１実施形態と従来とでは大きく異なる。
【００５４】
以下、第１実施形態のビデオ信号多重化復号器（図２参照；２０７）の動作を図１０に示すフローチャートを参照しながら説明する。
【００５５】
まず、ビデオ信号多重化復号器に入力される符号化されたデータ系列からヘッダ情報の分離及び可変長符号の復号を行なう（ステップＡ１）。その後、可変長符号の復号で誤りが発生したか否かを判定する（ステップＡ２）。
【００５６】
ここで、誤りが発生した場合には、１ビットずつずらしながら可変長符号の復号を引き続き行ない（ステップＡ３）、可変長符号の同期を回復したか否かを判定する（ステップＡ４）。同期回復という判定結果が得られるまで、ステップＡ３及びＡ４でなる処理ループを繰り返す。
【００５７】
このような処理ループを繰り返すことによりやがて同期回復という判定結果が得られ、これ以降、そのまま可変長符号の復号（分離）を行なって、可変長符号語をメモリに蓄えると共に（ステップＡ５）、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣを検出したか否を判定し（ステップＡ６）、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣが検出されるまで、これらステップＡ５及びＡ６の処理ループを繰り返す。
【００５８】
次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣが検出されたときには、検出したＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣから、可変長符号の同期回復した時点までのメモリに蓄えられたデータを復号し（ステップＡ７）、復号結果を出力する（ステップＡ８）。
【００５９】
一方、可変長符号の復号で誤りが発生していない場合には（ステップＡ２で否定結果）、復号結果を出力する（ステップＡ８）。
【００６０】
可変長符号の復号で誤りが発生している場合、可変長符号の復号で誤りが発生していない場合のいずれであろうと、復号結果を出力した後は、入力が終了したか否かを判断し（ステップＡ９）、入力が終了した場合には一連の処理を終了し、入力が継続していると上述したステップＡ１に戻る。
【００６１】
次に、ステップＡ７の処理、すなわち、検出した次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣから、可変長符号の同期回復した時点までのメモリに蓄えられたデータを復号する処理を図１１のフローチャートを参照しながら詳述する。なお、以下の説明において、ＭＢＡ（ｉ）は、マクロブロックアドレス相対値ＭＢＡから復号されたマクロブロックアドレス（従って絶対値）を示している。
【００６２】
（１）　マクロブロックパラメータｉを０とし、検出したＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣの直前のマクロブロックアドレス絶対値ＥＭＢＡをメモリから取出し復号して、マクロブロックアドレスＭＢＡ（ｉ）の初期値とする（ステップＣ１）。すなわちＭＢＡ（０）＝ＥＭＢＡとする。
【００６３】
（２）　メモリに蓄えられたデータの最新のデータから時間的に前の方に向かって（時間的に逆方向）、マクロブロックアドレス相対値ＭＢＡを検索する（ステップＣ２）。
【００６４】
（３）　マクロブロックアドレス相対値ＭＢＡが検出されたらマクロブロックアドレス相対値ＭＢＡを復号し、ＭＢＡ（ｉ＋１）＝ＭＢＡ（ｉ）−ＭＢＡとする（ステップＣ３）。マクロブロックアドレス相対値ＭＢＡが全く検出されなければ終了する（ステップＣ５）。
【００６５】
（４）　検出されたマクロブロックアドレス相対値ＭＢＡを復号すると、マクロブロックパラメータｉを１インクリメントして、引き続き、メモリに蓄えられたデータの時間的に前の方に向かってマクロブロックアドレス相対値ＭＢＡを検索する（ステップＣ３）。
【００６６】
（５）　上記処理（３）　及び（４）　を同期回復したデータのところ（最初にメモリに蓄えられたデータ）まで繰り返す（ステップＣ４）。
【００６７】
（６）　同期回復したデータのところ（最初にメモリに蓄えられたデータ）から、時間的に後の方に向かって（時間的に順方向）、マクロブロックアドレス相対値ＭＢＡを検索し、最初のマクロブロックアドレス相対値ＭＢＡが検出されたら復号を始める（ステップＣ６、Ｃ７）。
【００６８】
（７）　次のマクロブロックアドレス相対値ＭＢＡ又は最終マクロブロックアドレス絶対値ＥＭＢＡにきたら、復号されたデータをマクロブロックアドレスＭＢＡ（ｉ）の部分のデータとした画像を得る（ステップＣ８、Ｃ９）。
【００６９】
（８）　マクロブロックパラメータｉを１デクリメントし、このパラメータｉが負ならばメモリを初期状態（データが蓄えられていない状態）にして終了し、負以外ならば、引き続き、時間的に後の方に向かって復号を行なう（ステップＣ１０）。
【００７０】
（９）　上記処理（７）　及び（８）　をパラメータｉが負になるまで繰り返す（ステップＣ１０）。
【００７１】
以上のように、上記第１実施形態によれば、自己同期回復機能を持つ１種類の可変長符号を用いて符号化すると共に、ＧＯＢデータの終端に最終マクロブロックアドレス絶対値ＥＭＢＡを付加するようにしたので、誤りが生じて可変長符号の同期を喪失しても、復号を続けていくと同期を回復し、可変長符号の同期回復した時点から、次に検出されたＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータを復号することができ、従来例では捨ててしまっていたデータの一部分を復号で得ることができる。
【００７２】
図１２に、１つのＧＯＢ（ＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣから次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでの間）の中で、従来例で誤りにより捨ててしまう部分（マクロブロック）と、第１実施形態で復号できる部分（マクロブロック）との関係を図示する。このようにデータが破棄され、前フレームのデータが用いられるマクロブロックが従来より大幅に減少する。
【００７３】
特に動き補償フレーム間予測を行なっている場合には、後に続くフレームへの誤差の伝搬を少しでも防ぐためには、できるだけデータを捨てないことが望ましく、第１実施形態では、捨ててしまうデータを減らすことができるため、より誤りの少ない良好な復号画像を得ることができる。
【００７４】
（Ｂ）第２実施形態
次に、本発明による動画像符号化方法及び動画像復号方法の第２実施形態を図面を参照しながら詳述する。
【００７５】
この第２実施形態の動画像符号化方式においても、その符号器及び復号器の概略構成は、上述した図２に示す通りであり、動画像の原データであるビデオ信号（例えば世界共通の中間フォーマット（ＣＩＦ・ＱＣＩＦ））をＧＯＢ、マクロブロック、８×８画素のブロックに階層的に分割して符号化し、その符号化信号を復号するものである。
【００７６】
しかし、この第２実施形態においては、自己同期回復機能を持つ単一の可変長符号を用いること、符号化シンタックスでマクロブロックアドレス相対値ＭＢＡを挿入せずに全てのマクロブロックについてそのマクロブロックが符号化されたか否かを表す符号化マクロブロックフラグＣＯＤを挿入すること、復号側でのビデオ多重化復号器の動作等が、従来例と相違している。以下、相違点を中心にして第２実施形態を説明する。
【００７７】
図１３は、第２実施形態に係る符号器（図２参照）によってこのようにして符号化された符号化ビット列と符号化シンタックスを示すものであり、図１４は、第２実施形態に係る符号器による多重化処理系統図を示している。さらに、図１５は、この第２実施形態に係る可変長符号の単一の可変長符号化テーブルを示すものである。
【００７８】
この第２実施形態に係る符号器（図２参照）による符号化も、大きく見た場合には、従来及び第１実施形態と同様である。しかし、ビデオ信号多重化符号器（図２参照；符号２０２）の処理が異なっている。
【００７９】
図１３及び図１４において、フレーム層の観点からの符号化は、従来及び第１実施形態と同様である。ＧＯＢ層及びブロック層の観点からの符号化は、従来と同様である。そこで、これら階層段階での符号化の説明は省略する。
【００８０】
この第２実施形態において、マクロブロック層での符号化は、第１実施形態とは異なって、マクロブロックに情報がない場合には行なわれ、符号化マクロブロックフラグＣＯＤ（例えば情報なしを表す１）だけが挿入される。マクロブロックに情報がある場合には、情報があることを表す符号化マクロブロックフラグＣＯＤと、マクロブロックタイプ情報ＭＴＹＰＥとが付加された後、第１実施形態と同様に、そのマクロブロックのタイプに応じて各種データが符号化される。なお、この第２実施形態においても、第１実施形態と同様な理由により、１つのＧＯＢのマクロブロックは全て同じ量子化特性で量子化することにしており、そのため、従来例で述べたマクロブロック量子化特性ＭＱＵＡＮＴはデータ系列から削除している。
【００８１】
この第２実施形態も、上述した図３に示す動画像データの階層的分割を前提としており、従って、１個のＧＯＢについては、マクロブロックの情報があろうとなかろうと、３３個の符号化マクロブロックフラグＣＯＤが挿入されることとなる。従って、符号化マクロブロックフラグＣＯＤをカウントすることにより、マクロブロックのアドレス絶対値を復号器において得ることができるので、第２実施形態においては、マクロブロックアドレス相対値ＭＢＡや最終マクロブロックアドレス絶対値ＥＭＢＡの符号は出力するデータ系列に挿入しないようにしている。
【００８２】
この第２実施形態においては、図１４に示すように、符号化マクロブロックフラグＣＯＤ、マクロブロックタイプ情報ＭＴＹＰＥ、動きベクトル情報ＭＶＤ、有意ブロックパターンＣＢＰ及び変換係数ＴＣＯＥＦＦ等が可変長符号であるが、自己同期回復機能を持つ図１５に示す単一の可変長符号化テーブルを用いて可変長符号化するようになされている。
【００８３】
以上のようにして符号化されたデータ系列が入力される復号器の全体構成は、従来と同様に図２（ｂ）に示す構成を有し、大きく見た場合の復号処理は従来と同様である。また、そのビデオ信号多重化復号器の動作、特に、誤り発生時の処理を大きく見た場合には、第１実施形態の説明で用いた図１０のフローチャートに示す通りである。
【００８４】
しかし、検出した次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣから、可変長符号の同期回復した時点までのメモリに蓄えられたデータを復号する処理（図１０、ステップＡ７参照）が第１実施形態とは異なっており、以下では、第２実施形態におけるかかる処理を図１６のフローチャートを参照しながら詳述する。なお、以下の説明において、ＭＢＡ（ｉ）は、復号されたマクロブロックアドレス（絶対値）を示している。
【００８５】
（１）　マクロブロックパラメータｉを０とし、復号されたマクロブロックアドレスＭＢＡ（ｉ）＝ＭＢＡ（０）＝３３とする（ステップＤ１）。この場合の復号されたマクロブロックアドレスＭＢＡ（０）は、検出されたＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣの直前のマクロブロックについてのものである。また、数値３３は、上述したように、１ＧＯＢ当りのマクロブロック数である（図３参照）。
【００８６】
（２）　メモリに蓄えられたデータの最新データから時間的に前の方に向かって（時間的に逆方向）、フラグ値に関係なく、符号化マクロブロックフラグＣＯＤを検索する（ステップＤ２）。
【００８７】
（３）　符号化マクロブロックフラグＣＯＤが検出されたら、復号されたマクロブロックアドレスＭＢＡ（ｉ）を１デクリメントする（ステップＤ３）。すなわち、ＭＢＡ（ｉ＋１）＝ＭＢＡ（ｉ）−１とする。なお、符号化マクロブロックフラグＣＯＤが全く検出されなければ終了する（ステップＤ５）。
【００８８】
（４）　マクロブロックパラメータｉを１インクリメントして、引き続き、メモリに蓄えられたデータの時間的に前の方に向かって符号化マクロブロックフラグＣＯＤを検索する（ステップＤ３）。
【００８９】
（５）　処理（３）　及び（４）　を同期回復したデータのところ（最初にメモリに蓄えられたデータ）まで繰り返す（ステップＤ４）。
【００９０】
（６）　同期回復したデータのところ（最初にメモリに書かれたデータ）から、時間的に後ろの方に向かって（時間的に順方向）、符号化マクロブロックフラグＣＯＤを検索し、最初の符号化マクロブロックフラグＣＯＤが検出されたら、マクロブロックパラメータｉを１デクリメントして復号を始める（ステップＤ６、Ｄ７）。
【００９１】
（７）　次の符号化マクロブロックフラグＣＯＤ又はメモリの最新のデータにきたら、復号されたデータをマクロブロックアドレスＭＢＡ（ｉ）の部分のデータとした画像を得る（ステップＤ８、Ｄ９）。
【００９２】
（８）　マクロブロックパラメータｉを１デクリメントとし、その値ｉが負ならばメモリを初期状態（データが蓄えられていない状態）にして終了し、負以外ならば、引き続き、時間的に後ろの方に向かって復号を行なう（ステップＤ９、Ｄ１０）。
【００９３】
（９）　処理（７）　及び（８）　をマクロブロックパラメータｉが負になって終了するまで繰り返す（ステップＤ１０）。
【００９４】
以上のように、第２実施形態においては、符号化マクロブロックフラグＣＯＤを用いて、マクロブロックアドレス（絶対値）を得て、可変長符号の同期回復した時点以降のメモリに蓄えられたデータを復号する。
【００９５】
以上のように、第２実施形態によれば、自己同期回復機能を持つ１種類の可変長符号を用いて符号化し、符号化マクロブロックフラグＣＯＤを用いることにより、第１実施形態と同様に、誤りが生じて可変長符号の同期を喪失しても、復号を続けていくと同期が回復し、可変長符号の同期回復した時点から、次に検出されたＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータを復号することができ、従来例では捨ててしまっていたデータの一部分を得ることができる。
【００９６】
その結果、動き補償フレーム間予測を行なっていても、後に続くフレームへの誤差の伝搬を最小限に止どめることができ、より誤りの少ない良好な復号動画像を得ることができる。
【００９７】
（Ｃ）第３実施形態
次に、本発明による動画像符号化方法及び動画像復号方法の第３実施形態を図面を参照しながら詳述する。
【００９８】
この第３実施形態の動画像符号化方式においても、その符号器及び復号器の概略構成は、上述した図２に示す通りであり、動画像の原データであるビデオ信号（例えば世界共通の中間フォーマット（ＣＩＦ・ＱＣＩＦ））をＧＯＢ、マクロブロック、８×８画素のブロックに階層的に分割して符号化し、その符号化信号を復号するものである。
【００９９】
しかし、この第３実施形態においては、自己同期回復機能を持つ可変長符号を複数のデータ種類で重複して用いること、符号化シンタックスでマクロブロックアドレス相対値ＭＢＡを用いないでマクロブロックデータの終端にマクロブロック終了符号ＥＯＭＢを挿入すること、復号側でのビデオ多重化復号器の動作等が、従来例と相違している。以下、相違点を中心にして第３実施形態を説明する。
【０１００】
図１７は、第３実施形態に係る符号器（図２参照）によってこのようにして符号化された符号化ビット列と符号化シンタックスを示すものであり、図１８は、第３実施形態に係る符号器による多重化処理系統図を示している。さらに、図１９は、この第３実施形態に係る可変長符号の可変長符号化テーブルの構成を示すものである。
【０１０１】
この第３実施形態に係る符号器（図２参照）による符号化も、大きく見た場合には、従来、第１実施形態及び第２実施形態と同様である。しかし、ビデオ信号多重化符号器（図２参照；符号２０２）の処理が異なっている。
【０１０２】
図１７及び図１８において、フレーム層の観点からの符号化は、従来、第１実施形態及び第２実施形態と同様である。ＧＯＢ層の観点からの符号化は、従来及び第２実施形態と同様である。これら階層段階での符号化の説明は省略する。
【０１０３】
この第３実施形態において、マクロブロック層での符号化は、マクロブロックに情報がない場合にも行なわれ、マクロブロック終了符号ＥＯＭＢだけが挿入される。マクロブロック終了符号ＥＯＭＢは、固定長符号（例えば３ビット）であるが、図１９に示すように、自己同期回復機能を持つ可変長符号の１個の符号語が割り当てられており、この符号語は他のデータ種類要素では用いられないものとなっている。マクロブロックに情報がある場合には、マクロブロックタイプ情報ＭＴＹＰＥが付加された後、第１、第２実施形態と同様に、そのマクロブロックのタイプに応じて各種データが符号化され、その後、マクロブロック終了符号ＥＯＭＢが付加される。なお、この第３実施形態においても、第１、第２実施形態と同様な理由により、１つのＧＯＢのマクロブロックは全て同じ量子化特性で量子化することにしており、そのため、従来例で述べたマクロブロック量子化特性ＭＱＵＡＮＴはデータ系列から削除している。
【０１０４】
この第３実施形態も、図３に示す動画像データの階層的分割を前提としており、従って、１個のＧＯＢについては、マクロブロックの情報があろうとなかろうと、３３個のマクロブロック終了符号ＥＯＭＢが挿入されることとなる。従って、マクロブロック終了符号ＥＯＭＢをカウントすることにより、マクロブロックのアドレス絶対値を復号器において得ることができるので、第３実施形態においては、マクロブロックアドレス相対値ＭＢＡや最終マクロブロックアドレス絶対値ＥＭＢＡの符号は出力符号系列に挿入しないようにしている。
【０１０５】
図１７及び図１８において、この第３実施形態のブロック層の観点からの符号化は、大きくは、ブロック単位の変換係数の符号化を繰り返した後、ブロック終了符号ＥＯＢを付加することで行なう。しかしながら、変換係数ＴＣＯＥＦＦの符号化の詳細は第１、第２実施形態と若干異なっている。
【０１０６】
変換係数ＴＣＯＥＦＦは、図１９の可変長符号化テーブルに従って可変長符号化されるが、可変長符号化テーブルに存在しない変換係数の０ランとレベルの組合せが現れたときには、エスケープコードＥＳＣを挿入した後、０ランとレベルを固定長符号化したものを続けて挿入する。また、原信号を直交変換した変換係数を符号化するＩＮＴＲＡモードの場合、その変換係数ＴＣＯＥＦＦにおける直流成分は一般的に固定長で符号化されるが、固定長の部分が途中にあると、可変長符号語の切り出しができなくなる。そこで、ＩＮＴＲＡモードの変換係数ＴＣＯＥＦＦの直流成分の前にエスケープコード（以下、直流成分エスケープコードと呼ぶ）ＥＳＣＤＣを付加する。
【０１０７】
ブロック終了符号ＥＯＢ、エスケープコードＥＳＣ及び直流成分エスケープコードＥＳＣＤＣはそれぞれ、固定長符号化されるが、図１９に示す自己同期回復機能を持つ可変長符号の１個の符号語が割り当てられ、エスケープコードＥＳＣ及び直流成分エスケープコードＥＳＣＤＣの符号語は他のデータ種類では用いられないものとなっている。
【０１０８】
この第３実施形態においては、図１８に示すように、マクロブロックタイプ情報ＭＴＹＰＥ、動きベクトル情報ＭＶＤ、有意ブロックパターンＣＢＰ及び変換係数ＴＣＯＥＦＦが可変長符号であるが、自己同期回復機能を持つ図１９に示す可変長符号によって符号化される。この図１９に示すように、マクロブロックタイプ情報ＭＴＹＰＥ、動きベクトル情報ＭＶＤ、有意ブロックパターンＣＢＰ及び変換係数ＴＣＯＥＦＦについて、自己同期回復機能を持つ同じ可変長符号が用いられている。同一の可変長符号を異なるデータ種類で重ねて用いるようにしているのは、復号の際に、データ種類が異なっても自己同期回復機能が有効に働くと共に、可変長符号の最長符号語をできるだけ短くするためになされている。
【０１０９】
以上のようにして符号化されたデータ系列が入力される復号器の全体構成は、従来と同様に図２（ｂ）に示す構成を有し、大きく見た場合の復号処理は従来と同様である。また、そのビデオ信号多重化復号器の動作、特に、誤り発生時の処理を大きく見た場合には、第１、第２実施形態の説明で用いた図１０のフローチャートに示す通りである。なお、ステップＡ１におけるヘッダ情報の分離、可変長符号の復号処理で、エスケープコードＥＳＣ及び直流成分エスケープコードＥＳＣＤＣを適宜用いる点は第１、第２実施形態と異なっている。
【０１１０】
また、ステップＡ７における、検出した次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣから、可変長符号の同期回復した時点までのメモリに蓄えられたデータを復号する処理は、第１、第２実施形態とは大きく異なっており、以下では、第３実施形態におけるかかる処理を図２０のフローチャートを参照しながら詳述する。なお、以下の説明においても、ＭＢＡ（ｉ）は、復号されたマクロブロックアドレス（絶対値）を示している。
【０１１１】
（１）　マクロブロックパラメータｉを０とし、復号されたマクロブロックアドレスＭＢＡ（ｉ）＝ＭＢＡ（０）＝３４とする（ステップＥ１）。この場合の復号されたマクロブロックアドレスＭＢＡ（０）は、検出されたＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣの直前のマクロブロックについてのものである。また、数値３４は、上述したように、１ＧＯＢ当りのマクロブロック数（３３）より１だけ多い値である（図３参照）。
【０１１２】
（２）　メモリに蓄えられたデータの最新データから時間的に前の方に向かって（時間的に逆方向）、マクロブロック終了符号ＥＯＭＢを検索する（ステップＥ２）。
【０１１３】
（３）　マクロブロック終了符号ＥＯＭＢが検出されたら、復号されたマクロブロックアドレスＭＢＡ（ｉ）を１デクリメントし、すなわち、ＭＢＡ（ｉ＋１）＝ＭＢＡ（ｉ）−１とし、そこからメモリに蓄えられた可変長符号語の時間的後ろの方に向かって、マクロブロック１つ分の復号を始める（ステップＥ３、Ｅ４）。なお、検出されたＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣの直前のマクロブロック終了符号ＥＯＭＢの検出時には復号を省略する。復号に成功したら、マクロブロックアドレス値ＭＢＡ（ｉ）をマクロブロックアドレスとした画像を得る（ステップＥ５、Ｅ６）。再び誤りにより復号に失敗したら終了する。また、メモリに蓄えられた可変長符号語の中でマクロブロック終了符号ＥＯＭＢが全く検出されなければ、何もせずに終了する（ステップＥ８）。終了をするときは、メモリを初期状態（データが蓄えられていない状態）にする。
【０１１４】
（４）　マクロブロックパラメータｉを１インクリメントして、引き続き、メモリに蓄えられたデータの時間的に前の方に向かってマクロブロック終了符号ＥＯＭＢを検索する（ステップＥ７）。
【０１１５】
（５）　処理（３）　及び（４）　を、同期回復して最初にメモリに蓄えられた可変長符号語まで繰り返す（ステップＥ８）。
【０１１６】
図２１は、図２０のフローチャートに示す処理を補間する説明図である。誤りが生じた時点以降、自己同期回復するまでは可変長符号語（可変長符号系列に従う固定長符号語を含む）を切り出せないが、それ以降は、可変長符号語や固定長符号語を切り出してメモリに格納する。
【０１１７】
この例の場合、メモリに格納されたデータからＧＯＢ開始符号ＧＢＳＣが検出され、ここから時間を前に遡って、マクロブロック終了符号ＥＯＭＢの検出が行なわれる。最初のマクロブロック終了符号ＥＯＭＢを検出したときのマクロブロックアドレスＭＢＡ（ｉ）は３４であるが、その時間的後ろにはデータがないので、復号されずに、さらに時間を前に遡って、マクロブロック終了符号ＥＯＭＢの検出が行なわれる。次に、マクロブロック終了符号ＥＯＭＢを検出すると、マクロブロックアドレスＭＢＡ（ｉ）を３３とし、それ以降に存在するデータを復号する。さらに時間を前に遡って、マクロブロック終了符号ＥＯＭＢの検出が行なわれる。このときには、マクロブロックアドレスＭＢＡ（ｉ）を３２とするが、それ以降にデータが存在しないので、さらに時間を前に遡って、マクロブロック終了符号ＥＯＭＢの検出を行なう。このときには、マクロブロックアドレスＭＢＡ（ｉ）を３１とし、それ以降に存在するデータを復号し、さらに時間を前に遡って、マクロブロック終了符号ＥＯＭＢの検出を行なう。このときには、自己同期回復した最初のデータに達したので、検出を終了する。
【０１１８】
以上のように、第３実施形態においては、マクロブロック終了符号ＥＯＭＢを用いて、マクロブロックアドレス（絶対値）を得て、可変長符号の同期回復した時点以降のメモリに蓄えられたデータを復号する。
【０１１９】
上記第３実施形態によれば、自己同期回復機能を持つ１種類の可変長符号を用いて符号化し、さらにマクロブロックデータの終端にマクロブロック終了符号ＥＯＭＢ、ＩＮＴＲＡモードの直流成分の前に直流成分エスケープコードＥＳＣＤＣを付加することにより、誤りが生じて可変長符号の同期を喪失しても、復号を続けていくと同期を回復し、可変長符号の同期回復することができ、誤りが生じてから、次に検出されたＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータの一部分を復号することができ、従来例では捨ててしまっていたデータの一部分を得ることができる。
【０１２０】
その結果、動き補償フレーム間予測を行なっていても、後に続くフレームへの誤差の伝搬を最小限に止どめることができ、より誤りの少ない良好な復号動画像を得ることができる。
【０１２１】
（Ｄ）第４実施形態
次に、本発明による動画像符号化方法及び動画像復号方法の第４実施形態を図面を参照しながら詳述する。
【０１２２】
この第４実施形態の動画像符号化方式においても、その符号器及び復号器の概略構成は、上述した図２に示す通りであり、動画像の原データであるビデオ信号（例えば世界共通の中間フォーマット（ＣＩＦ・ＱＣＩＦ））をＧＯＢ、マクロブロック、８×８画素のブロックに階層的に分割して符号化し、その符号化信号を復号するものである。
【０１２３】
しかし、この第４実施形態においては、自己同期回復機能を持つ可変長符号を複数のデータ要素で重複して用いること、符号化シンタックスでマクロブロックアドレス相対値ＭＢＡを用いないで符号化マクロブロックフラグＣＯＤ（第２実施形態と同様）を挿入すること、１つのＧＯＢの中のマクロブロックのヘッダをまとめてＧＯＢヘッダ情報の直後に挿入すること、まとめるマクロブロックヘッダ情報はマクロブロックデータを伝送する順序とは逆の順序で並べて挿入すること、復号側でのビデオ多重化復号器の動作等が、従来例と相違している。以下、相違点を中心にして第４実施形態を説明する。
【０１２４】
なお、マクロブロックデータを伝送する順序が、従来例や上記各実施形態と同様に、マクロブロックアドレスの小さい方から大きい方に向かう順序であるならば、マクロブロックヘッダ情報は、マクロブロックアドレスの大きい方から小さい方に向かう順序で並べられる。また逆に、マクロブロックデータを伝送する順序が、マクロブロックアドレスの大きい方から小さい方に向かう順序であるならば、マクロブロックヘッダ情報は、マクロブロックアドレスの小さい方から大きい順序で並べられる。以下では、前者であるとして説明を行なう。
【０１２５】
このように並べるようにしたのは、復号失敗時点から自己同期回復時点までの使用できないデータ量に比べて、画像が得られないマクロブロックの数を相対的に少なくするためである。
【０１２６】
図２２は、第４実施形態に係る符号器（図２参照）によって符号化された符号化ビット列と符号化シンタックスを示すものであり、図２３は、第４実施形態に係る符号器による多重化処理系統図を示している。さらに、図２４は、この第４実施形態に係る可変長符号の可変長符号化テーブルの構成を示すものである。
【０１２７】
図２２及び図２３において、フレーム層及びＧＯＢ層の観点からの符号化は、上記各実施形態と同様である。また、ブロック層の観点からの符号化は、上記第３実施形態と同様である。これら階層段階での符号化の説明は省略する。
【０１２８】
この第４実施形態において、マクロブロック層での符号化は、各マクロブロックのヘッダ情報の符号化が繰り返されて終了した後、ブロック層の符号化が繰り返される。ヘッダ情報の符号化は、マクロブロックに情報がない場合にも行なわれ、符号化マクロブロックフラグＣＯＤだけが挿入される。符号化マクロブロックフラグＣＯＤは、１ビットの固定長符号である。マクロブロックに情報がある場合には、符号化マクロブロックフラグＣＯＤ及びマクロブロックタイプ情報ＭＴＹＰＥが付加された後、第１〜第３実施形態と同様に、そのマクロブロックのタイプに応じて各種データ（ヘッダのデータ種類）が符号化される。
【０１２９】
この第４実施形態も、図３に示す動画像データの階層的分割を前提としており、従って、１個のＧＯＢについては、マクロブロックの情報があろうとなかろうと、３３個の符号化マクロブロックフラグＣＯＤが挿入されることとなり、このフラグＣＯＤは、上記第２実施形態と同様に復号器側で用いられる。そのため、マクロブロックアドレス相対値ＭＢＡや最終マクロブロックアドレス絶対値ＥＭＢＡの符号は削除される。
【０１３０】
全てのマクロブロックヘッダ情報の符号化が終了すると、マクロブロックデータの符号化に進むが、このとき、上述したように、マクロブロックヘッダ情報は、マクロブロックアドレスの大きい方から小さい方に向かう順序で並べられるので、マクロブロックデータは、マクロブロックアドレスの小さい方から大きい方に向かう順序で符号化される。
【０１３１】
この第４実施形態においても、図２４の可変長符号化テーブルに存在しない変換係数ＴＣＯＥＦＦの０ランとレベルの組合せが現れたときには、エスケープコードＥＳＣを挿入した後、０ランとレベルを固定長符号化したものを続けて挿入する。また、ＩＮＴＲＡモードの変換係数ＴＣＯＥＦＦの直流成分の前にエスケープコードＥＳＣＤＣを付加する。ブロック終了符号ＥＯＢ、エスケープコードＥＳＣ及び直流成分エスケープコードＥＳＣＤＣはそれぞれ、固定長符号化されるが、図２４に示す自己同期回復機能を持つ可変長符号系列の１個の符号が割り当てられる。ブロック終了符号ＥＯＢ、エスケープコードＥＳＣ及び直流成分エスケープコードＥＳＣＤＣの符号は他のデータ要素では用いられないものとなっている。図２４に示すように、直流成分エスケープコードＥＳＣＤＣとブロック終了符号ＥＯＢは同じ可変長符号語を用いているが、ブロック終了符号ＥＯＢは２つ続けて現れることがないので、可変長符号の復号中にその符号「１０」が２つ続けて現れたならば、前の「１０」は、ブロック終了符号ＥＯＢを表し、後ろの「１０」は直流成分エスケープコードＥＳＣＤＣを表すことが分かる。従って、直流成分エスケープコードＥＳＣＤＣとブロック終了符号ＥＯＢは同じ可変長符号語を用いても、不都合なく復号できる。
【０１３２】
この第４実施形態においても、図２３に示すように、マクロブロックタイプ情報ＭＴＹＰＥ、動きベクトル情報ＭＶＤ、有意ブロックパターンＣＢＰ及び変換係数ＴＣＯＥＦＦは可変長符号であるが、自己同期回復機能を持つ図２４に示す可変長符号に符号化される。この図２４に示すように、マクロブロックタイプ情報ＭＴＹＰＥ、動きベクトル情報ＭＶＤ、有意ブロックパターンＣＢＰ及び変換係数ＴＣＯＥＦＦについて、自己同期回復機能を持つ同じ可変長符号が用いられている。同一の可変長符号を異なるデータ種類で重ねて用いるようにしているのは、復号の際に、データ種類が異なっても自己同期回復機能が有効に働くと共に、可変長符号の最長符号語をできるだけ短くするためになされている。
【０１３３】
以上のようにして符号化されたデータ系列が入力される復号器の全体構成は、図２（ｂ）に示す構成を有し、大きく見た場合の復号処理は第３実施形態と同様である。また、ビデオ信号多重化復号器の詳細処理も第３実施形態と同様である。
【０１３４】
しかし、この第４実施形態においては、マクロブロックヘッダ情報がまとめて送られてくるので、このマクロブロックヘッダ情報をメモリに蓄えておく必要がある。誤りが生じているか否かは、第３実施形態と同様、ビデオ信号多重化復号器における可変長符号の復号において判断することができる。可変長符号に誤りが存在する場合には、可変長符号の境界を見失い、同期を喪失してしまう。誤りの生じる場所により次の２通りの場合分けを行なうことができる。
【０１３５】
（ｉ）　まとめて伝送されたマクロブロックヘッダの部分に誤りが生じた場合
この場合もまた、１ビットずつ系列をずらしながら、可変長符号語を検索し、可変長符号語を検出した後、可変長符号の復号を続けて行なう。予めメモリを用意しておき、最初に可変長符号語を検出した時点から、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでの可変長符号語をメモリに蓄えておく。まとめられたマクロブロックヘッダ情報は、マクロブロックデータと逆順に送られているので、バッファメモリに蓄えられている可変長符号語は、マクロブロックヘッダ情報では伝送されたはじめの部分に対応する。マクロブロックヘッダ情報の部分が誤っても、誤る前までのマクロブロックヘッダ情報に対応する部分は、バッファメモリに蓄えられた可変長符号語を復号することにより、画像データを復元することができる。
【０１３６】
（ｉｉ）まとめて伝送されたマクロブロックヘッダの部分以外（すなわち、ブロックデータ（ＴＣＯＥＦＦ、ＥＯＢ）の部分）に誤りが生じた場合
この場合は、第３実施形態と同様、１ビットずつ系列をずらしながら、可変長符号語を検索し、可変長符号語を検出した後、可変長符号の復号を続けて行なう。予めメモリを用意しておき、最初に可変長符語を検出した時点から、次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでの可変長符号語をメモリに蓄えておく。マクロブロックアドレスやＩＮＴＥＲ／ＩＮＴＲＡモードや有意ブロックパターン等のマクロブロックヘッダ情報は、すでに受けとって復号済みなので、それらの情報に従ってメモリに蓄えられた可変長符号語を復号していく。
【０１３７】
以下、検出した次のＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣから、可変長符号の同期回復した時点までのメモリに蓄えられたデータを復号する処理（図１０ステップＡ７参照）を、図２５のフローチャートを参照しながら詳述する。但し、まとめて送られてきたマクロブロックヘッダ情報は、復号してメモリに蓄えられていて、マクロブロックアドレスＭＢＡの符号化マクロブロックフラグＣＯＤ、マクロブロックタイプ情報ＭＴＹＰＥ、有意ブロックパターンＣＢＰ、動きベクトル情報ＭＶＤはそれぞれ、ＣＯＤ（ＭＢＡ）、ＭＴＹＰＥ（ＭＢＡ）、ＣＢＰ（ＭＢＡ）、ＭＶＤ（ＭＢＡ）で参照できるものとする。
【０１３８】
（１）　マクロブロックアドレスＭＢＡを３３とする。すなわち、初期状態として、最終マクロブロックアドレスを指示するものとする（ステップＦ１）。
【０１３９】
（２）　メモリに蓄えられたデータの最新のデータから時間的に前の方に向かって（時間的に逆方向）、ブロック終了符号ＥＯＢを検索する（ステップＦ２）。
【０１４０】
（３）　ブロック終了符号ＥＯＢが検出されたら符号化マクロブロックフラグＣＯＤ（ＭＢＡ）を参照する（ステップＦ３）。
【０１４１】
（４）　符号化マクロブロックフラグＣＯＤ（ＭＢＡ）がそのマクロブロックに情報がないことを表しているならば（「１」とする）、マクロブロックアドレスＭＢＡを１デクリメントする（ステップＦ４、Ｆ５）。なお、参照できない場合にも、この場合と同様に取り扱う。符号化マクロブロックフラグＣＯＤ（ＭＢＡ）がそのマクロブロックに情報があることを表すようになるまで（「０」とする）、マクロブロックアドレスＭＢＡの１デクリメント動作を繰り返す（ステップＦ６）。この繰り返し動作によって、マクロブロックアドレスＭＢＡが０以下になったらメモリを初期状態にして終了する（ステップＦ６）。
【０１４２】
（５）　符号化マクロブロックフラグＣＯＤ（ＭＢＡ）がそのマクロブロックに情報があることを表すようになったならば、メモリの検出されたブロック終了符号ＥＯＢの後から、時間的後ろの方に向かって、ブロック１つ分の復号を始める（ステップＦ７）。この復号時には、当然に、マクロブロックタイプ情報ＭＴＹＰＥ（ＭＢＡ）や動きベクトル情報ＭＶＤ（ＭＢＡ）が参照される。復号に成功したら有意ブロックパターンＣＢＰ（ＭＢＡ）を参照して、復号されたデータを対応するブロックのデータとした画像を得る（ステップＦ９）。このとき有意ブロックパターンＣＢＰ（ＭＢＡ）で表された全ての有意ブロックの復号が完了していたら、マクロブロックアドレスＭＢＡを１デクリメントして、上記処理（４）　に行く（ステップＦ１０、Ｆ５）。復号に失敗したらメモリを初期状態にして終了する（Ｆ８）。
【０１４３】
（６）　上述した処理（２）　〜処理（５）　を、それらの処理の中で終了されるまで繰り返す（ステップＦ１０）。
【０１４４】
図２６は、図２５のフローチャートに示す処理を補間する説明図である。誤りが生じた時点以降、自己同期回復するまでは可変長符号語（可変長符号に従う固定長符号語を含む）を切り出せないが、それ以降は、可変長符号語や固定長符号語を切り出してメモリに格納する。
【０１４５】
この例の場合、メモリに格納されたデータから、ＧＯＢ開始符号ＧＢＳＣが検出され、ここから時間を前に遡って、ブロック終了符号ＥＯＭの検出が行なわれる。ブロック終了符号ＥＯＭを検出すると、このブロック終了符号ＥＯＭに係るブロックの次のブロックがどのマクロブロック（アドレスＭＢＡ）に属しているものであるかを符号化マクロブロックフラグＣＯＤ（ＭＢＡ）に基づいて捕らえてマクロブロックタイプ情報ＭＴＹＰＥ（ＭＢＡ）や動きベクトル情報ＭＶＤ（ＭＢＡ）を参照して復号し、復号に成功したら有意ブロックパターンＣＢＰ（ＭＢＡ）を参照して、復号されたデータを対応するブロックのデータとした画像を得る。図２６の場合、どのマクロブロック内のブロックかは明らかでないが自己同期回復後のデータから２個のブロックについての画像が得られる。
【０１４６】
以上のように、第４実施形態においては、符号化マクロブロックフラグＣＯＤを用いて、マクロブロックアドレス（絶対値）を得て、可変長符号の同期回復した時点以降のメモリに蓄えられたデータを復号する。
【０１４７】
上記第４実施形態によれば、自己同期回復機能を持つ１種類の可変長符号を用いて符号化し、マクロブロックアドレス情報ＭＢＡの代わりに符号化マクロブロックフラグＣＯＤを用いて１つのＧＯＢの中のマクロブロックヘッダ情報をまとめてＧＯＢヘッダ情報の直後に挿入し、さらにＩＮＴＲＡモードの直流成分の前にＥＳＣＤＣを付加することにより、第３実施形態と同様、誤りが生じて可変長符号の同期を喪失しても、復号を続けていくと同期を回復し、誤りが生じてから、次に検出されたＧＯＢ開始符号ＧＢＳＣ又はフレーム開始符号ＰＳＣまでのデータの一部分を復号することができ、従来例では捨ててしまっていたデータの一部分を得ることができる。
【０１４８】
従って、第４実施形態においても、ビデオ信号が動き補償フレーム間予測を行なっている場合には、後に続くフレームへの誤差の伝搬を防止できてより誤りの少ない良好な復号画像を得ることができる。
【０１４９】
（Ｅ）他の実施形態
第１実施形態及び第２実施形態において、その可変長符号化テーブルとして、第３実施形態及び第４実施形態のような各可変長符号語が複数のデータ種類に重ねて用いられているものを適用しても良い。また逆に、第３実施形態及び第４実施形態において、その可変長符号化テーブルとして、第１実施形態及び第２実施形態のような各可変長符号語がそれぞれ、いずれかのデータ種類に対応しているものを適用しても良い。
【０１５０】
第４実施形態の場合、マクロブロックヘッダ情報の部分は、可変長符号の自己同期回復機能を利用しないので、変換係数ＴＣＯＥＦＦの可変長符号語にマクロブロックタイプ情報ＭＴＹＰＥ、有意ブロックパターンＣＢＰ、動きベクトル情報ＭＶＤの情報を割り当てることをせずに、従来例と同様、それぞれの情報に応じて、平均符号長が小さくなるような異なる可変長符号を用いることもできる。
【０１５１】
また、第４実施形態の場合、上記説明では、マクロブロック量子化情報ＭＱＵＡＮＴをデータ系列から削除していたが、マクロブロックヘッダ情報を先に復号することができるので、第１実施形態で述べたようなマクロブロック量子化情報ＭＱＵＡＮＴを挿入することによる問題は生じない。従って、第４実施形態の場合、マクロブロック毎の量子化ステップサイズの制御を行なうようにしても良い。
【０１５２】
なお、可変長符号されるデータ要素は上記各実施形態のものに限定されるものではない。例えば、マクロブロックタイプ情報ＭＴＹＰＥ、有意ブロックパターンＣＢＰ、動きベクトル情報ＭＶＤ等の１以上のデータ種類に固定長符号を割当てても良い。
【０１５３】
さらに、上記各実施形態は、図３に示す１フレームの分割方法を前提としたものであったが、１フレームの分割はこれに限定されるものではない。
【０１５４】
【発明の効果】
以上のように、本発明によれば、可変長符号化する全てのデータ種類に対し、自己同期回復機能を持つ可変長符号を用いて符号化し、それを復号側で復号するようにしたので、復号時に誤りが生じて可変長符号の同期を喪失しても、復号を続けていくと同期を回復し、可変長符号の同期回復した時点以降のデータを復号することができ、従来例では捨ててしまっていたデータの一部分を復号で得ることができ、復号画像の画質を向上できる。
【図面の簡単な説明】
【図１】第１実施形態の符号化ビット列及び符号化シンタックスを示す説明図である。
【図２】符号器及び復号器を示すブロック図である。
【図３】動画像データの階層的分割及び変換係数の伝送順序の説明図である。
【図４】従来の符号化ビット列及び符号化シンタックスを示す説明図である。
【図５】従来の可変長符号化テーブルを示す説明図である。
【図６】従来の多重化処理系統図（符号処理）を示す説明図である。
【図７】従来の復号器の処理を示すフローチャートである。
【図８】第１実施形態の多重化処理系統図（符号処理）を示す説明図である。
【図９】第１実施形態の可変長符号化テーブルを示す説明図である。
【図１０】第１実施形態の復号器の処理を示すフローチャートである。
【図１１】第１実施形態の同期回復したデータの復号処理を示すフローチャートである。
【図１２】第１実施形態と従来との復号可能なマクロブロックの相違を示す図である。
【図１３】第２実施形態の符号化ビット列及び符号化シンタックスを示す説明図である。
【図１４】第２実施形態の多重化処理系統図（符号処理）を示す説明図である。
【図１５】第２実施形態の可変長符号化テーブルを示す説明図である。
【図１６】第２実施形態の同期回復したデータの復号処理を示すフローチャートである。
【図１７】第３実施形態の符号化ビット列及び符号化シンタックスを示す説明図である。
【図１８】第３実施形態の多重化処理系統図（符号処理）を示す説明図である。
【図１９】第３実施形態の可変長符号化テーブルを示す説明図である。
【図２０】第３実施形態の同期回復したデータの復号処理を示すフローチャートである。
【図２１】第３実施形態の復号の様子を示す説明図である。
【図２２】第４実施形態の符号化ビット列及び符号化シンタックスを示す説明図である。
【図２３】第４実施形態の多重化処理系統図（符号処理）を示す説明図である。
【図２４】第４実施形態の可変長符号化テーブルを示す説明図である。
【図２５】第４実施形態の同期回復したデータの復号処理を示すフローチャートである。
【図２６】第４実施形態の復号の様子を示す説明図である。
【符号の説明】
２０１…情報源符号器、２０２…ビデオ信号多重化符号器、２０３…送信バッファ、２０４…伝送路符号器、２０５…符号化制御部、２０６…情報源復号器、２０７…ビデオ信号多重化復号器、２０８…受信バッファ、２０９…伝送路復号器。
【図１】
2004056806.tif 000003
【図２】
2004056806.tif 000004
【図３】
2004056806.tif 000005
【図４】
2004056806.tif 000006
【図５】
2004056806.tif 000007
【図６】
2004056806.tif 000008
【図７】
2004056806.tif 000009
【図８】
2004056806.tif 000010
【図９】
2004056806.tif 000011
【図１０】
2004056806.tif 000012
【図１１】
2004056806.tif 000013
【図１２】
2004056806.tif 000014
【図１３】
2004056806.tif 000015
【図１４】
2004056806.tif 000016
【図１５】
2004056806.tif 000017
【図１６】
2004056806.tif 000018
【図１７】
2004056806.tif 000019
【図１８】
2004056806.tif 000020
【図１９】
2004056806.tif 000021
【図２０】
2004056806.tif 000022
【図２１】
2004056806.tif 000023
【図２２】
2004056806.tif 000024
【図２３】
2004056806.tif 000025
【図２４】
2004056806.tif 000026
【図２５】
2004056806.tif 000027
【図２６】
2004056806.tif 000028