(57)【特許請求の範囲】
【請求項１】
順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、
前記符号化データを順方向から復号する順方向復号手段と、
前記符号化データを逆方向から復号する逆方向復号手段と、
前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、
前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、
前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする可変長復号化装置。
【請求項２】
前記符号化データのシンタクス上の誤り発見位置として、前記同期区間内の何番目の符号語に誤りが生じたかを示す符号語上の誤り発見位置が使用されることを特徴とする請求項１記載の可変長復号化装置。
【請求項３】
前記復号値決定手段は、
前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、前記ビット上の誤り発見位置および前記シンタクス上の誤り発見位置のいずれか一方において交差する場合、より交差量の多い誤り発見位置間に属する符号化データを廃棄し、その廃棄データ領域の直前までの符号語に対する復号値として順方向の復号結果を使用し、廃棄データ領域の直後からの符号語に対する復号値として逆方向の復号結果を使用することを特徴とする請求項１記載の可変長復号化装置。
【請求項４】
前記復号値決定手段は、
（ａ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
前記順方向復号化手段による前記ビット上またはシンタクス上の誤り発見位置の一定量手前までの符号語に対する復号値として順方向の復号結果を使用し、前記逆方向復号手段による前記ビット上またはシンタクス上の誤り発見位置の一定量後からの符号語に対する復号値として逆方向の復号結果を使用し、残りの符号化データを廃棄し、
（ｂ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差する部分の符号化データを廃棄し、
（ｃ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
前記逆方向復号化手段によるビット上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、ビット上誤り発見位置が交差する部分の符号化データを廃棄し、
（ｄ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置として選択して、
前記逆方向復号化手段による誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段での誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、誤り位置が交差する部分の符号化データを廃棄することを特徴とする請求項１記載の可変長復号化装置。
【請求項５】
動画像信号を直交変換することによって得られた変換係数を順方向にも逆方向にも復号可能な符号語を用いて符号化することによって生成された可変長符号を含む前記動画像信号の符号化データを、所定の同期区間毎に復号する動画像復号化装置において、
前記符号化データの同期区間を検出する手段と、
前記同期区間検出手段により検出された所定の同期区間の符号化データを順方向から復号する順方向復号手段と、
前記同期区間検出手段により検出された所定の同期区間の符号化データを逆方向から復号する逆方向復号手段と、
前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを有し、
前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、
前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする動画像復号化装置。
【請求項６】
前記各同期区間内の符号化データはそれぞれ動画像信号の予測符号化の単位となる複数のマクロブロックの変換係数を含み、
前記符号化データのシンタクス上の誤り発見位置として、前記同期区間内の何番目のマクロブロックに誤りが生じたかを示すマクロブロック上の誤り発見位置が使用されることを特徴とする請求項５記載の動画像復号化装置。
【請求項７】
前記各同期区間内の符号化データはそれぞれ動画像信号の予測符号化の単位となる複数のマクロブロックの変換係数を含み、
前記復号値決定手段は、
（ａ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
前記順方向復号化手段によるビット上またはシンタクス上の誤り発見位置の一定量手前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記逆方向復号手段によるビット上またはシンタクス上の誤り発見位置の一定量後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、残りのマクロブロックの変換係数からなる符号化データを廃棄し、
（ｂ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
（ｃ）前記順方向復号化手段および逆方向復号化手段での誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
前記逆方向復号化手段によるビット上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、ビット上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
（ｄ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置と選択して、
逆方向復号化手段による誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手による誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄することを特徴とする請求項５記載の動画像復号化装置。
【請求項８】
前記復号値決定手段は、
前記同期区間内の符号化データに誤りが検出された場合、誤りが検出されなかったマクロブロックの内で、フレーム内符号化を行ったマクロブロックの変換係数からなる符号化データを、一部または全て廃棄することを特徴とする請求項５または請求項７記載の動画像復号化装置。
【請求項９】
前記復号値決定手段は、
符号化データを廃棄したマクロブロックについて、フレーム内符号化モードの場合は前画面を表示するか、符号化を行わないモードとして処理し、フレーム間予測符号化モードの場合は動き補償を行うことを特徴とする請求項５または請求項７記載の動画像復号化装置。
【請求項１０】
順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化方法において、
前記符号化データをその符号化データに誤りが検出されるまで順方向から復号し、
前記順方向からの復号において前記符号化データに誤りが検出されたとき、前記符号化データを逆方向から復号し、
前記順方向および逆方向からの復号結果と、前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データのビット上の誤り発見位置と前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする可変長符号化データの復号化方法。
【請求項１１】
前記順方向からの復号および逆方向からの復号における誤り発見位置が、前記ビット上の誤り発見位置および前記シンタクス上の誤り発見位置のいずれか一方において交差する場合、より交差量の多い誤り発見位置間に属する符号化データを廃棄し、その廃棄データ領域の直前までの符号語に対する復号値として順方向の復号結果を使用し、廃棄データ領域の直後からの符号語に対する復号値として逆方向の復号結果を使用することを特徴とする請求項１０記載の復号化方法。
【請求項１２】
順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号するための手順を含むコンピュータプログラムが記録された記録媒体であって、
前記プログラムは、
前記符号化データをその符号化データに誤りが検出されるまで順方向から復号する手順と、
前記順方向からの復号において前記符号化データに誤りが検出されたとき、前記符号化データを逆方向から復号する手順と、
前記順方向および逆方向からの復号結果と、前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データのビット上の誤り発見位置と前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定する手順とを含むことを特徴とする記録媒体。
【請求項１３】
順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、
前記符号化データを順方向から復号する順方向復号手段と、
前記符号化データを逆方向から復号する逆方向復号手段と、
前記順方向復号手段および逆方向復号化手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、
前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、
前記復号値決定手段は、前記順方向および逆方向復号手段で検出した符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定することを特徴とする可変長復号化装置。
【請求項１４】
順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化方法において、
前記符号化データをその符号化データに誤りが検出されるまで順方向から復号し、
前記順方向からの復号において前記符号化データに誤りを検出したとき、前記符号化データを逆方向から復号し、
前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定することを特徴とする可変長復号化方法。
【請求項１５】
順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号するための手段を含むコンピュータプログラムが記録された記録媒体であって、
前記プログラムは、
前記符号化データをその符号化データに誤りが検出されるまで順方向から復号する手順と、
前記順方向からの復号において前記符号化データに誤りが検出されたとき、前記符号化データを逆方向から復号する手順と、
前記順方向および逆方向からの復号結果と、前記順方向および逆方向からの復号においてそれぞれ検出された前記符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定する手順とを含むことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば動画像信号などの圧縮符号化に用いられる可変長符号から構成される符号化データを復号する可変長復号化装置および復号化方法に関する。
【０００２】
【従来の技術】
可変長符号は、シンボルの発生頻度に基づいて、頻繁に出現するシンボルは短い符号長の符号、希にしか出現しないシンボルは長い符号長の符号をそれぞれ割り当てることにより、平均的に短い符号長となるようにした符号系である。従って、可変長符号を用いると、符号化前のデータと比較して、データ量を大幅に圧縮することができる。このような理由から、可変長符号は広く情報圧縮のための符号として用いられている。
【０００３】
動画像符号化方式においても、ＭＰＥＧ１，ＭＰＥＧ２，Ｈ. ２６１，Ｈ. ２６３といった一般的な標準方式で、可変長符号が用いられている。
【０００４】
可変長符号の一般的な問題として、符号化データに伝送路誤りやその他の理由で誤りが混入した場合に、誤りが混入した以後のデータについては、その影響が伝搬することにより復号化装置で正しく復号することができなくなってしまうという点が挙げられる。この問題を避けるため、伝送路において誤りが生じる可能性がある場合には、ある間隔で同期符号を挿入し、誤りの伝搬を防止する方法がとられるのが一般的である。同期符号には、可変長符号の組み合わせでは出現しないようなビットパターンが割り当てられる。この方法によれば、符号化データに誤りが生じ、復号できなくなったとしても、次の同期符号を見つけてそこから復号を再開することにより、誤りの伝搬を防止でき、復号を継続して行うことが可能となる。
【０００５】
しかし、同期符号を用いた場合でも、図５６（ａ）に示すように誤りが生じて正しく復号できなくなった位置から、次の同期符号が見つかる位置までの間の符号化データについては、復号を行うことができない。
【０００６】
そこで、順方向及び逆方向の双方向に復号可能な可変長符号を用いて、図５６（ｂ）に示すように次の同期符号から逆方向に復号することにより、復号できない部分を減らすことのできる可変長符号化／復号化装置が本出願人による特許出願（特願平７−２６０３８３号および特願平９−８１６１４号）で提案されている。
【０００７】
しかし、このような可変長符号化／復号化装置を用いた場合でも、符号化データの誤りを検出できるのは、可変長符号の符号語として使用してないビットパターンが出現した場合等であるため、本当に誤りが混入した位置ではなく、それよりもかなり後の位置で誤りの発生が発見される場合がある。これは、実際に誤りが混入した位置であっても、そこに可変長符号の符号語に使用されてないビットパターンが必ず出現するとは限らず、可変長符号の符号語に使用されているビットパターンの中に該当するものがある限り、復号化処理は継続して行われてしまうからである。したがって、本来は正しくない符号語が誤って正しい符号語として復号化されてしまうという問題が生じることになる。
【０００８】
一方、これまで、動画像符号化・復号化装置の伝送路誤り対策としては、様々な方法が検討されている。例えば、文献（“画像符号化技術”、黒田英夫著、昭晃堂、１９９６）には、伝送路誤り対策としていくつかの方法が開示されている。その内、復号化器側で行う技術としては、エラーコンシールメントが紹介されている。エラーコンシールメントは、符号化データに欠落があった場合、画面上の周囲の動きベクトルなどを使って、誤りの影響ができるだけ画面に現れないようにするテクニックである。
【０００９】
しかし、本来は正しくない符号語が正しいものとして復号されてしまった場合には、上述のエラーコンシールメントなどのように誤りの影響ができるだけ現れないようにするテクニックを用いることはできず、画面に誤りの影響が現れてしまうという問題が発生する。
【００１０】
特に、フレーム内符号化（ＩＮＴＲＡ）モードでの誤りの影響はフレーム間予測符号化（ＩＮＴＥＲ）モードの場合と比べて大きく、不自然な色のブロックが画面上に現れるなどの問題があった。
【００１１】
【発明が解決しようとする課題】
上述したように、従来の可変長復号化装置では、可変長符号を復号する際に、本来は正しくない符号語を誤って正しい符号語として復号してしまうことがあり、可変長符号化された動画像信号の復号に適用した場合には画面に誤りの影響が現れてしまうなどの問題があった。
【００１２】
本発明はこのような実情に鑑みてなされたものであり、本来は正しくない符号語が誤って正しい符号語として復号されてしまうという事態の発生を低減できるようにし、十分な誤り耐性を実現できる可変長復号化装置および復号化方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、前記符号化データを順方向から復号する順方向復号手段と、前記符号化データを逆方向から復号する逆方向復号手段と、前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする。
【００１４】
この可変長復号化装置においては、順方向復号化手段および逆方向復号手段それぞれによって誤りが発見された場合、その誤り発見位置がビット上の位置とシンタクス上の位置との２種類の位置情報として復号値決定手段に通知される。従って、ビット上の誤り発見位置とシンタクス上の誤り発見位置とで２重に本当の誤り位置をチェックできるようになり、かなりの確率で正しい符号語のみに対応する復号結果だけを利用できるようになり、本来は正しくない符号語が誤って正しい符号語として復号されてしまうことを低減することが可能となる。
【００１５】
また、前記復号値決定手段による復号値決定方法としては、
（ａ）前記順方向復号化手段および逆方向復号化手段での誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
前記順方向復号化手段による前記ビット上またはシンタクス上の誤り発見位置の一定量手前までの符号語に対する復号値として順方向の復号結果を使用し、前記逆方向復号手段による前記ビット上またはシンタクス上の誤り発見位置の一定量後からの符号語に対する復号値として逆方向の復号結果を使用し、残りの符号化データを廃棄し、
（ｂ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差する部分の符号化データを廃棄し、
（ｃ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
前記逆方向復号化手段によるビット上の誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、ビット上誤り発見位置が交差する部分の符号化データを廃棄し、
（ｄ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置と選択して、
前記逆方向復号化手段による誤り発見位置の直前までの符号語に対する復号値として順方向の復号結果を使用し、前記順方向復号手段での誤り発見位置の直後からの符号語に対する復号値として逆方向の復号結果を使用し、誤り位置が交差する部分の符号化データを廃棄することが好ましい。
【００１６】
このように、可変長符号の誤り発見位置が本来の誤りが入った位置よりもかなり後になることを考慮して、順方向にも逆方向にも誤り発見位置が交差しない（ａ）の場合は、誤り発見位置よりも一定量さかのぼった位置までの符号語を使用し、順方向か逆方向の誤り発見位置が何らかの形で交差する（ｂ）〜（ｄ）については、交差範囲が広い部分を廃棄することにより、本来は間違っている部分を正しいと判断してしまうということを、効果的に防止することが可能となる。
【００１７】
また、本発明は、動画像信号を直交変換することによって得られた変換係数を順方向にも逆方向にも復号可能な符号語を用いて符号化することによって生成された可変長符号を含む前記動画像信号の符号化データを、所定の同期区間毎に復号する動画像復号化装置において、前記符号化データの同期区間を検出する手段と、前記同期区間検出手段により検出された所定の同期区間の符号化データを順方向から復号する順方向復号手段と、前記同期区間検出手段により検出された所定の同期区間の符号化データを逆方向から復号する逆方向復号手段と、前記順方向復号化手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを有し、前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、前記復号値決定手段は、前記順方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置と、前記逆方向復号化手段によって検出された前記符号化データの誤り位置を示す前記符号化データのビット上の誤り発見位置および前記符号化データのシンタクス上の誤り発見位置とを利用して、復号値を決定することを特徴とする。
【００１８】
一般に、動画像符号化方式の性質上、本来正しい部分を廃棄してしまうことによる影響よりも、本来間違っている部分を正しいものと判断してしまうことによる影響の方が表示画面に与える影響が大きい。したがって、ビット上の誤り発見位置とシンタクス上の誤り発見位置とで２重チェックを行うことにより、本来間違っている部分を正しいものと判断してしまうことによる表示画面への影響を大幅に低減することが可能となる。
【００１９】
また、この動画像復号化装置における復号値決定手段の復号値決定方法としては、
（ａ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差しない場合、
前記順方向復号化手段によるビット上またはシンタクス上の誤り発見位置の一定量手前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記逆方向復号手段によるビット上またはシンタクス上の誤り発見位置の一定量後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、残りのマクロブロックの変換係数からなる符号化データを廃棄し、
（ｂ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置では交差しないが、シンタクス上の位置で交差する場合、
前記逆方向復号化手段によるシンタクス上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるシンタクス上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、シンタクス上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
（ｃ）前記順方向復号化手段および逆方向復号化手段での誤り発見位置が、ビット上の位置で交差するが、シンタクス上の位置では交差しない場合、
前記逆方向復号化手段によるビット上の誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手段によるビット上の誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、ビット上の誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄し、
（ｄ）前記順方向復号化手段および逆方向復号化手段による誤り発見位置が、ビット上の位置でもシンタクス上の位置でも交差する場合、
交差する部分が最大となる位置を誤り発見位置と選択して、
逆方向復号化手段による誤り発見位置の直前までのマクロブロックに対する復号値として順方向の復号結果を使用し、前記順方向復号手による誤り発見位置の直後からのマクロブロックに対する復号値として逆方向の復号結果を使用し、誤り発見位置が交差するマクロブロックの変換係数からなる符号化データを廃棄することが好ましい。
【００２０】
このように、可変長符号の誤り発見位置が本来の誤りが入った位置よりもかなり後になることを考慮して、順方向にも逆方向にも誤り発見位置が交差しない（ａ）の場合は、誤り発見位置よりも一定量さかのぼった位置までのマクロブロックを使用し、順方向か逆方向の誤り発見位置が何らかの形で交差する（ｂ）〜（ｄ）については、交差範囲が広い部分を廃棄することにより、本来は間違っている部分を正しいと判断してしまうということによる表示画面への影響を防止することが可能となる。
【００２１】
さらに、前記復号値決定手段は、前記同期区間内の符号化データに誤りが検出された場合、誤りが検出されなかったマクロブロックの内で、フレーム内符号化を行ったマクロブロックの変換係数からなる符号化データを、一部または全て廃棄することを特徴とする。
【００２２】
フレーム内符号化モードは、誤りが生じた場合に画面に与える影響が大きい。具体的には、間違った係数が表示されることによって不自然な色のブロックが画面内に現れるという現象が生じる。従って、同期区間内に少なくとも誤りが生じていることが分かっているのであれば、フレーム内符号化モードのマクロブロックを廃棄しておく方が画面への影響を少なくすることができる。
【００２３】
また、さらに、前記復号値決定手段は、符号化データを廃棄したマクロブロックについて、フレーム内符号化モードの場合は前画面を表示するか、符号化を行わないモードとして処理し、フレーム間予測符号化モードの場合は動き補償を行うことを特徴とする。
【００２４】
ＤＣＴ係数を廃棄した場合、フレーム内符号化モードの場合には、動きベクトルがないので、前画面を表示するか、符号化を行わないモードとして処理し、フレーム間符号化の場合には、上位階層の動きベクトルがあるので、それを利用して動き補償を行うことで、ＤＣＴ係数が無くともかなり自然な画像を作成することが可能となる。
【００２５】
また、本発明は、順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなる符号化データを、所定の同期区間毎に復号する可変長復号化装置において、前記符号化データを順方向から復号する順方向復号手段と、前記符号化データを逆方向から復号する逆方向復号手段と、前記順方向復号手段および逆方向復号手段の復号結果から最終的な復号結果を出力する復号値決定手段とを具備し、前記順方向復号化手段および逆方向復号手段の各々は前記符号化データの誤りを検出する手段を有し、前記復号値決定手段は、前記順方向および逆方向復号手段で検出した符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定することを特徴とする。
【００２６】
この可変長復号化装置においては、伝送系または蓄積系の誤り率と符号語の性能に応じて、誤り発見位置から、実際の誤りが存在する位置を確率的に推定することで、本来は正しくない符号語が誤って正しい符号語として復号されてしまうことを一定確率以下に低減することが可能となる。
【００２７】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【００２８】
（第１の実施形態）
図１には、本発明の第１実施形態に係る可変長符号化／復号化装置の構成が示されている。この可変長符号化／復号化装置は、可変長符号化データの生成およびその復号を行うものであり、可変長符号化データには同期符号が定期的に挿入され、また可変長符号として順方向及び逆方向の双方向に復号可能なリバーシブル符号（Ｒｅｖｅｒｓｉｂｅｌ  ＶＬＣ）が用いられている。
【００２９】
可変長符号化装置１１は、図示のように、符号化器１１１、符号語テーブル１１２、および同期区間設定部１１３から構成されている。符号語テーブル１１２には、各情報シンボルに対応して予め作成された可変長符号語が格納されている。この符号語テーブル１１２の中には、順方向にも逆方向にも復号可能なリバーシブル符号も各情報シンボルに対応して格納されている。符号化器１１１は、符号語テーブル１１２を参照して情報シンボルを可変長符号語に符号化するものであり、符号語テーブル１１２に格納されている符号語の中から入力された情報シンボルに対応した符号語を選択して出力する。同期区間設定部１１３では、符号化器１１１が選択した符号語を同期区間毎にまとめ、さらに順方向にも逆方向にも復号可能なスタッフィング符号を挿入して、同期区間毎に符号化データを出力する。この符号化データは、伝送系または蓄積系１３を通して可変長復号化器１２に送られる。
【００３０】
可変長復号化器１２は、同期区間検出部１２１、バッファ１２２、２つのスイッチＳ，Ｔ、順方向復号化器１２３、順方向符号語テーブル１２４、復号値決定部１２５、逆方向復号化器１２６、および逆方向符号語テーブル１２７から構成されている。
【００３１】
可変長復号化器１２においては、同期区間検出部１０６によって、伝送系または蓄積系１３より入力された符号化データの同期区間が検出され、その同期区間毎に符号化データの復号処理が行われる。
【００３２】
伝送系または蓄積系１３より入力された符号化データが順方向のみ復号可能な可変長符号の場合は、スイッチＳはＡ側につながれ、順方向復号化器１２３によって順方向符号語テーブル１２４を用いた通常の順方向復号が行われる。順方向復号化器１２３によって復号された符号化データは復号値決定部１２５に送られる。
【００３３】
符号化データが双方向に復号可能な可変長符号の場合は、スイッチＳはＢ側につながれ、同期区間内の全ての符号化データはバッファ１２２に一旦蓄えられる。そして、順方向復号化器１２３等によってバッファ１２２に蓄えられた符号化データのビット数をカウントすることなどにより、双方向に復号可能な可変長符号からなる符号化データの総ビット数が調べられる。この後、バッファ１２２から符号化データが読み出され、順方向復号化器１２３によって順方向符号語テーブル１２４を用いた通常の順方向復号が開始される。この順方向復号は、符号化データに誤りがあるか否かを調べながら行われる。
【００３４】
具体的には、順方向符号語テーブル１２４に存在しないビットパターンが出現した場合や、復号化した符号化データのビット長の合計が前述の総ビット数に達しないまま復号化すべきデータが無くなった場合、あるいは、シンタクス（符号化データの文法上の規則）上あり得ない状態が生じた場合などに、その発見位置で誤りが生じていると検出する。シンタクス上あり得ない状態とは、例えば、上位階層の符号化データによって下位階層の対応する各符号化データに含まれる符号語数が指定されている場合に、その指定された符号語数と、各符号化データに含まれる符号語数とが一致しない状態などを意味する。
【００３５】
どのような条件で符号化データの誤りが発見された場合であっても、誤り発見以前に復号化が正常に完了している順方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置とが復号値判定部１２５に送られる。ここで、ビット上の誤り発見位置は、同期開始から数えて誤りが検出された位置が何ビット目の符号化データであるかを示し、またシンタクス上の誤り発見位置としては、例えば、その同じ誤りについてそれが検出された位置が同期開始から数えて何符号語目の符号化データであるかなど示す。
【００３６】
順方向復号化器１２３によって誤りが発見された場合には、スイッチＴがオンされ、バッファ１２２に蓄えられた符号化データが今度は逆方向復号化器１２６に送られ、そこで逆方向符号語テーブル１２７を用いた逆方向からの復号が開始される。この逆方向復号も、符号化データに誤りがあるか否かを調べながら行われる。誤り検出の条件は順方向復号化器１２３の場合と同一であり、逆方向復号において誤りが発見された場合には、誤り発見以前に復号化が正常に完了している逆方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置が復号値判定部１２５に送られる。
【００３７】
復号値決定部１２５では、順方向復号化器１２３の復号結果と逆方向復号化器１２６の復号結果をつきあわせて最終的な復号結果を決定する。すなわち、順方向復号化器１２３および逆方向復号化器１２６それぞれから通知されるビット上とシンタクス上の双方の誤り発見位置に基づいて正しい符号語と正しくない符号語との境界が２重に判定され、かなりの確率で正しい符号語と想定される符号語についてのみその復号値として順方向からの復号結果と逆方向からの復号結果が選択的に用いられ、それ以外の符号語は廃棄される。
【００３８】
図２は、本実施形態の符号化データのシンタクスの一例を示した図である。
【００３９】
図２（ａ）に示されているように、符号化データは上位階層のＤ情報と下位階層のＧ情報との２つの階層に分かれており、１つのＤの符号語に対して、Ｇの符号語がｍ個づつ存在するように符号化されている。Ｄ情報がｎ個の符号語から構成される場合には、そのＤ情報に続くＧ情報はｎ×ｍ個の符号語から構成されることになる。ここでは、Ｄ情報とそれに続くＧ情報とを単位として同期区間が設定されており、そこには再同期マーカ（ＲＭ１）が挿入されている。また、Ｄ情報とＧ情報の間にも再同期マーカ（ＲＭ２）が設定されている。
【００４０】
また、Ｄ情報は、通常の順方向のみ復号可能な可変長符号で符号化されており、Ｇ情報は双方向に復号可能な可変長符号で復号されている。従って、このシンタクスでは、Ｇ情報の総符号語数は、Ｄ情報を復号した時点で判明し、ｎ×ｍ個あることがわかる。このＧ情報の総符号語数の値は、誤り発見位置をシンタクス上の位置で示すため、つまり同期開始位置から終了位置までに属する符号語の中の何番目の符号語にて発生したかを判定するため等に用いられる。
【００４１】
図３および図４は、双方向復号可能な可変長符号から構成されるＧ情報の符号化データを復号する場合における復号値決定部３０４の動作を示した図である。
【００４２】
はじめに、Ｇ情報について次のような関数を定義する。
【００４３】
Ｌ            …総ビット数
Ｗ            …総符号語数（＝ｎ×ｍ）
Ｗ１          …順方向に復号した符号語数
Ｗ２          …逆方向に復号した符号語数
Ｌ１          …順方向に復号したビット数
Ｌ２          …逆方向に復号したビット数
ｆ_code(L1)   …順方向にＬ１ビット復号した時の符号語数
ｂ_code(L2)   …逆方向にＬ２復号した時の符号語数
図３（ａ）は、順方向復号化器１２３および逆方向復号化器１２６それぞれによる誤り発見位置が、ビット上の位置でも符号語上の位置でも交差しない場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＷ１＋Ｗ２＜Ｗとなる場合を示している。この場合は、Ｔ符号語さかのぼった位置までの符号化データを使うことにし、順方向から、Ｗ１−Ｔ個、逆方向から、Ｗ２−Ｔ個の符号語を使用し、残りの符号語を廃棄する。
【００４４】
ここでは、Ｔ符号語さかのぼることにしたが、Ｇ情報をＴビットあるいはＴブロックさかのぼることにしてもよい。
【００４５】
図３（ｂ）は、順方向復号化器１２３および逆方向復号化器１２６それぞれによる誤り発見位置が、ビット上の位置では交差しないが、符号語上の位置で交差する場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＷ１＋Ｗ２≧Ｗとなる場合を示している。このような状況は、例えば実際に誤りが混入している位置からしばらくは、符号化データに含まれる各符号語が、その本当のビット数よりも少ないビット数のビットパターンを持つ符号語として復号化されてしまった場合などに発生する。
【００４６】
この場合は、順方向から、Ｗ−Ｗ２個、逆方向から、Ｗ−Ｗ１個の符号語を使用し、残りの符号語を廃棄する。
【００４７】
図４（ａ）は、順方向復号化器１２３および逆方向復号化器１２６それぞれによる誤り発見位置が、ビット上の位置で交差するが、符号語上の位置では交差しない場合、つまり、Ｌ１＋Ｌ２≧Ｌ、かつＷ１＋Ｗ２＜Ｗとなる場合を示している。このような状況は、例えば実際に誤りが混入している位置からしばらくは、符号化データに含まれる各符号語が、その本当のビット数よりも多いビット数を持つビットパターンの符号語として復号化されてしまった場合などに発生する。
【００４８】
この場合には、順方向から、Ｗ−ｂ_code(L2) マクロブロック、逆方向から、Ｗ−ｆ_code(L1) マクロブロックの符号語を使用し、残りの符号語を廃棄する。
【００４９】
図４（ｂ）は、順方向復号化器１２３および逆方向復号化器１２６それぞれによる誤り発見位置が、ビット上の位置でも符号語上の位置でも交差する場合、つまり、Ｌ１＋Ｌ２≧ＬかつＷ１＋Ｗ２≧Ｗとなる場合を示している。この場合は、順方向から、 min｛Ｗ−ｂ_code(L2) ，Ｗ−Ｗ２｝個、逆方向から、 min｛Ｗ−ｆ_code(L1) ，Ｗ−Ｗ１｝個の符号語を使用し、残りの符号語を廃棄する。
【００５０】
なお、ここでは、図２のシンタクスを用いることにより、Ｇ情報の総符号語数が判明することを利用して、シンタクス上の位置として符号語の位置を用いたが、その他、シンタクスを利用した論理的な位置を用いるのであれば、どのようなものでも適用は可能である。
【００５１】
次に、本実施形態の可変長復号化器１２による復号化処理方法の手順について説明する。
【００５２】
本復号化処理方法は、図１で説明したように、基本的には、双方向から復号可能な可変長符号語を用いた符号化データに誤りが検出されるまでは順方向からの復号化処理を行い、この順方向からの復号化処理において誤りが検出されたとき、今度は、その符号化データに誤りが検出されるまで逆方向からの復号化処理を開始し、そして、順方向および逆方向からの復号結果と、順方向および逆方向からの復号においてそれぞれ検出された符号化データのビット上の誤り発見位置とシンタクス上の誤り発見位置とを利用して復号値を決定するというものである。
【００５３】
図５は、リバーシブル符号からなる可変長符号化データの復号化処理方法の手順を示すフローチャートである。
【００５４】
まず、前述の関数Ｌ，Ｗ，Ｗ１，Ｗ２，Ｌ１，Ｌ２，ｆ_ code(L1)，ｂ_ code(L2)を定義してから、同期区間の先頭のＧ情報から順方向の復号を開始する（ステップＳ１０１）。もしこの順方向の復号処理で同期区間内に何ら誤りが発見されなければ、復号処理を終了する（ステップＳ１０２）。一方、もし順方向の復号処理で誤りが発見された場合には、同期区間の末尾のＧ情報から逆方向の復号を開始する（ステップＳ１０３）。順方向の復号処理で誤りが発見された場合には、通常、逆方向の復号処理でも誤りが発見されることになる。
【００５５】
もし、誤り発見位置がビット上の位置でも符号語上の位置でも交差しない場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＷ１＋Ｗ２＜Ｗとなる場合は（ステップＳ１０４）、Ｔ符号語さかのぼった位置までの符号化データを使うこととし、順方向から、Ｗ１−Ｔ個、逆方向から、Ｗ２−Ｔ個の符号語を使用し、残りの符号語を廃棄する（ステップＳ１０５）。
【００５６】
もし、誤り発見位置が、ビット上の位置では交差しないが、符号語上の位置で交差する場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＷ１＋Ｗ２≧Ｗとなる場合は（ステップＳ１０６）、順方向から、Ｗ−Ｗ２個、逆方向から、Ｗ−Ｗ１個の符号語を使用し、残りの符号語を廃棄する（ステップＳ１０７）。
【００５７】
もし、誤り発見位置が、ビット上の位置で交差するが、符号語上の位置では交差しない場合、つまり、Ｌ１＋Ｌ２≧Ｌ、かつＷ１＋Ｗ２＜Ｗとなる場合には（ステップＳ１０８）、順方向から、Ｗ−ｂ_code(L2) マクロブロック、逆方向から、Ｗ−ｆ_code(L1) マクロブロックの符号語を使用し、残りの符号語を廃棄する（ステップＳ１０９）。
【００５８】
もし、誤り発見位置が、それ以外の場合、具体的には、ビット上の位置でも符号語上の位置でも交差する場合、つまり、Ｌ１＋Ｌ２≧Ｌ、かつＷ１＋Ｗ２≧Ｗとなる場合には、順方向から、 min｛Ｗ−ｂ_code(L2) ，Ｗ−Ｗ２｝個、逆方向から、min ｛Ｗ−ｆ_code(L1) ，Ｗ−Ｗ１｝個の符号語を使用し、残りの符号語を廃棄する（ステップＳ１１０）。
【００５９】
（第２の実施形態）
図６には、本第２実施形態に係る動画像信号の可変長符号化／復号化装置の構成が示されている。
【００６０】
この動画像符号化／復号化装置は、動画像符号化器２１、動画像復号化器２２、および伝送系または蓄積系２３から構成されている。
【００６１】
動画像符号化器２１においては、情報源符号化器２０２で符号化されたデータは動画像多重化器２０３にて上位階層と下位階層とに分けられてそれぞれ可変長符号化され、そしてそれらの多重化および同期区間の設定等が行われ、そして送信バッファ２０４で平滑化された後、符号化データとして伝送系または蓄積系２３に送り出される。符号化制御部２０１は、送信バッファ２０４のバッファ量を考慮して、情報源符号化器２０２と動画像多重化器２０３の制御を行う。
【００６２】
一方、動画像復号化器２２においては、伝送系または蓄積系２３からの符号化データが受信バッファ２０５に溜められ、動画像多重化分離器２０６で符号化データの同期区間毎に上位階層と下位階層との多重化分離とそれらの可変長復号化が行われた後、情報源復号化器２０７に送られ、最終的に動画像情報が復号化される。
【００６３】
ここで、動画像多重化器２０３および動画像多重化分離器２０６には、第１実施形態で説明した可変長符号化／復号化装置が適用されている。
【００６４】
図７は、本第２実施形態における動画像多重化分離器２０６のブロック図である。
【００６５】
受信バッファ２０５で受信された符号化データは、多重化分離器５０１に送られ、そこで同期区間が検出されて、同期区間毎に上位階層と下位階層の符号化データを分離し、それぞれ上位階層可変長復号化器５０２、下位階層可変長復号化器５０３に送られ、可変長復号化される。
【００６６】
図８は、本第２実施形態で用いられる動画像符号化データのシンタクスを示している。
【００６７】
符号化データは、ビデオパケット毎に上位階層と下位階層に階層化されている。上位階層データと下位階層データには、それぞれ再同期マーカ（ＲＭ）とモーションマーカ（ＭＭ）によって同期区間が設定されている。また、下位階層のＳＴはスタッフィング符号である。
【００６８】
このシンタクスでは、動画像信号の予測符号化の単位となるマクロブロックのモード情報の一部と動きベクトル情報を上位階層とし、モード情報の一部と、ＩＮＴＲＡ  ＤＣ（フレーム内符号化におけるＤＣＴ係数のＤＣ値）と、ＤＣＴ係数情報を下位階層としている。これら各情報間にもその区切りを示す同期符号が設定されている。また、ＤＣＴ係数情報には、リバーシブル符号を適用している。
【００６９】
通常、ビデオパケットは複数のマクロブロックを含んでおり、上位階層のヘッダ情報にはそのビデオパケットに含まれる先頭のマクロブロック番号が設定されている。また、上位階層におけるモード情報１と動きベクトル情報はマクロブロック毎に設定されており、モード情報１と動きベクトル情報とのループの数は、そのビデオパケットに含まれるマクロブロックの個数だけ存在する。
【００７０】
図９は、本第２実施形態における下位階層可変長復号化器５０３の構成を示すブロック図である。
【００７１】
前述したように図７の多重化分離器５０１で同期区間毎に上位階層と下位階層の符号化データに分離されたデータのうち下位階層の符号化データは、下位階層可変長復号化器５０３に送られる。
【００７２】
この下位階層可変長符号化器５０３では、シンタクス上で、ＤＣＴ係数情報になるまでは、スイッチＳはＡ側につながれて、順方向復号化器７０４によって順方向符号語テーブル７０３を用いた通常の順方向復号が行われる。順方向復号化器７０４で復号された符号化データは、復号値決定部７０５に送られ、誤りが発見された場合には、上位階層可変長復号化器５０２の復号結果とつきあわせて復号結果を決定する。
【００７３】
符号化データがＤＣＴ係数情報の場合は、スイッチＳはＢ側につながれ、同期区間内の全てのＤＣＴ係数情報はバッファ７０２に蓄えられる。そして、順方向復号化器７０４等によってバッファ７０２に蓄えられた符号化データのビット数をカウントすることなどにより、双方向に復号可能な可変長符号からなるＤＣＴ係数情報の総ビット数が調べられる。この後、バッファ７０２から符号化データが読み出され、順方向復号化器７０４によって順方向符号語テーブル７０３を用いた通常の順方向復号が開始される。この順方向復号は、符号化データに誤りがあるか否かを調べながら行われる。
【００７４】
具体的には、順方向符号語テーブル７０３に存在しないビットパターンが出現した場合や、復号化した符号化データのビット長の合計が前述の総ビット数に達しないまま復号化すべきデータが無くなった場合、あるいは、シンタクス上あり得ない状態が生じた場合などに、その発見位置で誤りが生じていると検出する。シンタクス上あり得ない状態とは、例えば、８ｘ８のＤＣＴ係数の各ブロックにおいて零ランの数と非零係数の個数との合計が６４個よりも大きい状態などを意味する。
【００７５】
どのような条件で符号化データの誤りが発見された場合であっても、誤り発見以前に復号化が正常に完了している順方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置とが復号値決定部７０５に送られる。ここで、ビット上の誤り発見位置は、ＤＣＴ係数情報の同期開始から数えて誤りが検出された位置が何ビット目の符号化データであるかを示し、またシンタクス上の誤り発見位置は、例えば、その同じ誤りについてそれが検出された位置が同期開始から数えて何番目のマクロブロックであるかなど示す。
【００７６】
順方向復号化器７０４によって誤りが発見された場合には、スイッチＴがオンされ、バッファ１２２に蓄えられた符号化データが今度は逆方向復号化器７０８に送られ、そこで逆方向符号語テーブル７０７を用いた逆方向からの復号が開始される。この逆方向復号も、双方向に復号可能なＤＣＴ係数情報からなる符号化データに誤りがあるか否かを調べながら行われる。誤り検出の条件は順方向復号化器７０４の場合と同一であり、逆方向復号において誤りが発見された場合には、誤り発見以前に復号化が正常に完了している逆方向の復号結果と共に、その誤りを発見した位置を示す情報として、ビット上の誤り発見位置とシンタクス上の誤り発見位置が復号値決定部７０５に送られる。
【００７７】
復号値決定部７０５では、順方向復号化器７０４の復号結果と逆方向復号化器７０８の復号結果をつきあわせて最終的な復号結果を決定する。すなわち、順方向復号化器７０４および逆方向復号化器７０８それぞれからの通知されるビット上とシンタクス上の双方の誤り発見位置に基づいて正しいマクロブロックと正しくないマクロブロックとの境界が２重に判定され、かなりの確率で全ての符号語が正しいと思われるマクロブロックに対してのみその復号値として順方向からの復号結果と逆方向からの復号結果が選択的に用いられ、それ以外の他のマクロブロックについては廃棄される。
【００７８】
図１０は、情報源復号化器２０７の構成の一例を示している。
【００７９】
情報源復号化器２０７には、動画像多重化分離器２０６で分離および可変長復号化されたモード情報、動きベクトル情報、ＤＣＴ係数情報等が入力される。
【００８０】
モード情報が入力されるモード判定回路８０４では、モード情報がＩＮＴＲＡならば、モード切替スイッチ８０５をオフに選択してフレームメモリ８０６から切り離し、ＤＣＴ係数情報を、逆量子化回路８０１で逆量子化し、ＩＤＣＴ回路８０２で逆離散コサイン変換処理をおこなうことにより、再生画像信号を生成させる。この再生画像信号は、フレームメモリ８０６に参照画像として蓄積される一方、再生画像信号として表示装置に出力される。
【００８１】
モード情報がＩＮＴＥＲならば、モード切替スイッチ８０５をオンに選択してフレームメモリ８０６と接続し、ＤＣＴ係数情報を、逆量子化回路８０１で逆量子化し、ＩＤＣＴ回路８０２で逆離散コサイン変換処理をおこない、これに、動きベクトル情報に基づいてフレームメモリ８０６の参照画像を動き補償したものとを、加算器８０３で足しあわせて、再生画像信号を生成させる。この再生画像信号は、フレームメモリ８０６に参照画像として蓄積される一方、再生画像信号として出力される。
【００８２】
図１１および図１２は、双方向復号可能な可変長符号から構成されるＤＣＴ係数情報の符号化データを復号する場合における復号値決定部７０５の動作を示した図である。
【００８３】
はじめに、ＤＣＴ係数情報について次のような関数を定義する。
【００８４】
Ｌ            …総ビット数
Ｎ            …総マクロブロック数
Ｎ１          …順方向に復号したマクロブロック数
Ｎ２          …逆方向に復号したマクロブロック数
Ｌ１          …順方向に復号したビット数
Ｌ２          …逆方向に復号したビット数
ｆ_mb(L)      …順方向にＬビット復号した時のマクロブロック数
ｂ_mb(L)      …逆方向にＬビット復号した時のマクロブロック数
図１１（ａ）は、順方向復号化器７０４および逆方向復号化器７０８それぞれによる誤り発見位置が、ビット上の位置でもマクロブロック上の位置でも交差しない場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＮ１＋Ｎ２＜Ｎとなる場合を示している。この場合は、Ｔビットさかのぼった位置までのビットを使うことにし、順方向から、ｆ_mb(L1-T) マクロブロック、逆方向から、ｂ_mb(L2-T) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する。
【００８５】
ここでは、Ｔビットさかのぼることにしたが、Ｔ符号語、あるいは、Ｔブロック、あるいは、Ｔマクロブロックさかのぼることにしてもよい。
【００８６】
図１１（ｂ）は、順方向復号化器７０４および逆方向復号化器７０８それぞれによる誤り発見位置が、ビット上の位置では交差しないが、マクロブロック上の位置で交差する場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＮ１＋Ｎ２≧Ｎとなる場合を示している。この場合は、順方向から、Ｎ−Ｎ２−１マクロブロック、逆方向から、Ｎ−Ｎ１−１マクロブロックの係数情報を使用し、残りの係数情報を廃棄する。
【００８７】
図１２（ａ）は、順方向復号化器７０４および逆方向復号化器７０８それぞれによる誤り発見位置が、ビット上の位置で交差するが、マクロブロック上の位置では交差しない場合、つまり、Ｌ１＋Ｌ２≧Ｌ、かつＮ１＋Ｎ２＜Ｎとなる場合を示している。この場合は、順方向から、Ｎ−ｂ_mb(L2) マクロブロック、逆方向から、Ｎ−ｆ_mb(L1) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する。
【００８８】
図１２（ｂ）は、順方向復号化器７０４および逆方向復号化器７０８それぞれによる誤り発見位置が、ビット上の位置でもマクロブロック上の位置でも交差する場合、つまり、Ｌ１＋Ｌ２≧Ｌ、かつＮ１＋Ｎ２≧Ｎとなる場合を示している。この場合、順方向から、min ｛Ｎ−ｂ_mb(L2) ，Ｎ−Ｎ２−１｝マクロブロック、逆方向から、min ｛Ｎ−ｆ_mb(L1) ，Ｎ−Ｎ１−１｝マクロブロックの係数を使用し、残りの係数を廃棄する。
【００８９】
ここで、ＤＣＴ係数廃棄したマクロブロックについては、ＩＮＴＲＡモードの場合、前画面をそのまま表示するか、あるいは符号化を行わないモードとして処理し、ＩＮＴＥＲモードの場合は、上位階層の動きベクトル（ＭＶ）を利用して、動き補償（ＭＣ）で表示するように復号値を決定する。
【００９０】
また、図１１（ａ），（ｂ）、図１２（ａ），（ｂ）のいずれかの状態になった場合は、図１３に示すように、誤りが発見されていない場合にも、同期区間内の一部または全てのＩＮＴＲＡモードのマクロブロックのＤＣＴ係数を廃棄し、その部分については、前画面をそのまま表示するか、符号化を行わないモードとして処理するようにしても良い。ＩＮＴＲＡモードは、誤りが生じた場合に画面に与える影響が大きい。具体的には、間違った係数が表示されることによって不自然な色のブロックが画面内に現れるという現象が生じる。従って、同期区間内に少なくとも誤りが生じていることが分かっているのであれば、ＩＮＴＲＡモードのマクロブロックを廃棄しておく方が画面への影響を少なくすることができる。
【００９１】
また、本第２実施形態では、マクロブロック単位にＤＣＴ係数の廃棄を行ったが、ブロック単位で行ってもよいことはいうまでもない。
【００９２】
次に、本第２実施形態の下位階層可変長復号化器５０３による復号化処理方法の手順について説明する。
【００９３】
本復号化処理方法は、図９で説明したように、基本的には、双方向から復号可能な可変長符号語から構成されるＤＣＴ係数情報に誤りが検出されるまでは順方向からの復号化処理を行い、この順方向からの復号化処理において誤りが検出されたとき、今度は、そのＤＣＴ係数情報に誤りが検出されるまで逆方向からの復号化処理を開始し、そして、順方向および逆方向からの復号結果と、順方向および逆方向からの復号においてそれぞれ検出されたビット上の誤り発見位置とシンタクス上の誤り発見位置とを利用して復号値を決定するというものである。
【００９４】
以下、図１４のフローチャートを参照して、ＡＣ成分のＤＣＴ係数部に対する復号処理の手順を説明する。
【００９５】
まず、前述の関数Ｌ，Ｎ，Ｎ１，Ｎ２，Ｌ１，Ｌ２，ｆ_mb(L)  ，ｂ_mb(L)  を定義してから、順方向の復号処理を開始する（ステップＳ２０１）。もし、この順方向復号処理で誤りが発見されなければ、復号処理は終了する（ステップＳ２０２）。一方、もし順方向の復号処理で誤りが発見された場合には、逆方向の復号を開始する（ステップＳ２０３）。順方向の復号処理で誤りが発見された場合には、通常、逆方向の復号処理でも誤りが発見されることになる。
【００９６】
もし、誤り発見位置がビット上の位置でもマクロブロック上の位置でも交差しない場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＮ１＋Ｎ２＜Ｎとなる場合は（ステップＳ２０４）、Ｔビットさかのぼった位置までのビットを使うこととし、順方向から、ｆ_mb(L1-T) マクロブロック、逆方向から、ｂ_mb(L2-T) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する（ステップＳ２０５）。
【００９７】
もし、誤り発見位置が、ビット上の位置では交差しないが、マクロブロック上の位置で交差する場合、つまり、Ｌ１＋Ｌ２＜Ｌ、かつＮ１＋Ｎ２≧Ｎとなる場合には（ステップＳ２０６）、順方向から、Ｎ−Ｎ２−１マクロブロック、逆方向から、Ｎ−Ｎ１−１マクロブロックの係数情報を使用し、残りの係数情報を廃棄する（ステップＳ２０７）。
【００９８】
もし、誤り発見位置が、ビット上の位置で交差するが、マクロブロック上の位置では交差しない場合、つまり、Ｌ１＋Ｌ２≧Ｌ、かつＮ１＋Ｎ２＜Ｎとなる場合には（ステップＳ２０８）、順方向から、Ｎ−ｂ_mb(L2) マクロブロック、逆方向から、Ｎ−ｆ_mb(L1) マクロブロックの係数情報を使用し、残りの係数情報を廃棄する（ステップＳ２０９）。
【００９９】
もし、誤り発見位置が、それ以外の場合、具体的には、ビット上の位置でもマクロブロック上の位置でも交差する場合、つまり、Ｌ１＋Ｌ２≧Ｌ、かつＮ１＋Ｎ２≧Ｎとなる場合には、順方向から、min ｛Ｎ−ｂ_mb(L2) ，Ｎ−Ｎ２−１｝マクロブロック、逆方向から、min ｛Ｎ−ｆ_mb(L1) ，Ｎ−Ｎ１−１｝マクロブロックの係数を使用し、残りの係数を廃棄する（ステップＳ２１０）。
【０１００】
そして、誤りが発見されている場合、その同区期間内の全てのＩＮＴＲＡモードのマクロブロックのＤＣＴ係数を廃棄し、前画面をそのまま表示するか、符号化を行わないモードとして処理する（ステップＳ２１１）。
【０１０１】
ＤＣＴ係数を廃棄したマクロブロックについては、ＩＮＴＲＡモードの場合、前画面をそのまま表示するか、符号化を行わないモードとして処理し、ＩＮＴＥＲモードの場合は、上位階層の動きベクトル（ＭＶ）を利用して、動き補償（ＭＣ）で表示するように復号値を決定する（ステップＳ２１２）。
【０１０２】
次に、本第２実施形態の動画像符号化／復号化装置で用いられる符号語テーブルの具体的な構成例とそれを用いたリバーシブル符号の符号化／復号化動作について説明する。
【０１０３】
図６の情報源符号化器２０２では、量子化後の８ｘ８のＤＣＴ係数のブロック毎にブロック内スキャンを行って、ＬＡＳＴ（０：ブロックの最後でない非零係数、１：ブロックの最後の非零係数）、ＲＵＮ（非零係数までの零ランの数）およびＬＥＶＥＬ（係数の量子化値）を求め、動画像多重化部２０３に送る。
【０１０４】
動画像多重化部２０３は上位階層可変長符号化部と下位階層可変長符号化部とを含んでおり、リバーシブル符号を用いた可変長符号化を行う下位階層可変長符号化部の符号語テーブルには、図１８乃至図２２に示す４個のテーブルが含まれている。図１８は、ＩＮＴＲＡ（フレーム内符号化）の非ＬＡＳＴ係数のＲＵＮおよびＬＥＶＥＬから図２１，２２の符号語テーブルのＩＮＤＥＸ値を検索するためのＩＮＤＥＸテーブルである。図１９は、ＩＮＴＥＲ（フレーム間符号化）の非ＬＡＳＴ係数のＲＵＮおよびＬＥＶＥＬから図２１，２２の符号語テーブルのＩＮＤＥＸ値を検索するためのＩＮＤＥＸテーブルである。図２０は、ＩＮＴＲＡおよびＩＮＴＥＲ共通のＬＡＳＴ係数のＲＵＮおよびＬＥＶＥＬから図２１，２２の符号語テーブルのＩＮＤＥＸ値を検索するためのＩＮＤＥＸテーブルである。図２１および図２２は、ＩＮＤＥＸ値とリバーシブル可変長符号語（ＶＬＣ−ＣＯＤＥ）とを対応づけた符号語テーブルである。また、固定長のリバーシブル符号語に変換するためのテーブルとして、図２３のＲＵＮ固定長符号語テーブル、および図２４のＬＥＶＥＬ固定長符号語テーブルも用いられる。
【０１０５】
以下、図１５のフローチャートを参照して、これらテーブルを用いた下位階層可変長符号化部による可変長符号化処理の手順を説明する。
【０１０６】
まず、上位階層のモード情報で指定された予測モードに応じて使用するＩＮＤＥＸテーブルが選択される（ステップＳ１１）。この場合、予測モードがＩＮＴＲＡであれば図１８のＩＮＤＥＸテーブルと図２０のＩＮＤＥＸテーブルが選択され、予測モードがＩＮＴＥＲであれば図１９のＩＮＤＥＸテーブルと図２０のＩＮＤＥＸテーブルが選択される。
【０１０７】
次に、符号化すべきＤＣＴ係数のＲＵＮおよびＬＥＶＥＬの値が、使用するＩＮＤＥＸテーブルに定義されたＲＵＮおよびＬＥＶＥＬの最大値以下であるか否かが調べられる（ステップＳ１２）。ＩＮＤＥＸテーブルに定義されたＲＵＮおよびＬＥＶＥＬの最大値以下であれば、そのＲＵＮおよびＬＥＶＥＬの値を用いてＩＮＤＥＸテーブルを検索し、図２１および図２２の符号語テーブルを検索するためのＩＮＤＥＸ値を得る（ステップＳ１３）。次に、ＩＮＤＥＸテーブルから得られたＩＮＤＥＸ値が“０”であるか否かが判断され（ステップＳ１４）、“０”以外であれば、図２１および図２２の符号語テーブルを検索してＩＮＤＥＸ値に対応するリバーシブル符号語を出力する（ステップＳ１５）。ここで、図２１および図２２の符号語テーブルにおけるリバーシブル符号語の最終ビット“ｓ”はＬＥＶＥＬの正負の符号を示しており、“ｓ”が“０”のときはＬＥＶＥＬの符号は正、“ｓ”が“１”のときはＬＥＶＥＬの符号は負である。
【０１０８】
一方、符号化すべきＲＵＮおよびＬＥＶＥＬの値が、使用するＩＮＤＥＸテーブルに定義されたＲＵＮおよびＬＥＶＥＬの最大値を越える場合、またはＩＮＤＥＸテーブルから得たＩＮＤＥＸ値が“０”であれば、（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）を固定長符号化し、その両端にＥＳＣＡＰＥ符号を付けたものを出力する（ステップＳ１６）。すなわち、ＲＵＮおよびＬＥＶＥＬの値はそれぞれ図２３のＲＵＮ固定長符号語テーブルおよび図２４のＬＥＶＥＬ固定長符号語テーブルによって６ビットと７ビットの固定長符号に変換され、これら固定長符号の先頭には、図２５に示されているように、ＬＡＳＴの値に対応する１ビットが付加される。さらに、その符号列の両端に、ＥＳＣＡＰＥ符号が付加される。先頭のＥＳＣＡＰＥ符号は“００００１”であり、末尾のＥＳＣＡＰＥ符号は図２１および図２２の符号語テーブルにおけるＩＮＤＥＸ値＝“０”によって検索されるリバーシブル符号“００００ｓ”である。このリバーシブル符号“００００ｓ”の最終ビットの“ｓ”はＬＥＶＥＬの正負の符号を示しており、“ｓ”が“０”のときはＬＥＶＥＬの符号は正、“ｓ”が“１”のときはＬＥＶＥＬの符号は負である。
【０１０９】
次に、順方向復号化器７０４および逆方向復号化器７０８それぞれによるリバーシブル符号の復号処理方法を説明する。
【０１１０】
順方向符号語テーブル７０３および逆方向符号語テーブル７０７には、それぞれ前述の図２１および図２２に示した符号語テーブル、図２３のＲＵＮ固定長符号語テーブル、図２４のＬＥＶＥＬ固定長符号語テーブルに加え、図２６および図２７に示すような復号値テーブルが符号語テーブルとして予め用意されている。図２６および図２７の復号値テーブルには、ＩＮＴＲＡとＩＮＴＥＲのそれぞれのモードについてＩＮＤＥＸ値に対応する（ＬＡＳＴ、ＲＵＮ、ＬＥＶＥＬ）の復号値が設定されている。
【０１１１】
まず、図１６のフローチャートを参照して、順方向の復号処理について説明する。
【０１１２】
まず、符号化データの復号処理が行われ、図２１および図２２に示した符号語テーブルを用いてリバーシブル符号語に対応するＩＮＤＥＸ値が求められる（ステップＳ２１）。次いで、そのＩＮＤＥＸ値が“０”であるか否かがチェックされ（ステップＳ２２）、“０”以外の場合には、図２６および図２７の復号値テーブルをＩＮＤＥＸ値とモードとによって検索することにより、使用されている予測モードとＩＮＤＥＸ値に対応する（ＬＡＳＴ、ＲＵＮ、ＬＥＶＥＬ）の復号値を得る（ステップＳ２３）。ＩＮＤＥＸ値が“０”の場合は、ＥＳＣＡＰＥ符号であるから、そのＥＳＣＡＰＥ符号に続く（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）の固定長符号を図２３および図２４の固定長符号語テーブルを用いて復号する（ステップＳ２４）。次いで、末尾のＥＳＣＡＰＥ符号を復号する（ステップＳ２５）。そして、符号語の最後の１ビットを用いてＬＥＶＥＬの正負の判定が行われる（ステップＳ２６）。
【０１１３】
次に、図１７のフローチャートを参照して、逆方向の復号処理について説明する。
【０１１４】
まず、符号語の最初の１ビットで、ＬＥＶＥＬの正負が決定される（ステップＳ３１）。次いで、図２１および図２２に示した符号語テーブルを用いてリバーシブル符号語に対応するＩＮＤＥＸ値が求められる（ステップＳ３２）。次いで、そのＩＮＤＥＸ値が“０”であるか否かがチェックされ（ステップＳ３３）、“０”以外の場合には、図２６および図２７の復号値テーブルを、ＩＮＤＥＸ値と予測モードとによって検索することにより、使用されている予測モードとＩＮＤＥＸ値とに対応する（ＬＡＳＴ、ＲＵＮ、ＬＥＶＥＬ）の復号値を得る（ステップＳ３４）。ＩＮＤＥＸ値が“０”の場合は、ＥＳＣＡＰＥ符号であるから、次に続く（ＬＥＶＥＬ，ＲＵＮ，ＬＡＳＴ）の固定長符号を図２３および図２４の固定長符号語テーブルを用いて復号する（ステップ３５）。次いで、先頭のＥＳＣＡＰＥ符号を復号する（ステップＳ３６）。
【０１１５】
次に、本第２実施形態において順方向および逆方向の各復号処理で行われる誤り発見処理の手順について説明する。
【０１１６】
図２８は、順方向符号語テーブル１２４に存在しないビットパターンが符号化データに出現したことを理由に誤りを発見する場合のフローチャートである。
【０１１７】
まず、順方向または逆方向の復号処理で用いられる符号語テーブルに該当する符号語が存在するか否かを確認するために、前述の符号化データの復号処理で得たＩＮＤＥＸ値が存在するか否かを確認する（ステップＳ３０１）。もしＩＮＤＥＸ値が存在しなければ、存在しない符号語パターンが出現したと判定され、そこで誤りが発見される（ステップＳ３０６）。
【０１１８】
一方、ＩＮＤＥＸ値が存在する場合には、まず、そのＩＮＤＥＸ値が“０”であるか否かを調べる（ステップＳ３０２）。ＩＮＤＥＸ値が“０”の場合は、ＥＳＣＡＰＥ符号で符号化している場合であるので、（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）の組み合わせが符号語テーブルに存在するか否かを調べる（ステップＳ３０３）。符号語テーブルに存在する組み合わせの場合には、存在しない符号語パターンが出現したと判定され、そこで誤りが発見される（ステップＳ３０６）。また、（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）の組み合わせが符号語テーブルに存在しなかった場合には、固定長符号の後にＥＳＣＡＰＥ符号が存在するか否かを確認する（ステップＳ３０４）。もしＥＳＣＡＰＥ符号が存在しなければ、存在しない符号語パターンが出現したと判定されてそこで誤りが発見され（ステップＳ３０６）、またＥＳＣＡＰＥ符号が存在すれば、正しい符号化ビットパターンであると判定され、正しい復号化処理が行われる（ステップＳ３０５）。
【０１１９】
一方、ＩＮＤＥＸ値が符号語テーブルに存在し、且つＩＮＤＥＸ値が“０”以外の場合は、正しい符号化ビットパターンであると判定され、正しい復号化処理が行われる（ステップＳ３０５）。
【０１２０】
図２９は、シンタクス上あり得ない状態が生じていることを理由に誤りを発見する場合のフローチャートである。この例では、８ｘ８のＤＣＴ係数のブロック毎に零ランの数とゼロ以外の非零係数の個数との合計が６４個よりも大きいか否かのチェックを行っている。
【０１２１】
すなわち、まず、８ｘ８のＤＣＴ係数の中の直流成分がＡＣ成分のＤＣＴ係数部の符号化データに含まれているか否かを調べ（ステップＳ４０１）、含まれているならば、零ランの数と非零係数の個数との合計を示す変数ＳＵＭに、初期値として“０”をセットし（ステップＳ４０２）、含まれてない場合には、変数ＳＵＭに初期値として“１”をセットする（ステップＳ４０３）。
【０１２２】
次に、（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）によって与えられる各ＤＣＴ係数の符号化データの可変長復号がＬＡＳＴ＝“１”になるまで繰り返し実行される（ステップＳ４０４〜Ｓ４０７）が、この処理においては、ステップＳ４０４で（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）の可変長復号が行われる度、非零係数までの零ランの数を示すＲＵＮの値に＋１したもの、つまりＲＵＮ＋１の値が、変数ＳＵＭに足し込まれる（ステップＳ４０５）。ここで、ＲＵＮの値に＋１するのは、零係数および非零係数のどちらであっても一個分の係数が復号処理されたことになるためである。そして、変数ＳＵＭの値が６４よりも大きいか否かをチェックし（ステップＳ４０６）、もし変数ＳＵＭの値が６４よりも大きければ、そのときにシンタクスエラーの発生が検出される（ステップＳ４０９）。
【０１２３】
ＬＡＳＴ係数が“１”になるまでの間にシンタクスエラーが発見されなければ、そのブロックの復号処理が正常終了される（ステップＳ４０８）。
【０１２４】
（両端にＥＳＣＡＰＥ符号をつける場合の別の構成例）
図３０と図３１は、両端にＥＳＣＡＰＥ符号をつける場合の別の構成である。ＲＵＮおよびＬＥＶＥＬの値は、それぞれ図２３のＲＵＮ固定長符号語テーブルおよび図３０のＬＥＶＥＬ固定長符号語テーブルによって６ビットと１１ビットの固定長符号に変換される。この時、ＬＥＶＥＬの両端には、零ランの個数を制限するために、“１”のＭａｒｋｅｒ  Ｂｉｔを立てる。この符号列の先頭には、図３１に示されるように、ＬＡＳＴの値に対応する１ビットが付加される。さらに、その符号列の両端に、ＥＳＣＡＰＥ符号が付加される。先頭のＥＳＣＡＰＥ符号は、“００００１”であり、末尾のＥＳＣＡＰＥ符号は図２１及び図２２の符号語テーブルにおけるＩＮＤＥＸ値＝“０”によって検索されるリバーシブル符号“００００ｓ”である。このリバーシブル符号“００００ｓ”の最終ビット“ｓ”はＬＥＶＥＬの正負の符号を示しており、“ｓ”が“０”のときはＬＥＶＥＬの符号は正、“ｓ”が“１”のときはＬＥＶＥＬの符号は負である。
【０１２５】
図３３は、図１５に対応する下位階層の可変長符号化による可変長符号化処理手順を示している。
【０１２６】
ステップＳ１０１〜Ｓ１０５はそれぞれ図１５のステップＳ１１〜Ｓ１５と同じであり、図１５との違いは、ステップＳ１０６の部分である。ここでは、ＬＥＶＥＬの両端にＭａｒｋｅｒ  Ｂｉｔが立てられる。
【０１２７】
図３４および図３５は、順方向復号器７０４および逆方向復号器７０８それぞれによるリバーシブル符号の復号処理方法を示している。
【０１２８】
図３４の順方向復号処理におけるステップＳ２０１，Ｓ２０２，Ｓ２０３，Ｓ２０５，Ｓ２０６は図１６の順方向復号処理を構成するステップＳ２１，Ｓ２２，Ｓ２３，Ｓ２５，Ｓ２６と同じであり、図１６との違いは、ステップＳ２０４である。ステップＳ２０４では、ＥＳＣＡＰＥ符号に続く（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）の固定長符号のみならず、ＥＳＣＡＰＥ符号に続く（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）およびＭａｒｋｅｒ  Ｂｉｔの固定長符号が復号される。
【０１２９】
同様に、図３５の逆方向復号処理におけるステップＳ３０１，Ｓ３０２，Ｓ３０３，Ｓ３０５，Ｓ３０６は図１７の逆方向復号処理を構成するステップＳ３１，Ｓ３２，Ｓ３３，Ｓ３５，Ｓ３６と同じであり、図１７との違いは、ステップＳ３０５である。ここでは、（ＬＥＶＥＬ，ＲＵＮ，ＬＡＳＴ）の固定長符号のみならず、（ＬＥＶＥＬ，ＲＵＮ，ＬＡＳＴ）およびＭａｒｋｅｒ  Ｂｉｔの固定長符号が復号される。
【０１３０】
なお、本例では、両端にＥＳＣＡＰＥ符号をつける場合の構成として、ＲＵＮが６ビットで、ＬＥＶＥＬの固定符号長が７ビットの場合と、１１ビットの場合を示したが、その他のビット数であっても構わない。
【０１３１】
図３２は、両端にＥＳＣＡＰＥ符号をつける場合の他の構成である。例えば、ＬＥＶＥＬの固定符号長が長く、零ランの個数制限を越える場合には、図３２のように、ＬＥＶＥＬの固定長符号の間にＭａｒｋｅｒ  Ｂｉｔを挿入することが好ましい。例えば再同期マーカーなどの同期符号の符号長が１７ビット（１６ビットの零ラン＋１；“００００００００００００００００１”）の場合には、同期符号と他の符号語との混同を避けるために、零ランの個数は１５ビット以下に制限される。この場合、ＬＥＶＥＬの固定長符号が長く、その零ランの個数が１６ビットを越える可能性がある場合には、図３２のようにＬＥＶＥＬの固定長符号の間にＭａｒｋｅｒ  Ｂｉｔが挿入される。これにより、ＬＥＶＥＬの固定符号長が長い場合でも同期符号との混同を避けることが可能となる。
【０１３２】
図３６は、ＡＣ−ＤＣＴ部の存在しない符号語パターンの検出方法を示したフローチャートである。これは、図２８に対応するものである。
【０１３３】
まず、符号語テーブルに符号語が存在するかどうか確認するために、ＩＮＤＥＸ値が存在するか確認する（ステップＳ４０１）。もし、ＩＮＤＥＸ値が存在しなければ、存在しない符号語パターンが生じている（ステップＳ４０７）。
【０１３４】
もし、ＩＮＤＥＸ値が存在した場合は、ＩＮＤＥＸ値が０かどうか確認し（ステップＳ４０２）、もし、ＩＮＤＥＸ値が０の場合は、ＥＳＰＡＣＥ符号で符号化してある場合で、（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）の組を復号して、符号語テーブルの方に存在するかどうか調べる（ステップＳ４０３）。符号語テーブルに存在する組合せの場合は、存在しない符号語パターンが生じている（ステップＳ４０７）。
【０１３５】
また、Ｍａｒｋｅｒ  Ｂｉｔが正しいか確認する（ステップＳ４０４）。もし、Ｍａｒｋｅｒ  Ｂｉｔが正しくない場合、存在しない符号語パターンが生じている（ステップＳ４０７）。
【０１３６】
もし、ＩＮＤＥＸ値が０以外の場合は、正しく復号化が行われている（Ｓ４０５）。
【０１３７】
もし、符号語テーブルに存在しない組合せの場合で、Ｍａｒｋｅｒ  Ｂｉｔが正しい場合、固定長符号の後にＥＳＣＡＰＥ符号が存在するか確認する（ステップＳ４０５）。もし、ＥＳＣＡＰＥ符号が存在しない場合、存在しない符号語パターンが生じている（ステップＳ４０７）。もし、ＥＳＣＡＰＥ符号が存在した場合、正しく復号が行われている（ステップＳ４０７）。
【０１３８】
このように、本例では、順方向および逆方向の各復号処理で行われる誤り検出処理の中に、Ｍａｒｋｅｒ  Ｂｉｔが正しいか否かの判定処理が加えられている。
【０１３９】
（両端にＥＳＣＡＰＥ符号をつける場合のさらに他の構成例）
図３７と図３８は、両端にＥＳＣＡＰＥ符号をつける場合のさらに他の構成である。ここでは、ＬＥＶＥＬの値が図３７のように２の補数表現で表される場合を想定している。この場合、ＬＥＶＥＬの符号語によってその正負が特定されるので、符号列の末尾のＥＳＣＡＰＥ符号は“００００１”となり、ＬＥＶＥＬの正負を示す符号“ｓ”は使用されない。
【０１４０】
ＲＵＮおよびＬＥＶＥＬの値は、それぞれ図２３のＲＵＮ固定長符号語テーブルおよび図３７のＬＥＶＥＬ固定長符号語テーブルによって、固定長符号に変換される。この時、ＬＥＶＥＬの両端には、零ランの個数を制限するために、“１”のＭａｒｋｅｒ  Ｂｉｔを立てる。この符号列の先頭には、図３８に示されるように、ＬＡＳＴの値に対応する１ビットが付加される。さらに、その符号列の両端に、ＥＳＣＡＰＥ符号が付加される。
【０１４１】
また、ＬＥＶＥＬの固定符号長によっては、ＬＥＶＥＬと末尾のＥＳＣＡＰＥ符号との間のＭａｒｋｅｒ  Ｂｉｔの挿入は省略できる。この例を図３９に示す。図３９では、ＬＥＶＥＬの固定符号長が１２ビットの場合が示されている。
【０１４２】
ＬＥＶＥＬの零ランの個数は、ＬＥＶＥＬの固定符号長−２ビットになるので、ＬＥＶＥＬの固定符号長が１３ビット以下であれば、末尾のＥＳＣＡＰＥ符号の４ビットの零ランと合わせても、合計の零ラン個数は、同期符号が１７ビットの場合の制限値（１６ビット）よりも小さくなる。
【０１４３】
また、前述したように零ランの個数制限は同期符号のビット数で決まるので、同期符号の符号長を長く設定した場合には、図４０および図４１に示されているように、ＬＥＶＥＬの符号語として絶対値と２の補数表現のどちらを用いた場合でもＭａｒｋｅｒ  Ｂｉｔの挿入を省略することができる。
【０１４４】
逆に、ＬＥＶＥＬの符号語として２の補数表現を使用した場合でも、図３２と同様にして、零ランの個数制限を越えないように、ＬＥＶＥＬの符号語内にもＭａｒｋｅｒ  Ｂｉｔを挿入しても良い。図４２はこの例である。
【０１４５】
図４３は、ＬＥＶＥＬの符号語として２の補数表現を使用し、且つＭａｒｋｅｒ  Ｂｉｔを挿入した場合、つまり図３８、図３９または図４２の符号化データ列を使用した場合における順方向復号化処理の手順を示している。
【０１４６】
ＬＥＶＥＬの符号語として絶対値を使用する図３４の順方向復号化処理との違いは、ステップＳ２０６の処理が省略されている点である。つまり、ＬＥＶＥＬの符号語として２の補数表現を使用した場合には、ステップＳ２０４における（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）およびＭａｒｋｅｒ  Ｂｉｔの固定長符号の復号処理にて、ＬＥＶＥＬの符号の正負も判定されることになる。
【０１４７】
図４４は、ＬＥＶＥＬの符号語として２の補数表現を使用し、且つＭａｒｋｅｒ  Ｂｉｔを挿入した場合、つまり図３８、図３９または図４２の符号化データ列を使用した場合における逆方向復号化処理の手順を示している。
【０１４８】
ＬＥＶＥＬの符号語として絶対値を使用する図３５の逆方向復号化処理との違いは、ステップＳ３０１の処理が省略されている点である。つまり、ＬＥＶＥＬの符号語として２の補数表現を使用した場合には、ステップＳ３０４における（ＬＥＶＥＬ，ＲＵＮ，ＬＡＳＴ）およびＭａｒｋｅｒ  Ｂｉｔの固定長符号の復号処理にて、ＬＥＶＥＬの符号の正負も判定されることになる。
【０１４９】
図４５は、ＬＥＶＥＬの符号語として２の補数表現を使用し、且つＭａｒｋｅｒ  Ｂｉｔを使用しない場合、つまり図４１の符号化データ列を使用した場合ににおける順方向復号化処理の手順を示している。図４３との違いは、ステップＳ２０４にて、（ＬＡＳＴ，ＲＵＮ，ＬＥＶＥＬ）の固定長符号についてのみの復号処理が行われる点である。
【０１５０】
図４６は、ＬＥＶＥＬの符号語として２の補数表現を使用し、且つＭａｒｋｅｒ  Ｂｉｔを使用しない場合、つまり図４１の符号化データ列を使用した場合における逆方向復号化処理の手順を示している。図４４との違いは、ステップＳ３０５にて、（ＬＥＶＥＬ，ＲＵＮ，ＬＡＳＴ）の固定長符号についてのみの復号処理が行われる点である。
【０１５１】
（第３の実施形態）
次に、第１および第２実施形態の復号値決定処理に適用可能な誤り範囲の推定方法を、本発明の第３実施形態として説明する。
【０１５２】
図４７は、本発明の第３実施形態に係る可変長復号化器１０９の構成を示すブロック図である。
【０１５３】
可変長復号化器１０９は第１および第２実施形態と同様に可変長符号を含む符号化データを同期区間毎に復号するものであり、その基本構成は第１および第２実施形態と同じである。
【０１５４】
すなわち、可変長復号化器１０９では、符号化データが順方向のみ復号可能な可変長符号の場合は、スイッチＳはＡにつながれて、順方向復号化器１０４にて通常の順方向復号が行われる。順方向復号化器１０４で復号された符号化データは、復号値決定部１０５に送られる。
【０１５５】
符号化データが双方向に復号可能な可変長符号の場合は、スイッチＳ１０１はＢにつながれ、符号化データは、バッファ１０２に蓄えられ、符号化データの総ビット数が調べられた後に、順方向復号化器１０４で復号される。
【０１５６】
順方向復号化器１０４で誤りが発見された場合には、スイッチＴ１０５がオンされて、バッフ１０２に蓄えられた符号化データを逆方向復号化器１０８で逆方向からの復号が行われる。
【０１５７】
順方向復号化器１０４および逆方向復号化器１０８では、存在しない符号語が出現した場合などに、誤りが生じたと判断する。
【０１５８】
復号値決定部１０５では、順方向復号化器１０４の復号結果と逆方向復号化器１０８の復号結果をつきあわせて最終的な復号結果を決定する。
【０１５９】
以下、双方向復号可能な可変長符号の符号化データの場合の復号値決定部１０５の動作について説明する。
【０１６０】
本第３実施形態では、順方向および逆方向復号処理で検出した符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定することにより、最終的な復号値が決定される。つまり、前述したように、第１および第２実施形態では、誤りが検出された位置からある一定量（Ｔ符号語）の範囲を固定的に誤り伝搬範囲として特定するようにしたが、本第３実施形態では、誤り伝搬範囲の推定によって最適なＴの値が求められる。
【０１６１】
ところで、無記憶情報源の最適符号化であるＨｕｆｆｍａｎ符号の符号長は、２元の場合、次のようなＫｒａｆｔの不等式を等号で満たすことが知られている。
【０１６２】
【数１】
0003884172.tif 000002
【０１６３】
ここで、ｘは、符号Ｘの符号語、l (x) は、ｘの符号長とする。
【０１６４】
しかし、本発明のように同期区間が設定されて、同期符号が挿入される場合、同期符号のパターン（例えば、０００…０１）とぶつからないような設計がなされるため、Ｋｒａｆｔの不等式を等号で満足していない符号が用いられている。
【０１６５】
【数２】
0003884172.tif 000003
【０１６６】
例えば、図４８および図４９のような符号の場合、同期符号とぶつからないように“００００”を禁止符号語としている。この様な符号では、誤りが混入して可変長符号が正しく復号できなくなった時に、出現しないパターン“００００”が生じると、誤りであることを検出することができる。
【０１６７】
符号化データが伝送または蓄積される伝送系または蓄積系の通信路モデルとしては、図５０のような誤り率ε、（０＜ε＜１）の２元対称通信路を仮定すると、符号語ｘを送信し、受信系列ｙを受信する条件付き確率Ｐ(y｜x)は、ビットの挿入、欠落は考慮しないので、
【数３】
0003884172.tif 000004
【０１６８】
となる。ここで、ｄ(x,y) は、系列ｘと系列ｙのハミング距離である。
【０１６９】
その結果、系列ｙを受信する確率Ｐ(y) は、
【数４】
0003884172.tif 000005
【０１７０】
となる。今、符号Ｘの符号語数は有限、全てのｘに対して、Ｐ(x) ＞０とする。
【０１７１】
ただし、ビットストリームに誤りが入った状態から、誤りが検出されるまでの状態を解析するためには、まず、少なくとも１ビットは誤りが入った状態（初期状態Ｉ）を考える必要がある。
【０１７２】
今、符号語ｘが１ビットも誤らない確率は、（１−ε）1(x)なので、少なくとも各符号語に１ビットは誤りが入るような条件付き確率を考えると、
【数５】
0003884172.tif 000006
【０１７３】
となる。
【０１７４】
今、対象としている瞬時復号可能な符号の場合、誤りがない場合の受信系列ｙは、符号木の根の部分からスタートして、必ず葉の部分に到達する。
【０１７５】
しかし、誤りがある場合には、受信系列ｙは、符号木の葉の部分だけでなく節点の状態でスタートまたは、受信される可能性があるので、図５１のような状態遷移図で表現することができる。各状態への遷移確率ｔijは、
【数６】
0003884172.tif 000007
【０１７６】
によって、状態ｉから状態ｊに遷移する時の状態遷移確率ｔijを求めることができる。ここで、関数Ｖ(y,i→j)は、状態ｉの時、受信系列ｙで、状態ｊに遷移するならば、値１、そうでないならば、値０をとる。
【０１７７】
ここで、各状態を次のように定義する。
【０１７８】
Ｉ    初期状態
Ｓ    同期状態
Ｕi   非同期状態  ｉ＝１，…，Ｎ−２
Ｄ    誤り検出状態
図５１は、符号語の状態遷移図の例であり、図５２は、符号語の状態遷移表である。
【０１７９】
行列Ｔは、状態遷移表のうち、各状態から誤り検出される確率を除いた部分で
【数７】
0003884172.tif 000008
【０１８０】
と定義し、一方、ベクトルＤは、各状態から、誤り検出状態に遷移する確率とする。
【０１８１】
【数８】
0003884172.tif 000009
【０１８２】
初期状態Ｉからスタートするので誤り検出状態を除く各状態の確率の初期確率は、
【数９】
0003884172.tif 000010
【０１８３】
と置けるので、ｉ符号語後の誤り検出状態を除く各状態の確率は、
【数１０】
0003884172.tif 000011
【０１８４】
で、計算できる。
【０１８５】
従って、ｉ符号語後に誤りが検出される確率は、ｉ−１符号語後に各状態にいて、その次に検出される確率だから、
【数１１】
0003884172.tif 000012
【０１８６】
となる。ただし、Ｔ0 は、単位行列Ｉとする。
【０１８７】
推定確率ａを設定して、その確率で誤りが検出できる符号語数を計算できる。
【０１８８】
【数１２】
0003884172.tif 000013
【０１８９】
となる最小のｊを求めてＦ(a) とすることで、誤りの存在範囲を確率的に推定できる。このＦ(a) は、前述したように第１および第２実施形態におけるＴに相当するものである。
【０１９０】
つまり、誤りを検出できた位置から、Ｆ(a) 符号語分さかのぼった範囲に確率ａで誤りが存在するということである。また、復号処理の立場から考えると、この値によって、誤りを検出できた位置から、Ｆ(a) 符号語分さかのぼることにより、誤りの伝搬している可能性のある箇所を確率ａで排除することが可能になる。
【０１９１】
復号値決定部１０５は、順方向符号語テーブル１０３と逆方向符号語テーブル１０８と符号語の生起確率Ｐ(x) と通信路の誤り率εと推定確率ａから、順方向の誤りの存在する範囲Ｆ1(a)と逆方向の誤りの存在する範囲Ｆ2(a)を計算し、誤り検出位置との関係から、廃棄する部分を決定する。
【０１９２】
もし、図５３（ａ）のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差しない場合は、それぞれの検出位置から、誤りの存在する範囲Ｆ1(a)，Ｆ2(a)の分だけさかのぼって廃棄する範囲を増やす。
【０１９３】
もし、図５３（ｂ）のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より大きい場合、交差する範囲を廃棄する範囲とする。
【０１９４】
もし、図５３（ｃ）のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より小さい場合、誤りが存在する範囲を廃棄する範囲とする。
【０１９５】
また、Ｆ(a) に平均符号長をかけることで、ビット数で推定することも可能である。
【０１９６】
【数１３】
0003884172.tif 000014
【０１９７】
この場合は、復号値決定部１０５は、図５４のような動作をとる。図５３の場合と同様に、もし、図５４（ａ）のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差しない場合は、それぞれの検出位置から、誤りの存在する範囲Ｂ1(a)，Ｂ2(a)の分だけさかのぼって廃棄する範囲を増やす。
【０１９８】
もし、図５４（ｂ）のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より大きい場合、交差する範囲を廃棄する範囲とする。
【０１９９】
もし、図５４（ｃ）のように、順方向の誤り検出位置と逆方向の誤り検出位置が交差し、かつ、交差する範囲が誤りの存在する範囲より小さい場合、誤りが存在する範囲を廃棄する範囲とする。
【０２００】
なお、本第３の実施形態においては、双方向に復号可能な可変長復号化器の場合の例を示したが、通常の順方向のみに復号可能な可変長復号化器の場合にも適用可能である。
【０２０１】
以上、説明したように本第３実施形態の可変長復号化装置においては、１）符号化データをその符号化データに誤りが検出されるまで順方向から復号し、２）順方向からの復号において符号化データに誤りが検出されたとき、符号化データを逆方向から復号し、３）順方向および逆方向からの復号結果と、順方向および逆方向からの復号においてそれぞれ検出された符号化データの誤り検出位置と、伝送系または蓄積系の誤り率と、各々の符号語の生起確率と、符号語テーブル中の各符号語のビットパターンから、誤りの存在する範囲を推定して、最終的な復号値を決定する、という手順にて復号処理が行われる。
【０２０２】
このように伝送系または蓄積系の誤り率と符号語の性能に応じて、誤り発見位置から、実際の誤りが存在する位置を確率的に推定することで、本来は正しくない符号語が誤って正しい符号語として復号されてしまうことを一定確率以下に低減することが可能となる。
【０２０３】
なお、以上説明した第１乃至第３実施形態の可変長復号化装置の復号化処理の手順は、コンピュータ読み取り可能なＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭなどの記録媒体に格納されたコンピュータプログラムによって実現することもできる。これにより、可変長復号のための専用のハードウェアを持たないコンピュータなどにおいても、符号化データに含まれる誤りによる影響が少ない復号処理を行うことができる。また、第１乃至第３実施形態の可変長復号化装置の一部または全てのハードウェアを搭載し、その動作制御をコンピュータプログラムによって行うようにすることもできる。
【０２０４】
（第４実施形態）
次に、本発明の応用例として、本発明の実施形態１〜３の可変長符号化／復号化装置が組み込まれた動画像符号化／復号化システムの例を図５５を用いて説明する。パーソナルコンピュータ（ＰＣ）１００１に備え付けられたカメラ１００２より入力された画像信号は、ＰＣ１００１に組み込まれた動画像符号化器または動画像符号化ソフトウェアによって符号化される。符号化されたデータは、他の音声やデータの情報と多重化された後、無線機１００３より無線で送信され、他の無線機１００４によって受信される。無線機１００４で受信された信号は、画像信号の符号化データおよび音声データに分解される。これらのうち、画像信号の符号化データはワークステーション（ＥＷＳ）１００５に組み込まれた動画像復号化器または動画像復号化ソフトウェアによって復号され、ＥＷＳ１００５のディスプレイに表示される。
【０２０５】
一方、ＥＷＳ１００５に備え付けられたカメラ１００６より入力された画像信号は、ＥＷＳ１００５に組み込まれた動画像符号化器または符号化ソフトウェアを用いて上記と同様に符号化される。符号化データは、他の音声やデータの情報と多重化され、無線機１００４により無線で送信され、無線機１００３によって受信される。無線機１００３によって受信された信号は、画像信号の符号化データおよび音声やデータの情報に分解される。これらのうち、画像信号の符号化データはＰＣ１００１に組み込まれた動画像復号化器または動画像復号化ソフトウェアによって復号され、ＰＣ１００１のディスプレイに表示される。
【０２０６】
なお、動画像復号化ソフトウェアは、前述の各実施形態で説明した可変長復号化処理の手順をコンピュータに実行させるためのプログラムにより実現されるものである。
【０２０７】
また、以上説明した各実施形態１〜３の構成および符号化データ列の構造は適宜組み合わせて用いることが可能である。
【０２０８】
【発明の効果】
以上説明したように、本発明によれば、符号化データのビット上での誤り発見位置と符号化データのシンタクス上の誤り発見位置とを利用することにより、本来は正しくない符号語が正しいと復号される場合を減らすことができ、伝送路の誤りによる影響を抑えることのできる可変長復号化装置および方法を実現することができる。また、特に、本発明の可変長復号化装置および方法を動画像の復号化処理に適用することで、符号化された動画像信号が無線通信路などの伝送路誤りの多い環境を介して送信される場合であっても、伝送路誤りによる表示画面への影響を低減することが可能となる。さらに、誤りの伝搬範囲を推定することにより、本来は正しくない符号語が正しいと復号される確率をより低減することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る可変長復号化装置を用いた符号化／復号化システムの構成を示すブロック図。
【図２】同第１実施形態に係る可変長復号化装置で用いられる符号化データのシンタクスの例を示す図。
【図３】同第１実施形態に係る可変長復号化装置における復号値判定方法の原理を説明するための第１の図。
【図４】同第１実施形態に係る可変長復号化装置における復号値判定方法の原理を説明するための第２の図。
【図５】同第１実施形態に係る可変長復号化装置の復号値判定方法の手順を説明するフローチャート。
【図６】本発明の第２実施形態に係る動画像復号化装置を用いた動画像符号化／復号化システムの構成を示すブロック図。
【図７】同第２実施形態に係る動画像復号化装置の動画像多重化分離器の構成を示すブロック図。
【図８】同第２実施形態に係る動画像復号化装置で用いられる符号化データのシンタクスを示す図。
【図９】同第２実施形態に係る動画像復号化装置に設けられた下位階層可変長復号化器の構成を示すブロック図。
【図１０】同第２実施形態に係る動画像復号化装置に設けられた情報源復号化器の構成を示すブロック図。
【図１１】同第２実施形態に係る動画像復号化装置における復号値判定方法の原理を説明するための第１の図。
【図１２】同第２実施形態に係る動画像復号化装置における復号値判定方法の原理を説明するための第２の図。
【図１３】同第２実施形態に係る動画像復号化装置における復号値判定方法の原理を説明するための第３の図。
【図１４】同第２実施形態に係る動画像復号化装置の復号値判定方法の手順を説明するフローチャート。
【図１５】図６の動画像符号化／復号化システムの符号化器がリバーシブル符号を用いて動画像信号のＤＣＴ係数を可変長符号化する手順を説明するフローチャート。
【図１６】図６の動画像符号化／復号化システムの順方向復号化器がリバーシブル符号を含む符号化データを可変長復号する手順を説明するフローチャート。
【図１７】図６の動画像符号化／復号化システムの逆方向復号化器がリバーシブル符号を含む符号化データを可変長復号する手順を説明するフローチャート。
【図１８】図６の動画像符号化／復号化システムの符号化器において、ＩＮＴＲＡモードにおける非ＬＡＳＴ係数のＲＵＮおよびＬＥＶＥＬの値から符号語テーブルのＩＮＤＥＸ値を検索するために用いられるＩＮＤＥＸテーブルを示す図。
【図１９】図６の動画像符号化／復号化システムの符号化器において、ＩＮＴＥＲモードにおける非ＬＡＳＴ係数のＲＵＮおよびＬＥＶＥＬの値から符号語テーブルのＩＮＤＥＸ値を検索するために用いられるＩＮＤＥＸテーブルを示す図。
【図２０】図６の動画像符号化／復号化システムの符号化器において、ＬＡＳＴ係数のＲＵＮおよびＬＥＶＥＬから符号語テーブルのＩＮＤＥＸ値を検索するために用いられるＩＮＤＥＸテーブルを示す図。
【図２１】図６の動画像符号化／復号化システムにおいて使用される符号語テーブルの一部を示す図。
【図２２】図６の動画像符号化／復号化システムにおいて使用される符号語テーブルの残りの部分を示す図。
【図２３】図６の動画像符号化／復号化システムにおいて使用されるＲＵＮ用固定長符号語テーブルを示す図。
【図２４】図６の動画像符号化／復号化システム使用されるＬＥＶＥＬ用固定長符号語テーブルを示す図。
【図２５】図６の動画像符号化／復号化システムにおいて用いられる固定長リバーシブル符号のデータ形式を示す図。
【図２６】図６の動画像符号化／復号化システムの復号化器において使用される符号語テーブルの一部を示す図。
【図２７】図６の動画像符号化／復号化システムの復号化器において使用される符号語テーブルの残りの部分を示す図。
【図２８】同第２実施形態に係る動画像復号化装置において、符号語に使用されてないビットパターンの出現によって誤りを検出する方法の手順を示すフローチャート。
【図２９】同第２実施形態に係る動画像復号化装置において、シンタクス上あり得ない状態の出現によって誤りを検出する方法の手順を示すフローチャート。
【図３０】ＬＥＶＥＬ固定長符号語テーブルの他の構成の一例を示す図。
【図３１】両端にＥＳＣＡＰＥ符号が付加された符号化データ列の他の構成例を示す図。
【図３２】両端にＥＳＣＡＰＥ符号が付加された符号化データ列の別の構成例を示す図。
【図３３】図３１または図３２の符号化データ列を使用した場合における符号化処理の手順を示すフローチャート。
【図３４】図３１または図３２の符号化データ列を使用した場合における順方向復号化処理の手順を示すフローチャート。
【図３５】図３１または図３２の符号化データ列を使用した場合における逆方向復号化処理の手順を示すフローチャート。
【図３６】図３１または図３２の符号化データ列を使用した場合に用いられる誤り検出処理の手順を示すフローチャート。
【図３７】２の補数表現を使用した場合のＬＥＶＥＬ固定長符号語テーブルの構成例を示す図。
【図３８】図３７のＬＥＶＥＬ固定長符号語テーブルを使用した場合における符号化データ列の構成例を示す図。
【図３９】図３７のＬＥＶＥＬ固定長符号語テーブルを使用した場合における符号化データ列の他の構成例を示す図。
【図４０】符号化データ列の他の構成例を示す図。
【図４１】図３７のＬＥＶＥＬ固定長符号語テーブルを使用した場合における符号化データ列のさらに他の構成例を示す図。
【図４２】図３７のＬＥＶＥＬ固定長符号語テーブルを使用した場合における符号化データ列の別の構成例を示す図。
【図４３】図３８、図３９または図４２の符号化データ列を使用した場合に用いられる順方向復号化処理の手順を示すフローチャート。
【図４４】図３８、図３９または図４２の符号化データ列を使用した場合に用いられる逆方向復号化処理の手順を示すフローチャート。
【図４５】図４１の符号化データ列を使用した場合に用いられる順方向復号化処理の手順を示すフローチャート。
【図４６】図４１の符号化データ列を使用した場合に用いられる逆方向復号化処理の手順を示すフローチャート。
【図４７】本発明の第３実施形態に係る可変長復号化装置の構成を示すブロック図。
【図４８】Ｋｒａｆｔの不等式を等号で満足しない符号を示す図。
【図４９】Ｋｒａｆｔの不等式を等号で満足しない符号の符号木を示す図。
【図５０】２元対称通信路を説明する図。
【図５１】２元対称通信路上の符号語の状態遷移図の例。
【図５２】２元対称通信路上の符号語の状態遷移表。
【図５３】同第３実施形態における復号値決定部の復号動作を示した図。
【図５４】同第３実施形態における復号値決定部の別の復号動作を示した図。
【図５５】本発明による可変長復号化装置が組み込まれるシステムの一例を示す図。
【図５６】リバーシブル符号の一般的な復号方法を示す図。
【符号の説明】
１１…可変長符号化器
１２…可変長復号化器
１３…伝送系／蓄積系
１１１…符号化器
１１２…符号語テーブル
１１３…同期区間設定部
１２１…同期区間検出部
Ｓ，Ｔ…スイッチ
１２２…バッファ
１２３…順方向復号化器
１２４…順方向符号語テーブル
１２５…復号値決定部
１２６…逆方向復号化器
１２７…逆方向符号語テーブル
２１…動画像符号化器
２２…動画像復号化器
２３…伝送系／蓄積系
２０１…符号化制御部
２０２…情報源符号化器
２０３…動画像多重化器
２０４…送信バッファ
２０５…受信バッファ
２０６…動画像多重化分離器
２０７…情報源復号化器
５０１…多重化分離器
５０２…上位階層可変長復号化器
５０３…下位階層可変長復号化器
７０２…バッファ
７０３…順方向符号語テーブル
７０４…順方向復号化器
７０５…復号値決定部
７０７…逆方向符号語テーブル
７０８…逆方向復号化器
８０１…逆量子化回路
８０２…ＩＤＣＴ回路
８０３…加算器
８０４…モード判定回路
８０５…モード切替スイッチ
８０６…フレームメモリ
１０３…順方向符号語テーブル
１０４…順方向復号化器
１０５…復号値決定部
１０７…逆方向符号語テーブル
１０８…逆方向復号化器
１００１…パーソナルコンピュータ
１００２…ワークステーション
１００３…無線機
１００４…無線機
１００５…カメラ
１００６…カメラ
【図１】
0003884172.tif 000015
【図２】
0003884172.tif 000016
【図３】
0003884172.tif 000017
【図４】
0003884172.tif 000018
【図５】
0003884172.tif 000019
【図６】
0003884172.tif 000020
【図７】
0003884172.tif 000021
【図８】
0003884172.tif 000022
【図９】
0003884172.tif 000023
【図１０】
0003884172.tif 000024
【図１１】
0003884172.tif 000025
【図１２】
0003884172.tif 000026
【図１３】
0003884172.tif 000027
【図１４】
0003884172.tif 000028
【図１５】
0003884172.tif 000029
【図１６】
0003884172.tif 000030
【図１７】
0003884172.tif 000031
【図１８】
0003884172.tif 000032
【図１９】
0003884172.tif 000033
【図２０】
0003884172.tif 000034
【図２１】
0003884172.tif 000035
【図２２】
0003884172.tif 000036
【図２３】
0003884172.tif 000037
【図２４】
0003884172.tif 000038
【図２５】
0003884172.tif 000039
【図２６】
0003884172.tif 000040
【図２７】
0003884172.tif 000041
【図２８】
0003884172.tif 000042
【図２９】
0003884172.tif 000043
【図３０】
0003884172.tif 000044
【図３１】
0003884172.tif 000045
【図３２】
0003884172.tif 000046
【図３３】
0003884172.tif 000047
【図３４】
0003884172.tif 000048
【図３５】
0003884172.tif 000049
【図３６】
0003884172.tif 000050
【図３７】
0003884172.tif 000051
【図３８】
0003884172.tif 000052
【図３９】
0003884172.tif 000053
【図４０】
0003884172.tif 000054
【図４１】
0003884172.tif 000055
【図４２】
0003884172.tif 000056
【図４３】
0003884172.tif 000057
【図４４】
0003884172.tif 000058
【図４５】
0003884172.tif 000059
【図４６】
0003884172.tif 000060
【図４７】
0003884172.tif 000061
【図４８】
0003884172.tif 000062
【図４９】
0003884172.tif 000063
【図５０】
0003884172.tif 000064
【図５１】
0003884172.tif 000065
【図５２】
0003884172.tif 000066
【図５３】
0003884172.tif 000067
【図５４】
0003884172.tif 000068
【図５５】
0003884172.tif 000069
【図５６】
0003884172.tif 000070