JP4131977B2 - 可変長復号化装置 - Google Patents

可変長復号化装置 Download PDF

Info

Publication number
JP4131977B2
JP4131977B2 JP2006022647A JP2006022647A JP4131977B2 JP 4131977 B2 JP4131977 B2 JP 4131977B2 JP 2006022647 A JP2006022647 A JP 2006022647A JP 2006022647 A JP2006022647 A JP 2006022647A JP 4131977 B2 JP4131977 B2 JP 4131977B2
Authority
JP
Japan
Prior art keywords
decoding
decoded
codeword
code
encoded data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2006022647A
Other languages
English (en)
Other versions
JP2006217613A (ja
Inventor
條 健 中
邊 敏 明 渡
池 義 浩 菊
井 剛 永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006022647A priority Critical patent/JP4131977B2/ja
Publication of JP2006217613A publication Critical patent/JP2006217613A/ja
Application granted granted Critical
Publication of JP4131977B2 publication Critical patent/JP4131977B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

この発明は、動画像信号などの圧縮符号化/復号化に用いられる可変長符号化/復号化装置に係り、特に順方向からも逆方向からも復号化可能な可変長符号化/復号化装置およびこの装置で用いられるデータまたはプログラムを記録する記録媒体に関する。
可変長符号は、シンボルの発生頻度に基づいて、頻繁に出現するシンボルは短い符号長の符号、希にしか出現しないシンボルは長い符号長の符号をそれぞれ割り当てることにより、平均的に短い符号長となるようにした符号系である。したがって、可変長符号を用いると、符号化前のデータと比較して、データ量を大幅に圧縮することができる。このような可変長符号の構成方法としては、無記録情報源で最適なハフマンのアルゴリズムが知られている。
可変長符号の一般的な問題として、符号化データの伝送路誤りやその他の理由により符号内に誤りが混入した場合に、誤りが混入した後のデータはその影響が伝搬することにより復号化装置で正しく復号することができなくなってしまうという点が挙げられる。この問題を避けるため、伝送路において誤りが生じる可能性がある場合には、ある間隔で同期符号を挿入し、誤りの伝搬を防止する方法がとられるのが一般的である。同期符号には、可変長符号の組み合わせでは出現しないようなビットパターンが割り当てられる。この方法によれば、符号化データに誤りが生じ、復号できなくなったとしても、次の同期符号を見つけることにより、誤りの伝搬を防止し、正しく復号を行なうことができる。
しかし、同期符号を用いた場合でも、図71(a)に示すように誤りが生じて正しく復号できない箇所から、次の同期符号が見つかる箇所までの間の符号化データについては、復号を行なうことができない。
そこで、可変長符号を図72に示す通常の構成から図73に示すように変更して、図71(b)に示すように通常の順方向から復号可能な性質だけでなく、逆方向からも復号可能な符号構成にする方法が知られている。また、このような符号は符号化データを逆方向からも読めることから、符号化データを蓄積するディスクメモリなどの蓄積媒体において逆転再生に用いることもできる。このような順方向のみならず逆方向からも復号可能な可変長符号のことを、ここではリバーシブル符号と呼ぶこととする。
リバーシブル符号の一例は、例えば特開平5−300027号公報「可逆可変長符号化方式」に記載されている。この公知例のリバーシブル符号は、図72に示した順方向から復号可能な可変長符号であるハフマン符号の符号語の末尾に、図73に示すようにそれぞれの符号語がそれより符号長の長い他の符号語の末尾と一致しない条件でビットを追加することによって、逆方向からも復号可能とした可変長符号である。しかし、このリバーシブル符号は順方向からのみ復号可能な可変長符号の符号語の末尾にビットを付加するために、無駄なビットが多くなって平均符号長が長くなる。この結果、順方向からのみ復号可能な可変長符号と比較して符号化効率が大きく低下してしまう。
また、従来のリバーシブル符号では一定区間を単位に同期区間を設定すると、逆方向で復号ができないという問題点があった。例えば、ITU−T H.263(1996)では、同期符号を8ビット(=1バイト)毎にアライメントする、すなわち同期符号の挿入可能位置を1バイト単位の位置に設定することが可能となっている。このような同期区間のアライメントを実現するために、同期符号の前に図34に示すようなスタッフィング符号を挿入している。このような場合、従来のリバーシブル符号では、スタッフィング符号のために逆方向復号を行なうことができなくなるという問題点があった。
さらに、単純にリバーシブル符号を復号する場合には、通常の順方向のみ復号可能な可変長符号の復号化装置と比較すると、逆方向に復号する分だけ2倍の回路規模と演算量を必要とするという問題点があった。 従来のリバーシブル符号のもう一つの問題点としては、入力される情報のシンタクスによって逆方向からの復号ができない場合が存在することが挙げられる。例えば図75(a)のシンタクスを持つ情報シンボルの場合、シンボルAによってシンボルBの符号が決定される。このようなシンタクスを持つ情報シンボルを符号化した符号化データは、図75(b)のようにAが先に復号できていなければBを復号できないので、逆方向からは復号できないことになる。
また、情報シンボル数が大きい場合に適用される符号化方式として、エスケープ符号を用いた方式がある。このエスケープ符号を用いた方式は、少数の出現頻度の高い情報シンボルに対する符号語を符号語テーブルとして持ち、大多数の出現頻度の低い情報シンボルをエスケープ符号と固定長符号の組み合わせで符号化する方法である。このエスケープ符号を用いた方式においても、順方向にも逆方向にも復号可能な可変長符号の場合と同様に固定長符号の先頭と末尾にエスケープ符号を付ける方式が提案されている。
従来のエスケープ符号を用いた符号化/復号化方式では、符号語テーブルに存在する符号語とエスケープ符号を用いて符号化する符号語を区別するために、何らかの方法で、符号語テーブルに符号語が存在するか検索する必要があった。
本発明は、少ない計算量と記憶量で効率的に符号化/復号化することができる順方向にも逆方向にも復号可能な可変長符号化/復号化装置を提供することを目的とする。
つまり、上述したように、従来技術によるリバーシブル符号、すなわち順方向からも逆方向からも復号可能な可変長符号は、順方向からのみ復号可能な可変長符号の符号語の末尾にビットを付加することによってリバーシブル符号を構成するため、無駄なビットパターンが多くなって平均符号長が長くなり、順方向からのみ復号可能な可変長符号と比較して符号化効率の低下が著しくなるという問題があり、また、スタッフィング符号を用いて同期区間を一定区間を単位に設定すると、スタッフィング符号のためにリバーシブル符号の逆方向復号ができなくなるという問題があり、さらに、単純にリバーシブル符号を復号する場合には、通常の順方向のみ復号可能な可変長符号の復号化装置と比較すると、逆方向に復号する分だけ2倍の回路規模と演算量を必要とし、また入力される情報シンボルのシンタクスによっては逆方向からの復号が不可能である場合が存在するという問題点があった。
本発明は、無駄なビットパターンを減らして符号化効率を高め、しかもスタッフィング符号を用いて一定区間を単位として同期区間を設定する場合でも、順方向にも逆方向にも復号可能な可変長符号化/復号化装置を提供することを目的とする。
また、本発明は無駄なビットパターンを減らして符号化効率を高めると共に、逐次的に復号処理を行なうことで回路規模と演算量を削減して効率的に復号できる、順方向にも逆方向にも復号可能な可変長符号化/復号化装置を提供することを目的とする。
さらに、本発明は入力される情報シンボルのシンタクスによらず順方向にも逆方向にも復号可能であって、より誤りに強い可変長符号化/復号化装置を提供することを目的とする。
本発明の第1構成に係る可変長復号化装置は、順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の先頭および末尾の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを復号する可変長復号化装置において、 前記符号化データを階層毎に分離する分離手段と、前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果を合成する合成手段と、を有することを特徴とする。
本発明の第2構成に係る可変長復号化装置は、順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを所定の同期区間毎に復号する可変長復号化装置において、前記多重化された符号化データを階層毎に分離する分離手段と、前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果を合成する合成手段とを有することを特徴とする。
本発明の第3構成に係る可変長復号化装置は、順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の先頭および末尾の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを所定の同期区間毎に復号する可変長復号化装置において、前記多重化された符号化データを階層毎に分離する分離手段と、前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果から復号値を判定して最終的な復号結果を出力する復号値判定手段と、前記復号値判定手段により得られた階層毎の最終的な復号結果を合成する合成手段と、を有することを特徴とする。
本発明の第4構成に係る可変長復号化装置は、順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを所定期間毎に復号する可変長復号化装置において、前記多重化された符号化データを階層毎に分離する分離手段と、 前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、 前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果から復号値を判定して最終的な復号結果を出力する復号値判定手段と、前記復号値判定手段により得られた階層毎の最終的な復号結果を合成する合成手段と、を有することを特徴とする。
第1ないし第4構成の何れかの可変長復号化装置において、順方向にも逆方向にも復号可能で、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語を含む複数の符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語は、順方向にも逆方向にも復号可能な前記第1の符号語の各ビットの間に、固定長符号の符号語が所定ビットずつ挿入された前記第2の符号語であることを特徴としてもよい。
第1ないし第4構成の何れかの可変長復号化装置において、順方向にも逆方向にも復号可能で、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語を含む複数の符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語は、順方向にも逆方向にも復号可能な前記第1の符号語の各ビットの間に、順方向にも逆方向にも復号可能な符号語が所定ビットずつ挿入された前記第2の符号語であることを特徴としてもよい。
ここで、符号語が2進符号である場合には、符号語の最小値はオール“0”であり、最大値はオール“1”であるから、符号語の重みは“1”または“0”の数に相当する。この符号語の重みが予め定められた値になった位置が可変長符号における符号の区切りを示している。
この可変長復号化装置では、符号語の重みという符号語の順序関係に依存しない値によって符号の区切り、つまりは符号長が定められた符号語からなる可変長符号を構成する。したがって、この可変長符号は順方向からも逆方向からも符号の区切りが分かるので、これらの両方向から復号可能なリバーシブル符号となる。また、従来のリバーシブル符号のような順方向にのみ復号可能な可変長符号の末尾にビットを付加する符号と異なり、余分なビットを付加することなく、初めからリバーシブル符号を構成するので、無駄なビットパターンが少なく符号化効率の高い可変長符号が得られる。
さらに、この可変長復号化装置では、一定区間単位の同期区間の設定を行なう場合でも逆方向に復号可能なスタッフィング符号を用いることにより、リバーシブル符号を逆方向に復号してもよい。すなわち、リバーシブル符号を逆方向復号する場合、リバーシブル符号の末尾(逆方向に見たときは先頭)が分かる必要があるが、逆方向に復号可能なスタッフィング符号を用いれば、リバーシブル符号の末尾が分かるので、リバーシブル符号の逆方向復号が実現できることになる。
この可変長復号化装置では、入力された情報シンボルを階層化した上で先と同様の符号化テーブルを用いて可変長符号化を行ない、さらに階層毎に同期区間を設定することによって、入力された情報シンボルのシンタクスによらず順方向にも逆方向にも復号可能であって、より誤りに強い可変長符号化が可能となる。
上記構成の可変長復号化装置において、符号語テーブルに格納された複数の符号語のうち、順方向にも逆方向にも復号可能であって、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語は、好ましくは、例えば順方向にも逆方向にも復号可能な第1の符号語の先頭および末尾の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成されるか、または順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成される。
このように符号語を構成すると、より幅広い情報シンボルの確率分布に対応することができるため、符号化効率が向上し、また符号語のビットパターンの自由度が高い符号設計ができるため、同期符号を用いて同期区間の設定を行なう場合でも、同期符号と符号語のビットパターンが一致することによる擬似同期の問題を回避できる。
また、上記構成の可変長復号化装置において、符号語テーブルに格納された複数の符号語のうち、順方向にも逆方向にも復号可能であって、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語は、順方向にも逆方向にも復号可能な符号語の各ビットの間に、固定長符号の符号語が所定ビットずつ挿入された符号語であってもよい。
また、符号語テーブルに格納された複数の符号語のうち、順方向にも逆方向にも復号可能であって、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語は、第1の順方向にも逆方向にも復号可能な符号語の各ビットの間に、第2の順方向にも逆方向にも復号可能な符号語が挿入された符号語であってもよい。
このように符号語を構成すると、より幅広い情報シンボルの確率分布に対応することができるため、符号化効率が向上し、また符号語のビットパターンの自由度が高い符号設計ができるため、同期符号を用いて同期区間の設定を行なう場合でも、同期符号と符号語のビットパターンが一致することによる擬似同期の問題を回避できる。
本発明に係る可変長復号化装置は、可変長符号化装置に対応した可変長復号化装置であり、順方向にも逆方向にも復号可能であって、所定の同期区間毎に逆方向に復号可能なスタッフィング符号が挿入された符号語を含む符号語で構成された可変長符号からなる符号化データを復号する可変長復号化装置において、符号化データの同期区間を検出する同期区間検出手段と、この同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段とを有することを特徴とする。
この可変長復号化装置は、順方向復号化手段および逆方向復号化手段の復号結果から復号値を判定する復号値判定手段を有してもよい。
ここで、同期区間検出手段は、例えばスタッフィング符号を逆方向から復号することで、符号化データのビット数を検出する。
また、順方向復号化手段および逆方向復号化手段の少なくとも一方は、可変長符号の符号語テーブルに存在しない符号語が符号化データに出現したとき、該符号語を誤りとして検出する可変長符号の符号語テーブルに存在しない符号語が符号化データに出現によって誤りを検出するか、あるいは復号した符号化データのビット数が伝送されてきた符号化データのビット数と一致しない場合、誤りと検出する。
また、順方向復号化手段および逆方向復号化手段の少なくとも一方は、符号化データを復号して得られた復号値が不適な場合に、復号処理の誤りとして検出する。
一方、復号値判定手段は、例えば順方向復号化手段および逆方向復号化手段の少なくとも一方で誤りが検出された場合は、順方向復号化手段および逆方向復号化手段の復号結果のうち正しいと推定される復号結果を使用し、いずれの復号結果でも復号できなかった部分は放棄する。
具体的には、
(a)前記順方向復号化手段および逆方向復号化手段の両方で前記誤りが検出され、かつそれらの誤り検出位置が交差しない場合は、誤りが検出されなかった復号結果のみ復号値として使用し、
(b)前記順方向復号化手段および逆方向復号化手段の両方で前記誤りが検出され、かつそれらの誤りが検出され、かつそれらの誤りが検出された位置が交差する場合は、順方向復号化手段で誤りが発見された位置の直前までの符号語に対する復号値は順方向の復号結果を使用し、それ以後の符号語に対する復号値は逆方向の復号結果を使用し、
(c)前記順方向復号化手段および逆方向復号化手段のいずれか一方のみで前記誤りが検出された場合は、該誤りが検出された位置の直前までの符号語に対する復号値は順方向の復号結果を使用し、それ以後の符号語に対する復号値は逆方向の復号結果を使用し、
(d)前記順方向復号化手段および逆方向復号化手段で同一の符号語について前記誤りが検出された場合は、該誤りが検出された位置の符号語に対する復号値を放棄し、それ以後の符号語に対する復号値は逆方向の復号結果を使用する。
なお、復号値判定手段は、順方向復号化手段および逆方向復号化手段の少なくとも一方で誤りが検出された場合は、誤りが入っている可能性のある部分を全て放棄する構成でもよい。
この可変長復号化装置では、可変長符号の符号語の誤り検出機能を有する順方向復号化手段および逆方向復号化手段の復号結果から復号値を判定する際、順方向復号化手段および逆方向復号化手段での誤り検出結果に応じて、符号化データの復号値を判定することにより、上記のような可変長符号化装置から出力されるリバーシブル符号を伝送路誤りに対して効果的に復号することが可能となる。
また、スタッフィング符号として逆方向に復号可能な符号を用いているため、スタッフィング符号を用いて一定区間単位の同期区間の設定が行なわれている場合でも、リバーシブル符号の逆方向復号が可能となる。
本発明に係る可変長復号化装置は、順方向にも逆方向にも復号可能な可変長符号からなり、所定の同期区間毎に逆方向に復号可能なスタッフィング符号が挿入された符号化データを復号する可変長復号化装置において、符号化データの同期区間を検出する同期区間検出手段と、この同期区間検出手段により検出された同期区間の符号化データを復号する順方向および逆方向の両方向の復号が可能な双方向復号化手段とを有することを特徴とする。
ここで、双方向復号化手段は、順方向の復号処理および逆方向の復号処理の少なくとも一方において、符号化データを復号して得られた復号値が不適な場合、復号処理の誤りとして検出する。
双方向復号化手段の復号方法としては、以下の方法を用いることができる:
(a)順方向の復号処理を行なった後、符号化データの末尾より逆方向の復号処理を行なう;
(b)順方向の復号処理で誤りを検出した場合に、該順方向の復号処理を中止し、符号化データの末尾より逆方向の復号処理を行なう;
(c)順方向の復号処理で誤りを検出した場合に、該誤り位置より任意の距離離れた位置から順方向の復号処理を再開する;
(d)順方向の復号処理で誤りを検出した場合に、該誤り位置より任意の距離離れた位置から該誤り位置まで逆方向の復号処理を行なう;
(e)順方向の復号処理において符号化データの末尾で誤りを検出した場合に限り、逆方向の復号処理を行なう。
この可変長復号化装置においても、順方向復号化手段および逆方向復号化手段の復号結果から復号値を判定する復号値判定手段を有してもよい。
この可変長復号化装置では、可変長符号の符号語の誤り検出機能を有する双方向復号化手段で復号処理を行なう際に、順方向復号処理での誤り検出結果に応じて符号化データの復号処理を切り替えることにより、順方向と逆方向の復号処理手段を共用できることから、回路規模や演算量を大幅に増加させることなく、上記のような可変長符号化装置から出力されるリバーシブル符号を伝送路誤りに対して効果的に復号することが可能となる。
本発明に係る可変長復号化装置は、可変長符号化装置に対応した可変長復号化装置であり、順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを所定の同期区間毎に復号する可変長復号化装置において、多重化された符号化データを階層毎に分離する分離手段と、この分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、この同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、これら順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果を合成する合成手段とを有することを特徴とする。
この可変長復号化装置においても、順方向復号化手段および逆方向復号化手段の復号結果から復号値を判定する復号値判定手段を有してもよい。
この可変長復号化装置を対応する構成の可変長符号化装置と合わせて用いることによって、情報シンボルのシンタクスによらず順方向にも逆方向にも復号可能であって、より誤りに強い可変長符号化/復号化装置を実現することができる。
また、本発明に係る可変符号化/復号化装置が入出力可能な可変長符号化データを記録した記録媒体において、順方向にも逆方向にも復号可能であって、符号語の予め定められた重みによって符号語の区切りがわかるように構成された符号語を含む符号化データと、前記符号化データに所定の同期区間毎に逆方向に復号可能なスタッフィング符号を挿入したデータを記録した読み取り可能であることを特徴とする。
さらに、本発明に係る可変長符号化/復号化装置を適応した画像符号化/復号化装置でブロック単位の直交変換を行なって生成され得る変換係数データを記録した記録媒体において、前記変換係数データは、前記画像符号化/復号化装置がもつ複数の符号化モード毎に、順方向にも逆方向にも復号可能である複数の符号語を、ブロックの最後以外の直交変換係数のうち出現頻度の高いものに対してそれぞれ対応させたデータと、前記画像符号化/復号化装置の複数の符号化モードに対して共通に設けられて、順方向にも逆方向にも復号可能で複数の符号語を、ブロックの最後の直交変換係数のうち出現頻度の高いものに対してそれぞれ対応させたデータと、出現頻度の低い変換係数データを固定長符号で記述し、その先頭と末尾に順方向にも逆方向にも復号可能な符号語を付加したデータと、前記符号化データに所定の同期区間毎に逆方向に復号可能なスタッフィング符号を挿入したデータを記録した読み取り可能であることを特徴とする。
また、本発明に係る可変符号化/復号化装置が入出力可能な可変長符号化データを記録した記録媒体は、順方向にも逆方向にも復号可能であって、符号語の予め定められた重みによって符号語の区切りがわかるように構成された符号語を含む符号化データと、前記符号化データに所定の同期区間毎に逆方向に復号可能なスタッフィング符号を挿入したデータと、を記録することを特徴としている。
さらに、本発明に係る画像符号化/復号化装置でブロック単位の直交変換を行なって生成され得る変換係数データを記録した記録媒体は、前記変換係数データが前記画像符号化/復号化装置がもつ複数の符号化モード毎に、順方向にも逆方向にも復号可能である複数の符号語を、ブロックの最後以外の直交変換係数のうち出現頻度の高いものに対してそれぞれ対応させたデータと、前記画像符号化/復号化装置の複数の符号化モードに対して共通に設けられ、順方向にも逆方向にも復号可能である複数の符号語を、ブロックの最後の直交変換係数のうち出現頻度の高いものに対してそれぞれ対応させたデータと、出現頻度の低い変換係数データを固定長符号で記述し、その先頭と末尾に順方向にも逆方向にも復号可能な符号語を付加したデータと、前記符号化データに所定の同期区間毎に逆方向に復号可能なスッフィング符号を挿入したデータと、を記録することを特徴としている。
また、複数の情報シンボルに対して該情報シンボルの生起確率に応じた符号長を有する符号語をそれぞれ割り当て、入力された情報シンボルに対応した符号語を符号化データとして出力する可変長符号化装置で用いられるプログラムを記録した記録媒体は、順方向にも逆方向にも復号可能であって、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語を含む複数の符号語を情報シンボルにそれぞれ対応させた符号語テーブルを格納する手順と、前記符号語テーブルから前記入力された情報シンボルに対応する符号語を選択する手順と、前記符号語を選択する手順により選択された符号語を用いて所定の同期区間毎に符号化データを作成すると共に、逆方向に復号可能なスタッフィング符号を挿入することにより前記符号語に同期区間を設定する手順と、を少なくとも含むプログラムを記録することを特徴としている。
さらに、順方向にも逆方向にも復号可能な符号語を含む符号語で構成された可変長符号からなり、所定の同期区間毎に逆方向に復号可能なスタッフィング符号が挿入された符号化データを復号する可変長復号化装置で用いられるプログラムを記録した記録媒体は、前記符号化データの同期区間を検出する手順と、前記手順により検出された同期区間の符号化データを順方向から復号する手順と、前記同期区間を検出する手順により検出された同期区間の符号化データを逆方向から復号する手順と、を少なくとも含むプログラムを記録することを特徴とする。
以上、説明したように本発明によれば、より少ない計算量と記憶量で効率的に符号化/復号化することができる順方向にも逆方向にも復号可能な可変長符号化/復号化装置を提供することができる。
また、本発明によれば無駄なビットパターンを減らして符号化効率を高め、しかもスタッフィング符号を用いて一定区間を単位に同期区間を設定する場合でも、順方向にも逆方向にも復号可能な可変長符号化/復号化装置を提供することができる。
また、本発明における符号語の構成方法によれば、より幅広い情報シンボルの確率分布に対応でき、従来適用することのできなかったような情報シンボル数が大きな符号化に対しても適用が可能となる。具体的には、動画像符号化/復号化システムにも適用することが可能であり、誤りに強い動画像符号化/復号化システムを提供することができる。
しかも、この符号語の構成法によれば符号化効率が向上し、また符号語のビットパターンの自由度が高い符号設計ができるため、同期符号を用いて同期区間の設定を行なう場合でも、同期符号と符号語のビットパターンが一致することによる疑似同期の問題を回避することができる。
さらに、本発明によれば順方向および逆方向の復号結果から復号値を判定する際、順方向および逆方向復号を行なう際の誤り検出結果に応じて、符号化データの復号値を判定することにより、リバーシブル符号を伝送路誤りに対して効果的に復号することが可能となる。
また、本発明によれば可変長符号の符号語の誤り検出機能を有する双方向復号化手段で復号処理を行なう際に、順方向復号処理での誤り検出結果に応じて符号化データの復号処理を切り替えることで、順方向と逆方向の復号処理を共用することができることから、回路規模や演算量を大幅に増加させることなく、伝送路誤りに対して効果的に復号を行なうことができる。
さらに、本発明によれば符号化側で情報シンボルを重要度に応じて階層化した上で可変長符号化を行ない、同期区間毎に階層毎の符号化データを作成し、かつ階層毎の符号化データを多重化することにより、情報シンボルのシンタクスによらず順方向にも逆方向にも復号可能であって、より誤りに強い可変長符号化/復号化を行なうことが可能となる。
以下、図面を参照して本発明の実施形態を説明する。
(第1実施形態)
図1は、本発明の第1実施形態の可変長符号化/復号化装置の構成を示すブロック図である。
第1実施形態の可変長符号化/復号化装置は、大きく分けて符号語テーブル作成部101、符号化部113、伝送系または蓄積系105および復号化部114からなる。まず、これら各部の機能について簡単に説明すると、符号語テーブル作成部101は情報シンボルの生起確率に基づいて符号語テーブルを作成し、符号化部113内の符号語テーブル102と、復号化部114内の順方向符号語テーブル111および逆方向符号語テーブル112に符号語を送る。
符号化部113は、情報シンボルを可変長符号に符号化し、その可変長符号を符号化データとして伝送系または蓄積系105へ出力する。復号化部114は、伝送系または蓄積系105を介して入力されてきた符号化データを復号して元の情報シンボルを再生する。
次に、この第1実施形態の各部の詳細な構成と動作を説明する。
符号化部113において、入力された情報シンボルは符号化器103に入力される。符号化部113は、符号語テーブル102と符号化器103および同期区間設定部104により構成される。符号語テーブル102は、符号語テーブル作成部101によって予め作成された情報シンボルと可変長符号の符号語とを対応させて格納している。符号化器103は、符号語テーブル102に格納されている符号語の中から、入力された情報シンボルに対応した符号語を選択して出力する。同期区間設定部104では、符号化器103が選択した符号語を同期区間毎にまとめ、さらに順方向にも逆方向にも復号可能なスタッフィング符号を挿入して、同期区間毎に符号化データを出力する。この符号化データは、伝送系または蓄積系105を通して復号化部114に送られる。
前記復号化部114は、同期区間検出部106、バッファ107、順方向復号化器108、逆方向復号化器109、復号値判定部110、順方向復号化テーブル111および逆方向復号化テーブル112により構成される。復号化部114では、伝送系または蓄積系105より入力された符号化データから同期区間検出部106で符号化データの同期区間を検出し、符号化データをバッファ107に蓄積する。順方向復号化器108では、バッファ107に蓄積された符号化データの先頭から復号を開始する。逆方向復号化器109では、バッファ107に蓄積された符号化データの末尾から復号を開始する。
順方向復号化器108では、符号化データに順方向符号語テーブル111に存在しないビットパターンが出現した場合、およびバッファ107のビット数と異なるビット数の符号化データが復号された場合、誤り検出と判定する。同様に逆方向復号化器109でも、符号化データに逆方向符号語テーブル112に存在しないビットパターンが出現した場合、およびバッファ107のビット数と異なるビット数の符号化データが復号された場合には、誤り検出と判定する。
復号値判定部110は、順方向復号化器108によって得られた復号結果(順方向復号結果という)と、逆方向復号化器109によって得られた復号結果(逆方向復号器という)から復号値を判定し、最終的な復号結果を出力する。図2は符号語テーブル作成部101の構成を示すブロック図である。符号選択部21は情報シンボルの生起確率の情報が入力され、選択可能な符号系の中から最も平均符号長の小さいものを選択して、選択結果を符号語構成部22に送る。符号語構成部22では、符号語選択部21で選択された符号の符号語を構成する。
符号語構成部22で構成される符号語は、符号語の予め定められた重みにより符号の区切りが分かるように構成された順方向にも逆方向にも復号可能な可変長符号(以下、リバーシブル符号という)であり、例えば特願平7−89772、特願平7−260383に記載された符号である。
この第1実施形態においては、より幅広い確率分布に対応し、符号語のビットパターンの自由度を上げるために、符号語構成部22における符号語の構成方法として以下に示す方法を用いている。
図3は、符号語構成部22におけるリバーシブル符号の符号語の第1の構成方法を示している。まず、図3の左側に示すように、符号長が短い順にそれぞれの系列の重み(この場合、“1”の数)が一定で異なる重みを持つ2つの2進系列(この場合、重みは0個と1個)を作成する。次に、図3の中央に示すように、この2進系列のそれぞれ先頭と末尾に“1”を追加して2進系列のビットを反転させた後、これら2つの2進系列を図3の右側に示すように合成する。
この可変長符号では、各符号の最初にあるシンボルの個数をカウントすることによって符号長が分かる。図3の例では、最初が“0”ならば、“0”が2つ出現したら符号の区切り(符号長)が分かり、最初が“1”ならば、“1”が3つ出現したら符号の区切りが分かる符号構成となっている。また、この図3に示す可変長符号は、全ての情報シンボルA〜Jに対応する符号語が図4(a)に示す順方向の復号木の葉にも、図4(b)の逆方向の復号木の葉にも割り当てられることから、順方向にも逆方向にも復号可能であることが分かる。
図5は、符号語構成部22におけるリバーシブル符号の符号語の第2の構成方法を示している。まず、図5の左側に示すように、第1のリバーシブル符号と第2のリバーシブル符号を用意する。次に、図5の中央に示すように、第1のリバーシブル符号の全ての符号語の末尾に、第2のリバーシブル符号の最初の1つの符号語を追加する。以下、同様に第1のリバーシブル符号の全ての符号語の末尾に、第2のリバーシブル符号の全ての符号語を1つずつ追加した後、図5の右側に示すように並べ替えを行なって、新たなリバーシブル符号を構成する。このような構成方法によって、第1のリバーシブル符号の符号語数A(この例ではA=9)と第2のリバーシブル符号の符号語数B(この例ではB=3)を乗算した数A×B個(この例では27個)の新たなリバーシブル符号を構成することができる。
この構成方法によるリバーシブル符号の復号に当たっては、順方向から復号する時は、まず第1のリバーシブル符号を復号し、次に第2のリバーシブル符号を復号するようにする。逆方向から復号する時は、まず第2のリバーシブル符号を復号し、次に第1のリバーシブル符号を復号する。従って、順方向にも逆方向にも復号可能であることが分かる。
なお、この例では第1のリバーシブル符号の符号語の末尾に第2のリバーシブル符号を追加したが、第1のリバーシブル符号の先頭に、第2のリバーシブル符号を追加してもよく、また、第1のリバーシブル符号の末尾と先頭の両方に固定長符号を追加しても構わない。また、この例では第1のリバーシブル符号と第2のリバーシブル符号は異なるものを用いたが、同一のものを使用しても構わない。さらに、本実施形態では第1のリバーシブル符号も第2のリバーシブル符号も可変長符号を用いたが、どちらかを固定長符号に変更しても構わない。
図6は、符号語構成部21におけるリバーシブル符号の第3の符号構成方法を示している。まず、図6の左側に示すように、可変長のリバーシブル符号と固定長のリバーシブル符号を用意する。次に、図6の右側に示すように、リバーシブル符号の符号語の各ビットの直後に固定長のリバーシブル符号を追加する。この構成方法により、Kビットの固定長のリバーシブル符号を用いた場合、Hビットの符号語を(K+1)Hビットにして符号語数を2KH倍にすることができる。なお、この例ではリバーシブル符号の符号語の各ビット毎の直後に固定長符号を追加したが、各ビットの直前に固定長符号を追加してもよく、また直前と直後の両方に固定長符号を追加しても構わない。
次に、図7を用いて同期区間設定部104における符号化データの同期区間の設定方法の具体例について説明する。図7(a)は、同期符号を挿入することにより同期区間を設定する方法を示している。この場合、同期区間検出部106では符号化データの最初と最後の同期符号を検出することにより、同期区間を検出することができる。ここで、同期符号の挿入可能位置をある一定区間単位(この場合は、Mビット単位)に設定するようにするため、符号化データの末尾に1〜Mビットのスタッフィング符号を挿入している。
図7(b)は、符号化データの先頭に同期区間の符号量を記述する方法、言い換えれば同期区間の終了位置を示すポインタを挿入する方法を示している。この場合、同期区間検出部106では、まず符号化データの先頭の同期区間の符号量の記述を復号することで、同期区間を検出することができる。そして、符号量の記述の単位はMビット単位となっているため、符号化データの末尾に1〜Mビットのスタッフィング符号を挿入する。
ここで、図7(a)(b)で用いられるスタッフィング符号は、少なくとも逆方向に復号可能な構成となっていることが特徴である。図8は、このようなスタッフィング符号の具体例を示した図であり、このスタッフィング符号は順方向にも逆方向にも復号可能に構成されている。このスタッフィング符号の場合、1ビットの時は“1”が出現すればそれが区切りで、それ以外では“0”が2度出現すると区切りが分かるような、順方向にも逆方向にも復号可能な可変長符号となっていて、同期区間の最後からも逆方向に復号可能となっていると同時に、符号化データのビット数を計算することが可能になっている。符号化データのビット数の計算結果は、後述する誤り検出に用いられる。
なお、この例ではスタッフィング符号を符号化データの末尾に挿入したが、符号化データの先頭でも符号化データの内部でもよく、同期区間の内部で文法上特に問題ない位置ならば、その挿入位置はどこでもよい。また、スタッフィング符号は図9に示すような逆方向にのみ復号可能な符号でもよい。この符号の場合は、逆方向から復号して“0”が出現したら区切りになるような符号となっている。
次に、図10を用いて、復号値判定部110における復号値の判定方法について説明する。図10(a)に示すように、順方向復号結果と逆方向復号結果で誤りが検出される復号語の位置(誤り検出位置)が交差しない場合は、誤りが検出されなかった復号結果のみを復号値として使用し、2つの誤り検出位置の復号結果は復号値として使用せず放棄する。また、図10(b)に示すように、順方向復号結果と逆方向復号結果の誤り検出位置が交差する場合は、順方向復号結果の誤り検出位置までの復号値は順方向復号結果を使用し、それ以降の部分は逆方向復号結果を復号値として使用する。
なお、逆方向復号結果を優先して、逆方向復号結果の誤り検出位置までの復号値としては逆方向復号結果を使用し、それ以前の部分は順方向復号結果を復号値として使用してもよい。
また、図10(c)に示すように、順方向復号結果および逆方向復号結果のうち片方向の復号結果にしか誤りが検出されない場合(この例では、順方向復号結果のみ誤りが検出されている)は、誤り検出位置までの復号値は、順方向復号結果を使用し、それ以降の部分は逆方向復号結果を復号値として使用する。さらに、図10(d)に示すように、同一の符号語について順方向復号結果および逆方向復号結果の両方に誤りが検出される場合は、誤り検出位置の符号語に対する復号値を放棄し、それ以後の符号語に対する復号値として、逆方向復号結果を使用する。なお、順方向復号化器108および逆方向復号化器109での誤り判定に際しては、符号語として存在しないビットパターンが生じた場合、検出位置はその場所とし、前記の判定方法で誤りが検出されない場合で、復号したビット数が同期区間内の符号化データのビット数と一致しない場合は、復号化の最初の位置を誤り検出位置とする。
この第1実施形態では、4つの誤り検出位置のパターンによる復号値判定方法の1つの例を示したが、復号値判定部は順方向復号結果および逆方向復号結果の両方あるいはいずれか一方で誤りが検出された場合は、正しいと推定される順方向復号結果もしくは逆方向復号結果を使用し、いずれの復号結果でも復号できなかった部分は放棄すれば、どのような方法でもよいことはいうまでもない。
(第2実施形態)
次に、本発明の第2実施形態として本発明による可変長符号化/復号化装置の応用例について説明する。図11は、本発明の第2実施形態に係る可変長符号化/復号化装置が組み込まれた動画像符号化/復号化システムの概念図である。まず、動画像符号化器709においては、情報源符号化器702で符号化されたデータに対して動画像多重化器703で可変長符号化と多重化等が行なわれ、送信バッファ704で平滑化された後、符号化データとして伝送系または蓄積系705に送り出される。符号化制御部701は、送信バッファ704のバッファ量を考慮して、情報源符号化器702と動画像多重化器703の制御を行なう。
一方、動画像復号化器710においては、伝送系または蓄積系705からの符号化データが受信バッファ706に溜められ、動画像多重化分離器707で符号化データの多重化分離と可変長復号化が行なわれた後、情報源復号化器708に送られ、最終的に動画像情報が復号化される。ここで、動画像多重化器703および動画像多重化分離器707には第1実施形態で説明した可変長符号化/復号化装置が適用されている。
図12は、第2実施形態における動画像多重化器703および動画像多重化分離器707における動画像符号化方式のシンタクスを示している。マクロブロックのモード情報、動きベクトル情報およびINTRA DC(フレーム内符号化におけるDCT係数の直流成分)の情報を上位階層とし、INTRA DC以外のDCT係数情報を下位階層として下位階層にリバーシブル符号を適用している。
図13(a)(b)は、この第2実施形態における動画像多重化器703および動画像多重化分離器707の構成を示すブロック図である。
図13(a)に示す動画像多重化器703においては、図11中の情報源符号化器702で符号化されたデータのうち、マクロブロックのモード情報、動きベクトル情報およびINTRA DCなどの情報を上位階層とし、上位階層可変長符号化器901で通常の可変長符号化が行なわれ、多重化器903に送られる。また、情報源符号化器702で符号化されたデータのうち、INTRA DC以外のDCT係数は下位階層可変長符号化器903においてリバーシブル符号で符号化され、多重化器903に送られる。多重化器903では、上位階層の符号化データと下位階層の符号化データを多重化し、送信バッファ704に送る。
一方、図13(b)に示す動画像復号化器707においては、上位階層の符号化データと下位階層の符号化データが多重化分離部904により分離され、これらが上位階層可変長復号化器905および下位階層可変長復号化器906によりそれぞれ可変長復号化される。
図14〜図16、図17〜図18および図19は、下位階層可変長符号化器902で用いられる符号語テーブルの一例である。この符号語テーブルに格納された符号は、前述した符号語構成部22におけるリバーシブル符号の符号語の第1の構成方法によって作成した符号を末尾に2ビットの固定長符号を追加した符号である。
情報源符号化器702では、量子化後の8×8のDCT係数のブロック毎にブロック内のスキャンを行ない、LAST(0:ブロックの最後でない非零係数、1:ブロックの最後の非零係数)、RUN(非零係数までの零ランの数)およびLEVEL(係数の量子化値)を求め、動画像多重化部703に送る。
動画像多重化部703内の下位階層可変長符号化器902は、図14〜図16に示すINTRA(フレーム内符号化)およびINTER(フレーム間符号化)の非LAST係数、RUN、LEVELにリバーシブル符号の符号語(VLC_ CODE)を対応させた非LAST係数の符号語テーブルと、図17〜図18に示すINTRAおよびINTERのLAST係数、RUN、LEVELにリバーシブル符号の符号語(VLC_ CODE)を対応させたLAST係数の符号語テーブルを持っている。
そして、モード情報に基づいて、INTRAの時はINTRAの非LAST係数とLAST係数の符号語テーブル、INTERの時はINTERの非LAST係数とLAST係数の符号語テーブルを選択して符号化を行なう。符号語の最終ビットの“s”は、LEVELの符号を表し、“s”が“0”の時、LEVELの符号は正、“s”が“1”の時、LEVELの符号は負である。
また、この符号語テーブルに存在しない係数は、図20に示すようにLAST係数かどうかの1ビットとRUNとLEVELの絶対値を固定長符号化し、この固定長符号部の先頭に2つのエスケープ符号のうち、“00001”を付加し、末端にもエスケープ符号を付加する。図19は、エスケープ符号の符号語テーブルであり、エスケープ(ESCAPE)符号として用いられるVLC_ CODEの最終ビットの“s”はLEVELの符号を表し、“s”が“0”ならばLEVELは正、“1”ならばLEVELは負である。
図21はこの符号語テーブルを用いた時の零ランが最大になる場合を示している。通常、同期符号は零ランが続いた後に“1”を付加するビットパターンが選択されている。例えばITU−T H.263では16個の“0”の後に“1”が付くようなビットパターンが同期符号となっている。DCT係数の可変長符号化では、零ランが最大になるのを、エスケープ符号を使う係数で、LEVELが+64で、次もエスケープ符号を使う符号が出現する場合で、15個“0”が連続するのが最大となる。ゆえに“0”が16個連続するようなビットパターンを同期符号にすれば、擬似同期符号が生じるおそれはない。
復号値判定部110では、順方向復号化器108により得られた復号結果(順方向復号結果という)と、逆方向復号化器109により得られた復号結果(逆方向復号結果という)から復号値を判定し、最終的な復号結果を出力する。
順方向復号化器108および逆方向復号化器109での誤り判定は、符号語として存在しないビットパターンが生じた場合、およびチェックビット等で誤りを検出した場合、検出位置はその場所とし、前記の判定方法で誤りが検出されない場合で、復号したビット数が同期区間内の符号化データのビット数と一致しない場合は、復号化の最初の位置を誤り検出位置とする。
図22は、下位階層の復号値判定方法を示している。まず、図22(a)に示すように、順方向復号結果と逆方向復号結果で誤りが検出されるマクロブロック(MB)の位置(誤り検出位置)が交差しない場合は、誤りが検出されなかったマクロブロックの復号結果のみを復号値として使用し、二つの誤り検出位置の復号結果は復号値として使用せず、上位階層のモード情報の復号結果に基づいて、INTRAマクロブロック(フレーム内符号化されたマクロブロック)については前フレームをそのまま表示するように、INTERマクロブロック(フレーム間符号化されたマクロブロック)については前フレームより動き補償のみで表示するように、上位階層の復号結果を書き換える。
また、図22(b)に示すように、順方向復号結果と逆方向復号結果の誤りの検出位置が交差する場合は、順方向復号の結果で誤りが検出されたマクロブロックまでの復号値は、順方向復号結果を使用し、それ以降の部分は、逆方向復号結果を復号値として使用する。なお、逆方向復号結果を優先して、逆方向復号の結果で誤りが検出されたマクロブロックまでの復号値は、逆方向復号結果を使用し、それ以前の部分は、順方向復号結果を復号値として使用してもよい。
また、図22(c)に示すように、順方向復号結果および逆方向復号結果のうち片方向の復号結果にしか誤りが検出されない場合(この例では、順方向復号結果のみ誤りが検出されている)は、誤り検出位置以降のマクロブロックに対する復号値は逆方向の復号結果を使用する。さらに、図22(d)に示すように、同一のマクロブロックで順方向復号結果および逆方向復号結果の両方に誤りが検出される場合は、誤り検出位置のマクロブロックの復号値は放棄し、復号値として使用せずに、上位階層のモード情報の復号結果に基づいて、INTRAマクロブロックについては前フレームをそのまま表示するように、INTERマクロブロックについては前フレームよりの動き補償のみで表示するように、上位階層の復号結果を書き換え、それ以降のマクロブロックに対する復号値は逆方向の復号結
果を使用する。
なお、図22の復号値判定方法では、マクロブロックを単位に復号値の判定を行なったが、ブロックの単位あるいは符号語の単位で判定を行なってもよい。また、この第2実施形態ではDCT係数の可変長符号化に本発明を適用したが、可変長符号化を行なう場合には、他の情報シンボルについても適用することができることは言うまでもない。
(第3実施形態)
次に、図23を参照しながら本発明の第3実施形態に係る可変長符号化/復号化装置について説明する。
この第3実施形態に係る可変長符号化/復号化装置は、大きく分けて符号語テーブル作成部101、符号化部113、伝送系または蓄積系105および復号化部121からなる。まず、これら各部の機能について簡単に説明すると、符号語テーブル作成部101は情報シンボルの生起確率に基づいて符号語テーブルを作成し、符号化部113内の符号語テーブル102と、復号化部121内の順方向符号語テーブル111および逆方向符号語テーブル112に符号語を送る。符号化部113は、情報シンボルを可変長符号に符号化し、その可変長符号を符号化データとして伝送系または蓄積系104へ出力する。復号化部121は、伝送系または蓄積系105を介して入力されてきた符号化データを復号して元の情報シンボルを再生する。
次に、第3実施形態の各部の詳細な構成と動作を説明する。符号化部113は図1に示した第1実施形態と同様である。すなわち、符号化部113において、入力された情報シンボルは符号化器103に入力される。符号語テーブル102は、符号語テーブル作成部101によって予め作成された情報シンボルと可変長符号の符号語とを対応させて格納している。符号化器103は符号語テーブル102に格納されている符号語の中から、入力された情報シンボルに対応した符号語を選択する。同期区間設定部104では、符号化器103が選択した符号語を同期区間毎にまとめ、さらに順方向にも逆方向にも復号可能なスタッフィング符号を挿入して、同期区間毎に符号化データを出力する。この符号化データは、伝送系または蓄積系104を通して復号化部121に送られる。
復号化部121は、同期区間検出部106、バッファ107、符号化データ切替器122、復号化器124、符号語テーブル切替器125、復号値判定部110、順方向復号化テーブル111および逆方向復号化テーブル112により構成される。符号化データ切替器122および符号語テーブル切替器125は、復号化器124により制御されて切り替わる。
復号化部121では、伝送系または蓄積系105より入力された符号化データから同期区間検出部106で符号化データの同期区間を検査しながら、符号化データを復号化器124へ入力する。その際、符号化データをバッファ107にも蓄積する。復号化器124は、入力された符号化データの復号(順方向復号化という)を開始する。ここで、復号化器124は符号化データに順方向符号語テーブル111に存在しないビットパターンが出現した場合、およびバッファ107のビット数と異なるビット数の符号化データが復号された場合、誤り検出と判定する。
誤り検出と判定された場合、復号化器124は符号語テーブル切替器123で符号語テーブルを順方向符号語テーブル111から逆方向符号語テーブル112に切り替えると同時に、符号化データ切替器122により復号化器124への入力をバッファ107側に切り替える。バッファ107は、同期区間検出部106により次の同期を検出した場合、蓄積した符号化データを末尾から読み出し、復号化器124へ出力する。復号化器124では、入力された符号化データの復号(逆方向復号化という)を開始する。ここで、復号化器124は順方向復号化と同様に、符号化データに逆方向符号語テーブル112に存在しないビットパターンが出現した場合、およびバッファ107のビット数と異なるビット数の符号化データが復号された場合、誤り検出と判定する。復号値判定部110では、順方
向復号化によって得られた復号結果(順方向復号結果という)と、逆方向復号化によって得られた復号結果(逆方向復号結果という)から復号値を判定し、最終的な復号結果を出力する。
この第3実施形態における符号語テーブル作成部101は、基本的に第1の実施形態と同様であり、図2に示したように、情報シンボルの生起確率の情報を入力し、選択可能な符号系の中から最も平均符号長の小さいものを選択する符号選択部21と、この符号語選択部21で選択された符号の符号語を構成する符号語構成部22からなる。ただし、本実施形態ではより幅広い確率分布に対応し、符号語のビットパターンを自由度を上げるために、符号語構成部22における符号語の構成方法として以下の方法を用いている。
図24は、符号語構成部22におけるリバーシブル符号の符号語の第1の構成方法を示している。まず、図24の左側に示すように、第1のリバーシブル符号を用意する。次に、図24の中央に示すように、第1のリバーシブル符号のそれぞれの符号語に対して、破線で囲まれた(符号長−1)ビットの固定長符号を用意し、図24の右側に示すように、第1のリバーシブル符号の符号語の各ビットの間に固定長符号の符号語を破線で囲むように1ビットずつ挿入する。この図24の可変長符号は、第1のリバーシブル符号を復号しながら、1ビット毎に固定長符号を復号することにより、順方向にも逆方向にも復号可能であることが分かる。図24の例では、第1のリバーシブル符号の符号語の各ビットの間に固定長符号の符号語を1ビットずつ挿入したが、第1のリバーシブル符号のそれぞれの
符号語に対して、(符号長−1)×nビットの固定長符号を用意し、第1のリバーシブル符号の符号語の各ビットの間に固定長符号の符号語をnビットずつ付加してもよい。
図25は、符号語構成部22におけるリバーシブル符号の符号語の第2の構成方法を示している。図25の左側に示すように、第1のリバーシブル符号を用意する。次に、図25の上側に破線で囲んで示すように、第2のリバーシブル符号を用意し、図25の右側に示すように、第1のリバーシブル符号の符号語の各ビットの間に破線で囲んだように第2のリバーシブル符号を挿入する。この図25の可変長符号は、第1のリバーシブル符号を復号しながら、1ビット毎に第2のリバーシブル符号を復号することにより、順方向にも逆方向にも復号可能であることが分かる。なお、図25の例においては、第1のリバーシブル符号と第2のリバーシブル符号を同じ符号として示したが、異なる符号を用いても構わない。
この第3実施形態においては、図26に示すように図23中の順方向符号語テーブル111と逆方向符号語テーブル112を共通化した双方向符号語テーブル51を用いてもよい。この場合、図23中の復号化器124から順方向復号化/逆方向復号化の区別を示す識別信号53を入力し、この識別信号53によりアドレス変換器52を動作させて、双方向符号語テーブル51から符号語を読み出すためのアドレスを生成する。そして、このアドレスに対応する符号値を双方向符号語テーブル51から読み出す。
また、この第3実施形態においては、図27に示すように復号化器124に誤り検出機能が付加される。復号化器61に接続された誤り検出部62は、復号化器61の内部状態を監視し、これが異常となった場合、誤り検出信号を出力する。異常な内部状態とは、例えば以下のような状態をいう:
(1)符号語テーブルに存在しない符号化データを受信した場合;
(2)符号化データの長さと、実際に復号化器61で復号したデータの長さが一致しない場合;
(3)符号語テーブルには値が存在するため復号値を求めることは可能であるが、その値が不適な値である場合。この項目(3)の具体例としては(3−1)復号値が存在範囲を超えている場合、(3−2)データの個数が上限を超えた場合、および(3−3)前に復号した復号値と整合性の合わない復号値を出力した場合等が挙げられる;
(4)誤り検出符号等により、誤りを検出した場合。
次に、図28を用いてこの第3実施形態における復号方法を説明する。先の説明では、復号化器124での順方向および逆方向の復号処理は図28(a)に示すように順方向、逆方向双方で復号処理を並行して同時に行ない、それぞれが誤りを検出するまで復号を実行し復号値を求めていた。本実施形態はこれに限られず、図28(b)(c)(d)に示すような方法で復号を行なってもよい。なお、図28(a)(b)(c)(d)において、Xは誤り検出点を示し、また右側に向かう矢印は順方向の復号処理、左側に示す矢印は逆方向の復号処理をそれぞれ示している。
図28(b)に示す方法では、順方向の復号処理を行ない、誤りが検出された場合は、そこで順方向の復号処理を停止し、同期区間の符号化データの末尾から逆方向に、誤りが検出されるまで復号処理を行なう。図28(c)に示す方法では、順方向の復号処理で誤りが検出された場合、その誤り検出位置のnビット先から順方向の復号処理を再開する。この処理を現在の同期区間内の符号化データを全て処理するまで繰り返し行なう。順方向の復号処理の最後に、もし同期区間の符号化データ数と復号処理により復号を行なったデータ数とが一致しない場合は誤り検出とみなし、符号化データの末尾から逆方向の復号処理を誤りが発見されるまで行なう。図28(d)に示す方法では、順方向の復号処理で誤りが検出された場合、一旦その誤り検出位置のnビット先から逆方向にnビット分復号処理を行なう。その後、順方向の復号処理を誤り検出位置のnビット先(逆方向の復号処理を開始した位置)から行なう。この処理を現在の同期区間内の符号化データを全て処理するまで繰り返し行なう。最後に、もし同期区間の符号化データ数と復号処理により復号を行なったデータ数が一致しない場合は誤り検出とみなし、符号化データの末尾から逆方向の復号処理を誤りが発見されるまで行なう。
次に、図29を用いてこの第3実施形態における復号値判定部111での復号値の判定方法を説明する。なお、復号値判定部111で最終的に利用する復号値の選択にも、以下のような方法を用いることができる。図29(a)に示された復号値判定方法は、誤りを検出した場合、それ以降は復号を行なわない方法である。すなわち、誤りを検出した場合には、それ以降の復号は誤復号する可能性があるため、そのような誤復号の可能性のある復号値は利用せず、誤り検出位置までの復号値のみを利用する。
図29(b)に示す復号値判定方法は、誤りを検出しても復号を続けてなるべく復号を行ない、利用できる復号値は全て利用するようにする方法である。可変長符号には、同期が外れた場合でも復号処理を続けると、自動的に同期が回復する特徴を有する符号が存在する。これを自己同期回復性と呼ぶ。この自己同期回復能力が高い符号語の場合には、図29(a)のように誤り検出後に復号処理を停止せずに、図29(b)のようにそのまま復号を続けることで正しい復号値をより多く得ることができる。ただし、この場合には復号値に誤って復号された値を含む可能性がある。このような誤復号の可能性を許容するシステムにおいては、図29(b)の復号値判定方法を用いることも可能である。
(第4実施形態)
次に、図30を参照しながら本発明の第4実施形態に係る可変長符号化/復号化装置について説明する。
第4実施形態の可変長符号化/復号化装置は、大きく分けて符号語テーブル作成部201、符号化部213、伝送系または蓄積系205および復号化部214からなる。まず、これら各部の機能について簡単に説明すると、符号語テーブル作成部201は情報シンボルの生起確率に基づいて符号語テーブルを作成し、符号化部213内の符号語テーブル、復号化部214内の順方向符号語テーブルおよび逆方向符号語テーブルに符号語を送る。
符号化部213は、入力データとして与えられる情報シンボルを階層化して、各階層毎に可変長符号に符号化し、それらの可変長符号を多重化して符号化データとして伝送系または蓄積系205へ出力する。復号化部214は、伝送系または蓄積系205を介して入力されてきた符号化データを多重化分離し、各階層毎に可変長復号を行ない、階層毎の復号結果を合成して元の情報シンボルを再生し、再生データを出力する。
次に、第4実施形態の各部の詳細な構成と動作を説明する。符号化部213においては入力データである情報シンボルはデータ階層化部202により重要度に応じて1からnまで(nは2以上の自然数)の階層に分離される。分離された各階層i(i=1,2,…,n)の情報シンボルは、階層i毎に用意された可変長符号化部203−iに入力され、符号化される。可変長符号化部203−iで得られた各階層iの符号化データは、多重化部204で多重化され、伝送系または蓄積系205を通して復号化部214に送られる。
復号化部214では、伝送系または蓄積系205より入力された符号化データが多重化分離部206で各階層iの符号化データに分離される。分離された各階層の符号化データは、階層i毎に用意された可変長復号化部207−iに入力され、復号化される。可変長復号化部207−iで得られた各階層iの復号結果はデータ合成部208で合成され、再生データとして出力される。
符号語テーブル作成部201の構成は、第1の実施形態で用いた図2に示した符号語テーブル作成部101と同様であり、情報シンボルの生起確率の情報に基づいて、選択可能な符号系の中から最も平均符号長の小さいものを選択し、選択した符号の符号語を構成する。その符号語は、符号語の予め定められた重みによって符号の区切りが分かるように構成された順方向にも逆方向にも復号可能な可変長符号(リバーシブル符号)である。
次に、図30中の各階層iの可変長符号化部203−iの構成は図31に示す通りであり、図1中に示した符号化部113と同様に、符号語テーブル102と符号化器103および同期区間設定部104により構成される。すなわち、図30中のデータ階層化部202から入力された情報シンボルは、符号化器103に入力される。符号語テーブル102は、図30中の符号語テーブル作成部201によって予め作成された情報シンボルと可変長符号の符号語とを対応させて格納している。
符号化器103は、符号語テーブル102に格納されている符号語の中から、データ階層化部202より入力された情報シンボルに対応した符号語を選択して出力する。同期区間設定部104では、符号化器103が選択した符号語を同期区間毎にまとめ、さらに必要に応じて順方向にも逆方向にも復号可能なスタッフィング符号を挿入して、同期区間毎に符号化データを出力する。この符号化データは図30中の多重化部204に送られる。
一方、図30中の各階層iの可変長復号化部207−iの構成は図32に示す通りであり、図1中に示した復号化部114と同様に、同期区間検出部106、バッファ107、順方向復号化器108、逆方向復号化器109、復号値判定部110、順方向復号化テーブル111および逆方向復号化テーブル112により構成される。すなわち、可変長復号化部207−iでは、伝送系または蓄積系205より入力された符号化データから同期区間検出部106で符号化データの同期区間を検出して、符号化データをバッファ107に蓄積する。順方向復号化器108では、バッファ107に蓄積された符号化データの先頭から復号を開始する。逆方向復号化器109では、バッファ107に蓄積された符号化データの末尾から復号を開始する。
順方向復号化器108では、符号化データに順方向符号語テーブル111に存在しないビットパターンが出現した場合、およびバッファ107のビット数と異なるビット数の符号化データが復号された場合、誤り検出と判定する。同様に逆方向復号化器109でも、符号化データに逆方向符号語テーブル112に存在しないビットパターンが出現した場合、およびバッファ107のビット数と異なるビット数の符号化データが復号された場合、誤り検出と判定する。復号値判定部110では、順方向復号化器108によって得られた復号結果(順方向復号結果)と、逆方向復号化器109によって得られた復号結果(逆方向復号値)から復号値を判定し、最終的な復号結果を出力する。これらの各階層iの復号結果は、データ合成部208に送られる。
図33に、データ階層化部202でのデータ階層化および多重化部204で多重化の例を示す。図33(a)に示すようなn階層に分けることが可能なシンタクスの入力データ(情報シンボル列)があるとすると、データ階層化部202では図33(b)に示すように各階層i毎に入力データが繰り返されるようにシンタクスを変更してデータ階層化を行ない、各階層i毎の情報シンボルを可変長符号化部203−iに送る。多重化部204では、図33(c)に示すように可変長符号化部203−iにより階層i毎に可変長符号化され、かつ同期符号iの付加により同期区間が設定された符号化データを多重化して出力する。
図34は、図32中の復号値判定部110での復号値の判定方法の例を示している。各階層i毎の可変長復号化部207−iでは、それぞれ双方向復号が行なわれる。もし、ある階層の可変長復号化部に入力される符号化データに誤りがあった場合、その影響は当該階層より上位の階層と下位の階層の復号値に影響を与えるので、各階層iの可変長復号化部207−i内の復号値判定部110で情報をやりとりして、最終的な復号値を決定するようにする。
この図34の例では、上位階層に誤りがあり、復号できない部分がある場合、それに関連する下位階層の符号化データで復号できない部分ができる。また、下位階層の符号化データに誤りがあり、復号できない部分がある場合、それに対応する上位階層の符号化データの復号値を変更するようにする。図34はあくまで復号値判定方法の一つの例であり、各階層iの可変長復号化部207−i内の復号値判定部110では、上位階層と下位階層の復号結果を用いて順方向復号結果および逆方向復号結果の少なくとも一方で誤りが検出された場合は、順方向復号結果および逆方向復号結果のうち正しいと推定される方の復号結果を使用し、順方向復号および逆方向復号のいずれでも復号ができなかった部分については、その復号結果を放棄する方法であれば、どのような方法でもよいことはいうまでもない。また、この第4実施形態では全ての階層で順方向にも逆方向にもリバーシブル符号を用いる構成としたが、一部の階層のみにリバーシブル符号を用いる構成でも構わない。
(第5実施形態)
次に、図11に示した動画像符号化/復号化システムの動画像多重化部703および動画像多重化分離部707に第4実施形態で説明した可変長符号化/復号化装置を適用した第5実施形態について説明する。この場合の動画像符号化/復号化システムの基本的な構成と動作は第2の実施形態と同様であり、動画像多重化部703および動画像多重化分離部707における可変長符号化および可変長復号化の処理が階層毎に行なわれる点が異なる。
図35、図36、図37および図38は、第5実施形態における動画像多重化部703での動画像符号化方式のシンタクスの種々の例を示している。まず、図35に示すシンタクスについて説明する。このシンタクスでは、符号化データである入力された情報シンボルを上位階層と下位階層の2つに階層化し、それぞれに対して同期符号RMおよびMMにより同期区間を設定している。下位階層のシンタクスの末尾のSTは、図9に示したような逆方向から復号可能なスタッフィング符号である。
上位階層は、図35(a)に示したようにヘッダ情報と、マクロブロック毎の符号化モード、各ブロックを符号化するか否かの情報およびINTRA DCの値をモード情報として先頭側に固めて、これらを通常の順方向復号が可能な可変長符号で記述し、その後に動きベクトル情報を図39〜図46に示した符号化テーブルによりリバーシブル符号に可変長符号化して配置する。図39〜図46に示す符号化テーブルにおいて、“VECTOR DIFFERENCES”は動きベクトルの予測値(差分値)、“BIT NUMBER”は可変長符号の符号長、そして“VLC CODE”は可変長符号を表す。
ここで、動きベクトルは図47に示すように一次元予測により得られ、予測値は差分値で表される。動きベクトルの予測方向を図47中に矢印で示す。図47に示すように、動きベクトルはマクロブロック(図47中に大きな四角で示す)に1本存在する場合と、各輝度ブロック(図47中に小さな四角で示す)毎に各1本の計4本存在する場合とがあるが、これらについて一次元予測を行ない、予測値を図39〜図46に示した符号化テーブルに従って可変長符号で記述する。なお、予測で得られない動きベクトルについては、その動きベクトルの値そのものを図39〜図46に示した符号化テーブルに従って可変長符号により記述する。図35(a)の末尾の動きベクトル情報がこれに相当する。一方、下位階層は図35(b)に示したようにINTRA DCを除くDCT係数情報であり、例えば図14〜図20や特願平7−260383に記載されたリバーシブル符号で記述される。
次に、図36に示すシンタクスについて説明する。このシンタクスでは、上位階層は図36(a)に示すようにヘッダ情報とマクロ符号化毎の動きベクトルの数を表したモード情報1を先頭側に固めて、通常の順方向復号が可能な可変長符号で記述し、その後に動きベクトル情報の可変長符号を記述する。動きベクトル情報の可変長符号は、図35のシンタクスと同様である。下位階層は、図36(b)に示すように各ブロックのDCT係数があるか否かを示すモード情報2およびINTRA DCを先頭側に固めて、これらを通常の順方向復号が可能な可変長符号で記述し、その後にINTRA DCを除くDCT係数情報を図35のシンタクスと同様にリバーシブル符号で記述する。
次に、図37に示すシンタクスについて説明する。このシンタクスでは、上位階層に順方向復号が可能な可変長符号のみを用いている。すなわち、上位階層は図37(a)に示すように、ヘッダ情報、モード情報および動きベクトル情報を順方向復号が可能な可変長符号で記述し、下位階層は図37(b)に示すように、DCT係数情報を図35のシンタクスと同様にリバーシブル符号により記述している。
図38に示すシンタックスも、上位階層に順方向復号が可能な可変長符号のみを用いている。すなわち、上位階層は図38(a)に示すように、ヘッダ情報、マクロ符号化毎の動きベクトルの数を表したモード情報1および動きベクトル情報を順方向復号可能な可変長符号で記述する。下位階層は図38(b)に示すように、各ブロックのDCT係数があるか否かを示すモード情報2およびINTRA DCを先頭側に固めて、これらを通常の順方向復号が可能な可変長符号で記述し、その後にINTRA DC以外のDCT係数情報を図36のシンタクスと同様にリバーシブル符号で記述する。
第5実施形態における動画像多重化部703および動画像多重化分離部707の基本構成は図13(a)(b)に示す通りであるが、上位階層可変長符号化器901、下位階層可変長符号化器903および上位階層可変長復号化器905、下位階層可変長復号化器906の構成が第2実施形態とは異なっている。すなわち、情報源符号化器702で符号化されたデータのうち、例えば図35(a)または図36(a)のシンタクスで示された上位階層のデータが上位階層可変長符号化器901で可変長符号化され、多重化部903に送られる。また、情報源符号化器702で符号化されたデータのうち、図35(b)または図36(b)のシンタクスで示された下位階層のデータが可変長符号化器903で可変長符号化され、多重化部903に送られる。多重化部903では、上位階層の符号化データおよび下位階層の符号化データを多重化し、送信バッファ704に送る。
そして、この第5実施形態では上位階層可変長復号化器905および下位階層可変長復号化器906内の図32中に示した復号値判定部110では、順方向復号化器108によって得られた順方向復号結果から復号値を判定し、最終的な復号結果を出力する。各階層の順方向復号化器108および逆方向復号化器109での誤り判定は、符号語として存在しないビットパターンが出現した場合、およびチェックビット等で誤りを検出した場合には、検出位置はその場所とし、前記の判定方法で誤りが検出されない場合で、復号したビット数が同期区間内の符号化データのビット数と一致しない場合は、復号化の最初の位置を誤り検出位置とする。
次に、第5実施形態における復号値判定方法について説明する。図48は、動画像多重化部703での動画像符号化方式のシンタクスが図35に示すシンタクスである場合の復号値判定方法を示している。図35のシンタクスでは、上位階層の動きベクトル情報と下位階層のDCT係数情報にリバーシブル符号を用いているので、上位階層および下位階層の両者で双方向復号が可能である。
上位階層では、まずヘッダ情報とモード情報が復号される。ヘッダ情報やモード情報で誤りが発見されて全てが復号できない場合、誤りが生じた同期区間のマクロブロックの復号値は全てNot Codedとされ、前画面がそのまま表示される。もし、ヘッダ情報とモード情報が全て復号できた場合は、次に動きベクトル情報が双方向復号される。動きベクトル情報で復号ができない部分については、やはりNot Codedとされる。下位階層では、動きベクトルまで復号できたマクロブロックについてのみ、下位階層のDCT係数情報を使用される。誤りのためにDCT係数情報を放棄したマクロブロックは、Not Codedとされる。
図49は、動画像多重化部703での動画像符号化方式のシクタクスが図36に示すシンタクスである場合の復号値判定方法を示している。図36のシンタクスによると、上位階層ではまずヘッダ情報とモード情報1が復号される。ヘッダ情報やモード情報1で誤りが発見され、全てが復号できない場合は、誤りが生じた同期区間のマクロブロックの復号値は全てNot Codedとされ、前画面がそのまま表示される。もし、ヘッダ情報とモード情報1が全て復号できた場合は、次に動きベクトル情報が双方向復号される。この動きベクトル情報で復号ができない部分については、やはりNot Codedとされる。下位階層では、動きベクトルまで復号できたマクロブロックについてのみ下位階層のDCT係数情報が使用される。誤りのためにDCT係数情報を放棄したマクロブロックは、Not Codedとされる。
なお、図48および図49に示した復号値判定方法では、マクロブロック単位に復号値の判定を行なったが、ブロック単位でも符号語の単位で復号値の判定を行なってもよい。また、この第5実施形態では動きベクトル情報とDCT係数情報の可変長符号化に本発明を適用した場合について述べたが、可変長符号化を行なう他の情報シンボルについても本発明を適用できることはいうまでもない。
(第6実施形態)
次に、本発明の第6実施形態に係る可変長符号化/復号化装置について説明する。この第6実施形態の基本的な構成は第1実施形態の構成を示す図1のブロック図と同一なので、図1を参照しながら説明する。
符号化部113において、入力された情報シンボルは符号化器103に入力される。符号語テーブル102は、符号語テーブル作成部101によって予め作成された情報シンボルと可変長符号の符号語とを対応させて格納している。符号化器103は符号語テーブル102に格納されている符号語の中から、入力された情報シンボルに対応した符号語を選択する。同期区間設定部では、符号化器が選択した符号語を同期区間毎にまとめて符号化データとして出力する。この符号化データは、伝送系または蓄積系104を通して復号化部111に送られる。
復号化部114では、伝送系または蓄積系105より入力された符号化データから同期区間検出部106で符号化データの同期区間を検出し、符号化データをバッファ107に蓄積する。順方向復号化器109では、バッファに蓄積された符号化データの先頭から復号を開始し、逆方向復号化器111では、バッファに蓄積された符号化データの末尾から復号を開始する。
順方向復号化器では、符号化データに、順方向符号語テーブルに存在しないビットパターンが出現した場合、及びバッファのビット数と異なるビット数の符号化データが復号された場合、誤り検出と判定する。同様に逆方向復号化器でも、符号化データに、逆方向符号語テーブルに存在しないビットパターンが出現した場合、及びバッファのビット数と異なるビット数の符号化データが復号された場合、誤り検出と判定する。
復号値判定部では、順方向復号化器によって得られた復号結果(順方向復号結果という)と、逆方向復号化器によって得られた復号結果(逆方向復号値という)から復号値を判定し、最終的な復号結果を出力する。
図50は、符号語テーブル作成部101のブロック図である。情報シンボルの生起確率は、確率モデル作成部23に入力され、確率モデルを作成し、符号選択部21に入力され、選択可能な符号系の中から最も平均符号長の小さいものを選択し、選択結果を符号語構成部22に送る。符号語構成部22では、符号語選択部21で選択された符号の符号語を構成する。
この第6実施形態における確率モデルの設計方法は以下の通りである。第6実施形態では、様々な情報源の確率分布に対して、より汎用的で符号化効率のより確率モデルの設計方法について示す。
まず、記法を示す:
θi 情報源(i=1,…,n)
X 情報源の情報シンボルX=(x1 ,x2 ,…,xm )
P(X| θi ) θi の頻度分布
一例としては、複数のテスト画像を情報源として、そのテスト画像を符号化して得られた頻度分布を考えればよい。
ここで、設計する確率モデルQ(X)は、複数の情報源から得られた頻度分布を重み付けして平均して求めるものとする:
Q(X)=w(θ1 )P(X| θ1 )+…+w(θn )P(X| θn )
n
=Σw(θi )P(X| θi )
i=1
w(θi ) 重み付け係数 w(θ1 )+…+w(θn )=1
この時、いかに重み付け係数w(θi )を求めるかが問題となる。
情報源θi をQ(X)で符号化した時の理想符号長L(X| θi )は、
m
L(X| θi )=−ΣP(X| θi )log2(θ(X))
j=1
となる。各情報源に対して平均的に理想符号長L(X| θi )を最小化するには、
n m
M(X)=−(1/n)Σ ΣP(X| θi )log2(Q(X))
i=1 j=1
m
=−ΣU(X)log2(Q(X))
j=1
n
で、この時、U(X)=(1/n)ΣP(X| θi )とする。
i=1
この関数が最小になるのは、U(X)=Q(X)の時で、
w(θ1 )=…=w(θn )=1/n
となる。
別の確率モデルQ(X)の設計方法として、最悪の情報源を想定して確率モデルQ(X)を設計する手法を示す。
情報源θi をQ(X)で符号化した時の冗長度R(X| θi )は、
m
R(X| θi )=L(X| θi )+ΣP(X| θi )log2(P(X| θi ))
j=1
となる。この冗長度の各情報源に対する重みづけ平均S(X)は、
n
S(X)=Σw(θi )R(X| θi )
i=1

n m
=Σw(θi )ΣP(X| θi )
i=1 j=1

n
log2(P(X| θi )/Σw(θi )P(X| θi ))
i=1
となって、事象Xと事象θの相互情報量を示す関数になっている。この関数の最大値を求める方法は、S.Arimoto, "An algorithm for computing the capacity of arbitrary discrete memoryless channels,"IEEE Trans.Inform.Theory,Vol.IT-18,pp.14-20,1972. R.E. Blahut, "Computation of channel capacity and rate-distortion functions, "IEEE Trans.Inform.Theory,Vol.IT-18,pp.460-473,1972.に示されるArimoto-Blahutのアルゴリズム等が知られており、これらのアルゴリズムによってS(X)を最大化するつまり最悪の場合のw(θi )(i=1,…n )を求めることができる。
確率モデルQ(X)の設計方法として、理想符号長を平均的に最小にする方法と、平均的に最悪を想定する方法を示したが、2つの方法を組み合わせて、情報源をグループ化して前者の方法で確率モデルをいくつか作成し、その確率モデルに対して後者の方法を用いるなどの方法を適用してもよい。
図50に示す符号選択部21では、確率モデル作成部23で作成した確率モデルQ(X)を、情報シンボルXを確率の高い順にソーティングしたQ(Y)を作成し、一方、符号構成部22で作成されたリバーシブル符号の符号長を短い順にソーティングしたものF(Z)を作成し、
m
ΣQ(Y)F(Z)
j=1
を計算して最も値が小さいものを選択し、情報シンボルと符号語を対応させて符号語テーブルを作成する。
符号語構成部22で構成する符号は、例えば特願平7−89772および特願平7−260383並びに第1および第3実施形態で示されている符号語の重みを用いた順方向にも逆方向にも復号可能な可変長符号が用いられる。
(第7実施形態)
次に、本発明の第7実施形態を説明する。図51は、本発明の第7実施形態による可変長符号化/復号化装置が組み込まれた動画像符号化/復号化装置の概念図である。動画像符号化器709では、情報源符号化器702で符号化されたデータは、動画像多重化部703で可変長符号化、多重化等がおこなわれ、伝送バッファ704で平滑化された後に、符号化データとして、伝送系または蓄積系705に送り出される。符号化制御部701は、伝送バッファ704のバッファ量を考慮して、情報源符号化器702、動画像多重化部703の制御を行なう。
一方、動画像復号化器710では、伝送系または蓄積系705からの符号化データを受信バッファ706にためてから、動画像多重化分離部707で、符号化データの多重化分離、可変長復号化が行なわれ、情報源復号化器708に送られ、最終的に動画像が復号化される。
第7実施形態において追加されたシンタクスについて説明する。図53は、第7実施形態における動画像多重化部703および、動画像多重化分離部707での動画像符号化方式のシンタクスを示している。符号化データは、上位階層と下位階層に階層化し、それぞれを同期符号RMとMMによって、同期区間を設定している。また、下位階層のSTは、図62で示すような逆方向から復号可能なスタッフィング符号である。フレーム内符号化フレームは、図63のように、マクロブロックのモード情報の一部とINTRA DCを上位階層とし、モード情報の一部とAC−DCT係数情報を下位階層として、AC−DCT係数情報にリバーシブル符号を適用している。フレーム間符号化フレームは、図64のように、マクロブロックのモード情報の一部と動きベクトル情報を上位階層とし、モード情報の一部とINTRA DCとAC−DCT係数情報を下位階層として、AC−DCT係数情報にリバーシブル符号を適用している。
図53に示す上位階層と下位階層の符号化および復号化は、図52に示す動画像多重化部とにより行なわれている。これらの構成は、第5実施形態に係る符号化装置/復号化装置の構成と略同一である。すなわち、図51の動画像多重化部703および動画像多重化分離部707の基本構成は、図53(a)(b)に示す通りであるが、上位階層可変長符号化器801、下位階層可変長符号化器803および上位階層可変長復号化器805、下位階層可変長復号化器806の構成が第2実施形態とは異なっている。すなわち、情報源符号化器702で符号化されたデータのうち、例えば図53(a)のシンタクスで示された上位階層のデータが上位階層可変長符号化器801で可変長符号化され、多重化部803に送られる。また、情報源符号化器702で符号化されたデータのうち、図53(b)のシンタクスで示された下位階層のデータが可変長符号化器803で可変長符号化され、多重化部803に送られる。多重化部803では、上位階層の符号化データおよび下位階層の符号化データを多重化し、送信バッファ704に送る。
そして、この第7実施形態では上位階層可変長復号化器805および下位階層可変長復号化器806内の図32中に示した復号値判定部110では、順方向復号化器108によって得られた順方向復号結果から復号値を判定し、最終的な復号結果を出力する。各階層の順方向復号化器108および逆方向復号化器109での誤り判定は、符号語として存在しないビットパターンが出現した場合、およびチェックビット等で誤りを検出した場合には、検出位置はその場所とし、前記の判定方法で誤りが検出されない場合で、復号したビット数が同期区間内の符号化データのビット数と一致しない場合は、復号化の最処理位置を誤り検出位置とする。
(第8実施形態)
図54,図55は、本発明の第8実施形態に係る符号化/復号化装置における情報源符号化器702,情報源復号化器708の一例をそれぞれ示している。まず、図54において、入力画像信号は、ブロック化回路401でマクロブロックに分割される。マクロブロックに分割された入力画像信号は、減算器402に入力され、予測画像信号との差分がとられて、予測残差信号が生成される。この予測残差信号と、ブロック化回路401からの入力画像信号のいずれか一方を、モード選択スイッチ403により選択し、DCT(離散コサイン変換)回路404により離散コサイン変換される。DCT回路で得られたDCT係数データは、量子化回路405で量子化される。量子化されたデータは、2分岐され、一方はDCT係数情報として、動画像多重化器703に送られる。もう一方は逆量子化回路406およびIDCT(逆離散コサイン変換)回路407により量子化回路405およびDCT回路406の処理と逆の処理が順次行なわれた後、加算器408でスイッチ410を介して入力される予測画像信号と加算されることにより局部復号信号が生成される。この局部復号信号は、フレームメモリに蓄えられ、動き補償回路411に入力される。動き補償回路A010では、入力画像信号と局部復号信号との間で動き補償を行ない、動きベクトルを求め、予測画像信号を生成する。このとき求められた動きベクトル情報は、動画像多重化器703に送られる。モード選択回路412では、動き補償回路410からの情報に基づいて、各マクロブロックをどのような予測方式で符号化するかを決定し、その結果が量子化パラメータ等ともにモード情報として動画像多重化器703に送られる。なお、図54において、出力される符号化データはDCT符号化係数、動きベクトル情報、モード情報の3つが1つに纏められたデータである。
次に、図54により符号化されたデータを復号化する情報源復号化器708の構成について図55を参照しながら説明する。図55は、図54に対応する情報源復号化器708の一例を示している。図55において、情報源復号化器708は、動画像多重化分離回路707で分離したモード情報、動きベクトル情報、DCT係数情報等が入力される。
モード情報が入力されるモード判定回路504では、モード情報がINTRAならば、モード切替スイッチ505をオフに選択して、DCT係数情報を、逆量子化回路501で逆量子化し、IDCT回路502で逆離散コサイン変換処理を行なうことにより、再生画像信号を生成させる。この再生画像信号は、フレームメモリ506に参照画像として蓄積される一方、再生画像信号として出力する。モード情報かINTERならば、モード切替スイッチ505をオフに選択して、DCT係数情報を、逆量子化回路501で逆量子化し、IDCT回路502で逆離散コサイン変換処理を行ない、動きベクトル情報に基づいて、フレームメモリ504において参照画像を動き補償し、加算器503で足しあわせて、再生画像信号を生成させる。この再生画像信号は、フレームメモリ504に参照画像として蓄積される一方、再生画像信号として出力する。
(第9実施形態)
次に、本発明の応用例として、図56を用いて、本発明の可変長符号化/復号化装置が組み込まれた第9実施形態に係る動画像符号化/復号化システムを適用した画像送受信装置を説明する。パーソナルコンピュータ(PC)1001に備え付けられたカメラ1002より入力された画像信号は、PC1001に組み込まれた動画像符号化器709によって符号化される。動画像符号化器709から出力される符号化データは、他の音声やデータの情報と多重化された後、無線機1003より無線で送信され、他の無線機1004によって受信される。無線機1004で受信された信号は、画像信号の符号化データおよび音声データに分解される。これらのうち、画像信号の符号化データはワークステーション(EWS)1005に組み込まれた動画像復号化器710によって復号され、EWS1005のディスプレイに表示される。
一方、EWS1005に備え付けられたカメラ1006より入力された画像信号は、EWS1005に組み込まれた動画像符号化器709を用いて上記と同様に符号化される。符号化データは、他の音声やデータの情報と多重化され、無線機1004により無線で送信され、無線機1003によって受信される。無線機1003によって受信された信号は、画像信号の符号化データおよび音声やデータの情報に分解される。これらのうち、画像信号の符号化データはPC1001に組み込まれた動画像復号化器710によって復号され、PC1001のディスプレイに表示される。
(第10実施形態)
なお、上述した第1ないし第9実施形態に係る動画像符号化/復号化装置は、ハードウェアとしての構成として発明を捉えていたが、本発明はこれを発展させて上記各々の実施形態に係る符号化/復号化装置において用いられるデータまたはプログラムを記録する記録媒体としても捉えることができる。以下、第10実施形態に係るデータまたはプログラムを記録した記録媒体について説明する。
図51に示す情報源符号化器702では、量子化語の8×8のDCT係数のブロックについてブロックないのスキャンを行なって、LAST(0:ブロックの最後でない非零係数,1:ブロックの最後の非零係数),RUN(非零係数までの零ランの数)及びLEVEL(係数の量子化値)を求め、動画像多重化部703に送る。
動画像多重化部703内の下位階層可変長符号化器802は、図60に示すINTRA(フレーム内符号化)の非LAST係数のRUN,LEVELにリバーシブル符号の符号語(VLC_CODE)のINDEXを対応させたINDEXテーブルと、図61に示すINTER(フレーム間符号化)の非LAST係数のRUN,LEVELにリバーシブル符号の符号語(VLC_CODE)のINDEXを対応させたINDEXにテーブルと、図62に示すINTRA,INTER共通のLAST係数のRUN,LEVELにリバーシブル符号の符号語(VLC−CODE)のINDEXを対応させたINDEXテーブルと、図63,図64に示すINDEX値と符号語を対応させた符号語テーブルを持っている。
下位階層可変長符号化器802の動作を、図57のフローチャートに従って説明する。まず、モード情報に基づいて、INTERの時はINTRAの非LAST係数とLAST係数の符号語テーブル,INTERの時はINTERの非LAST係数とLAST係数のINDEXテーブルを選択する。(S101)
次に、符号語テーブルを用いて符号化するにあたって、(RUN,LEVEL)がINDEXテーブルのRUNの最大値R_max,LEVELの最大値L_maxと比較して、INDEXテーブル内に存在するかどうか確認する(S102)。
もし、存在した場合、図60〜図62のINDEXテーブルを引きINDEXの値が0であるかどうかチェックを行ない(S104),0でなければ、図12の符号語テーブルのINDEXの符号語を出力する。符号語テーブルの符号語の最終ビットの“s”は、LEVELの符号を表し、“s”が“0”のときは、LEVELの符号は正、“s”が“1”のときは、LEVELの符号は負である(S105)。INDEXの値が0であった場合と、範囲外であった場合は、符号語テーブルに存在しない係数で、図67に示すようにESCAPE符号を続けて、LAST係数かどうかの1ビットと図65および図66のRUNとLEVELの絶対値を固定長符号化し、この固定長符号化部の先頭に2つのエスケープのうち“00001”を付加し、末端にもエスケープ符号を付加する。図63,図64のINDEX値が0の符号語が、エスケープ符号であり、エスケープ(ESCAPE)符号として用いられるVLC_CODEの最終ビット“s”はLEVELの符号を表し、“s”が“0”ならばLEVELは正、“1”ならばLEVELは負である(S106)。
以上説明したように、INDEXテーブルを用いることにより、ESCAPE符号を用いた場合にも、探索することなく効率的に、符号語を出力できる。下位階層可変長復号化器802は、図68,図69の復号値テーブルを備えており、可変長符号を復号した結果得られるINDEX値に基づいて動作する。
次に、下位階層可変長復号化器の動作を、図58と図59のフローチャートに従って説明する。図58は、順方向の場合の復号動作である。まず、可変長復号を順方向復号する(S201)。次に、復号して得られたINDEX値が0かどうかをチェックし(S202)、0以外の場合は、上位階層のモード情報に基づいて、図68の復号値テーブルのINTRAとINTERを選択して、LAST,RUN,LEVELの復号値を得る(S203)。INDEX値が0の場合は、ESAPE符号であるから、次に続く固定長符号を復号して、LAST,RUN,LEVELの復号値を得る(S204)。つづいて、末尾のESCAPE符号を復号する(S205)。LEVELの正負は、符号語の最終ビットが“0”ならば、正であり、“1”ならば、負である(S206)。
図59は、逆方向の場合の復号動作である。まず、符号語の最初の1ビットで、LEVELの正負を決定する。もし、“0”ならば、正であり、“1”ならば負である(S301)。次に可変長符号を逆方向復号する(S302)。逆方向復号して得られたINDEX値が0かどうかチェックし(S303)、0以外の場合は、上位階層のモード情報に基づいて、図68の復号値テーブルのINTRAとINTERを選択して、LAST,RUN,LEVELの復号値を得る(S304)。INDEX値が0の場合には、ESCAPE符号であるから、次に続く固定長符号を復号して、LEVEL,RUN,LASTの復号値を得る(S305)。つづいて、先頭のESCAPE符号を復号する(S306)。以上説明したように、復号値テーブルを用いることで、ESCAPE符号を使った場合にも記憶量を節約し、効率的に双方向に復号することができる。
上記第10実施形態におけるデコードプロセスの補強例について説明する。すなわち、動画像多重化部703での動画像符号化方式のシンタクスが図53に示すシンタクスである場合の復号値判定方法について説明する。
フレーム内符号化フレームでは、まず、上位階層のモード情報1とINTRADCが復号される。もし、誤りが発見されて全てを復号できない場合は、誤りの生じた同期区間のマクロブロックの復号値を全てNot Codedとする。もし、符号化が最初のフレームで時間的に前のフレームが存在しない場合は、灰色あるいは特定の色でマクロブロックを埋める。
下位階層では、モード情報2が誤りのため復号できない場合、下位階層の符号化データを全て放棄し、上位階層の復号値を書き換えて、Not Codedとするか、INTRA DCのみで表示する。また、誤りのためDCT係数を放棄したマクロブロックは、Not Codedとするか、INTRA DCのみで表示する。
また、INTRAモードのマクロブロックで、AC−DCT係数の予測を行なっているマクロブロックがある場合は、可変長符号は復号できるが、周辺のマクロブロックからの予測を行なっているので、周辺のマクロブロックが復号できていないために復号できない場合、Not Codedとする。
フレーム間符号化フレームでは、まず、上位階層のモード情報1と動きベクトルが復号される。もし、誤りが発見されて全てを復号できない場合は、誤りが生じた同期区間のマクロブロックの復号値は全てNot Codedとされる。もし、全て復号できた場合、同期符号MMが存在することを確認し、もし、存在しなければ、やはり、同期区間のマクロブロックの復号値を全てNot Codedとする。
下位階層では、モード情報2及びINTRA DCで誤りのため復号されない場合、下位階層の符号化データを放棄し、Not Codedと表示するか、または、前フレームからの動き補償のみでの表示(MC Not Coded)に上位階層の復号値を書き換える。また、誤りのためDCT係数を放棄したマクロブロックは、MC Not Codedとする。
また、INTRAモードのマクロブロックで、AC−DCT係数の予測を行なっているマクロブロックがある場合は、可変長符号は復号できるが、周辺のマクロブロックからの予測を行なっているので、周辺のマクロブロックが復号できていないために復号できない場合、Not Codedとする。
図70はフレーム間符号化フレームのAC−DCT係数部の詳しい復号値判定方法を示している。
まず、図70(a)に示すように順方向復号結果と逆方向復号結果で誤りが検出されるマクロブロックの位置(誤り検出位置)が交差しない場合は、誤りが検出されなかったマクロブロックの復号結果のみを復号値として使用し、二つの誤り検出位置の復号結果は復号値として使用せず、上位階層のモード情報の復号結果に基づいて、INTRAマクロブロックについては、前フレームをそのまま表示するように、INTRAマクロブロックについては、前フレームより動き補償のみで表示するように、上位階層の復号結果を書き換える。
また、図70(b)に示すように順方向復号結果と逆方向復号結果の誤りの検出位置が交差する場合は、順方向復号の結果で誤りが検出されたマクロブロックまでの復号値は、順方向復号結果を使用し、それ以降の部分は、逆方向復号結果を復号値として使用する。
なお、逆方向復号結果を優先して、逆方向復号の結果で誤りが検出されたマクロブロックまでの復号値は、逆方向復号結果を使用し、それ以前の部分は、順方向復号結果を復号値として使用してもよい。
さらに、図70(c)に示すように同一のマクロブロックで順方向復号結果および逆方向復号結果の両方に誤りが検出される場合は、誤り検出位置のマクロブロックの復号値は放棄し、復号値として使用せずに、上位階層のモード情報の復号結果に基づいて、INTRAマクロブロックについては、前フレームをそのまま表示するように、INTERマクロブロックについては、前フレームよりの動き補償のみで表示するように、上位階層の復号結果を書き換え、それ以後のマクロブロックに対する復号値は逆方向の復号結果を使用する。
また、図70(d)に示すようにスタッフィング符号で誤りが検出され、逆方向に復号できない場合は、順方向復号のみ復号を行ない、誤りが検出された場合、誤り検出位置以降のマクロブロックは、上位階層のモード情報の復号結果に基づいて、INTRAマクロブロックについては、前フレームをそのまま表示するように、INTERマクロブロックについては、前フレームよりの動き補償のみで表示するように、上位階層の復号結果を書き換え、それ以後のマクロブロックに対する復号値は逆方向の復号結果を使用する。
図70の復号値判定方法では、マクロブロックを単位に復号値の判定をおこなったが、ブロックの単位でも、符号語の単位で判定をおこなってもよい。
以上実施形態で説明したように、本発明の可変長符号化/復号化装置は、従来と比較して、より少ない計算量と記憶量で十分であり、効率的である。
具体的には、動画像符号化/復号化装置にも適用することが可能であり、より少ない計算量と記憶量で効率的な動画像符号化/復号化装置を提供することができる。
本発明の第1実施形態に係る可変長符号化/復号化装置の構成を示すブロック図。 図1における符号語テーブル作成部を示すブロック図。 図2における符号語構成部での第1の符号語構成方法を説明する図。 第1の符号構成方法で構成した符号語から作成した順方向および逆方向の復号木を示す図。 図2における符号語構成部での第2の符号語構成方法を説明する図。 図2における符号語構成部での第3の符号語構成方法を説明する図。 図2における同期区間設定部での同期区間設定方法を説明する図。 スタッフィング符号の第1の例を示す図。 スタッフィング符号の第2の例を示す図。 図2における復号値判定部の動作を説明する図。 本発明の第2実施形態に係る動画像符号化/復号化システムの概略構成を示すブロック図。 第2実施形態に係る動画像符号化/復号化システムにおける符号化データのシンタックスを示す図。 図11における動画像多重化部および動画像多重化分離部の構成を示すブロック図。 第2実施形態におけるINTRAおよびINTERの非LAST係数の符号語テーブルの一部を示す図。 第2実施形態におけるINTRAおよびINTERの非LAST係数の符号語テーブルの他の一部を示す図。 第2実施形態におけるINTRAおよびINTERの非LAST係数の符号語テーブルのさらに別の一部を示す図。 第2実施形態におけるINTRAおよびINTERのLAST係数の符号語テーブルの一部を示す図。 第2実施形態におけるINTRAおよびINTERのLAST係数の符号語テーブルの他の一部を示す図。 第2実施形態におけるエスケープ符号の符号語テーブルを示す図。 第2実施形態における符号語テーブルにない符号語の符号化方式を示す図。 第2実施形態における最大の零ランの場合を示す図。 第2実施形態における復号値判定部の動作を説明するための図。 本発明の第3実施形態に係る可変長符号化/復号化装置の構成を示すブロック図。 図23における符号語構成部での第1の符号語構成方法を説明する図。 図23における符号語構成部での第2の符号語構成方法を説明する図。 順方向符号語テーブルと逆方向符号語テーブルを共通化した双方向符号語テーブルの構成を示す図。 復号化器に誤り検出部を付加した場合の構成を示すブロック図。 第3実施形態における復号化方法を説明する図。 第3実施形態における復号値判定部の復号値判定方法を説明するための図。 本発明の第4の実施形態に係る可変長符号化/復号化装置の構成を示すブロック図。 図30における一つの階層の可変長符号化部の構成を示すブロック図。 図30における一つの階層の可変長復号化部の構成を示すブロック図。 図30におけるデータ階層化部および多重化部でのデータ階層化および多重化の例を示す図。 図32における復号値判定部の復号値判定方法の例を示す図。 第4実施形態に係る可変長符号化/復号化装置を図11の動画像符号化/復号化システムに組み込んだ場合の動画像多重化部および動画像多重化分離部での動画像符号化方式のシンタックスの第1の例を示す図。 第4実施形態に係る可変長符号化/復号化装置を図11の動画像符号化/復号化システムに組み込んだ場合の動画像多重化部および動画像多重化分離部での動画像符号化方式のシンタックスの第2の例を示す図。 第4実施形態に係る可変長符号化/復号化装置を図11の動画像符号化/復号化システムに組み込んだ場合の動画像多重化部および動画像多重化分離部での動画像符号化方式のシンタックスの第3の例を示す図。 第4実施形態に係る可変長符号化/復号化装置を図11の動画像符号化/復号化システムに組み込んだ場合の動画像多重化部および動画像多重化分離部での動画像符号化方式のシンタックスの第4の例を示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの符号化テーブルを示す図。 第4実施形態における動きベクトルの一次元予測を説明するための図。 図35のシンタクスの場合の復号値判定方法を説明する図。 図36のシンタクスの場合の復号値判定方法を説明する図。 本発明の第6実施形態に係る符号化/復号化装置であり、図1における符号語テーブル作成部の詳細構成を示すブロック図。 本発明の第7実施形態に係る動画像符号化/復号化システムの概略構成を示すブロック図。 図50における動画像多重化部および動画像多重化分離部の構成を示すブロック図。 第7実施形態に係る動画像多重化部および動画像多重化分離部での動画像符号化方式のシンタクスの例を示す図。 本発明の第8実施形態に係る情報源符号化器の一例を示すブロック図。 本発明の第8実施形態に係る情報源復号化器の一例を示すブロック図。 本発明の第9実施形態に係る可変長符号化/復号化装置が組み込まれるシステムの一例を示す図。 本発明の第10実施形態の可変長符号化器の動作を示すフローチャート。 第10実施形態の順方向可変長復号化器の動作を示すフローチャート。 第10実施形態の逆方向可変長復号化器の動作を示すフローチャート。 INTRA係数のINDEXテーブルを示す図。 INTER係数のINDEXテーブルを示す図。 LASR係数のINDEXテーブルを示す図。 第10実施形態における符号語テーブルを示す図。 第10実施形態における符号語テーブルを示す図。 第10実施形態におけるRUNの固定長符号語テーブルを示す図。 第10実施形態におけるLEVELの固定長符号語テーブルを示す図。 符号語テーブルにない符号語の符号化方式を示す図 第10実施形態における復号値テーブルを示す図。 第10実施形態における復号値テーブルを示す図。 復号値判定部の動作を説明するための図 リバーシブル符号の一般的な復号方法を示す図。 通常の可変長符号の説明図。 従来のリバーシブル符号の説明図。 従来のスタッフィング符号を示す図。 従来の逆復号ができない情報シンボルのシンタックスを説明するための図。
符号の説明
51 双方向符号語テーブル
52 アドレス変換器
53 識別信号
61 誤り検出部
101 符号語テーブル作成部
102 符号語テーブル
103 符号化器
104 同期区間設定部
105,205,705 伝送系または蓄積系
106 同期区間検出部
107 バッファ
108 順方向復号化器
109 逆方向復号化器
110 復号値判定部
111 順方向符号語テーブル
112 逆方向符号語テーブル
113,213 符号化部
114,121,214 復号化部
122 符号化データ切替器
123 符号語テーブル切替器
124,62 復号化器
201 符号化テーブル作成部
202 データ階層化部
203 階層別可変長符号化部
204 多重化部
206 多重化分離部
207 階層別復号化部
208 データ合成部
401 ブロック化回路
402 減算器
403 モード選択スイッチ
404 DCT回路
405 量子化回路
406 逆量子化回路
407 IDCT回路
408 加算器
409 フレームメモリ
410 動き補償回路
411 スイッチ
412 モード選択回路
501 逆量子化回路
502 IDCT回路
503 加算器
504 モード判定回路
505 モード切替スイッチ
506 フレームメモリ
701 符号化制御部
702 情報源符号化器
703 動画像多重化器
704 送信バッファ
706 受信バッファ
707 動画像多重化分離器
708 情報源復号化器
709 動画像符号化器
710 動画像復号化器
901 上位階層可変長符号化器
902 下位階層可変長符号化器
903 多重化器
904 多重化分離器
905 上位階層可変長復号化器
906 下位階層可変長復号化器
1001 パーソナルコンピュータ
1002 ワークステーション
1003,1004 無線機
1005,1006 カメラ

Claims (6)

  1. 順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の先頭および末尾の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを復号する可変長復号化装置において、
    前記符号化データを階層毎に分離する分離手段と、
    前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、
    前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果を合成する合成手段と、
    を有することを特徴とする可変長復号化装置。
  2. 順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを所定の同期区間毎に復号する可変長復号化装置において、
    前記多重化された符号化データを階層毎に分離する分離手段と、
    前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、
    前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果を合成する合成手段と、
    を有することを特徴とする可変長復号化装置。
  3. 順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の先頭および末尾の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを所定の同期区間毎に復号する可変長復号化装置において、
    前記多重化された符号化データを階層毎に分離する分離手段と、
    前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、
    前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果から復号値を判定して最終的な復号結果を出力する復号値判定手段と、
    前記復号値判定手段により得られた階層毎の最終的な復号結果を合成する合成手段と、
    を有することを特徴とする可変長復号化装置。
  4. 順方向にも逆方向にも復号可能な符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語を含む符号語で構成された可変長符号からなり、階層化された情報シンボルに対応する符号語により作成され、かつ多重化された符号化データを所定期間毎に復号する可変長復号化装置において、
    前記多重化された符号化データを階層毎に分離する分離手段と、
    前記分離手段により分離された符号化データの同期区間を検出する同期区間検出手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを順方向から復号する順方向復号化手段と、
    前記同期区間検出手段により検出された同期区間の符号化データを逆方向から復号する逆方向復号化手段と、
    前記順方向復号化手段および逆方向復号化手段により得られた階層毎の復号結果から復号値を判定して最終的な復号結果を出力する復号値判定手段と、
    前記復号値判定手段により得られた階層毎の最終的な復号結果を合成する合成手段と、
    を有することを特徴とする可変長復号化装置。
  5. 順方向にも逆方向にも復号可能で、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語を含む複数の符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語は、順方向にも逆方向にも復号可能な前記第1の符号語の各ビットの間に、固定長符号の符号語が所定ビットずつ挿入された前記第2の符号語であることを特徴とする請求項1ないし請求項4の何れかに記載の可変長復号化装置。
  6. 順方向にも逆方向にも復号可能で、符号語の予め定められた重みによって符号語の区切りが分かるように構成された符号語を含む複数の符号語であって、順方向にも逆方向にも復号可能な第1の符号語の各ビットの直前および直後の少なくとも一方に、順方向にも逆方向にも復号可能な第2の符号語を付加して構成された符号語は、順方向にも逆方向にも復号可能な前記第1の符号語の各ビットの間に、順方向にも逆方向にも復号可能な符号語が所定ビットずつ挿入された前記第2の符号語であることを特徴とする請求項1ないし請求項4の何れかに記載の可変長復号化装置。
JP2006022647A 1996-09-06 2006-01-31 可変長復号化装置 Expired - Lifetime JP4131977B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006022647A JP4131977B2 (ja) 1996-09-06 2006-01-31 可変長復号化装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP23677996 1996-09-06
JP29877996 1996-11-11
JP8161497 1997-03-31
JP2006022647A JP4131977B2 (ja) 1996-09-06 2006-01-31 可変長復号化装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP19633299A Division JP3819638B2 (ja) 1996-09-06 1999-07-09 可変長符号化装置

Publications (2)

Publication Number Publication Date
JP2006217613A JP2006217613A (ja) 2006-08-17
JP4131977B2 true JP4131977B2 (ja) 2008-08-13

Family

ID=36980367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006022647A Expired - Lifetime JP4131977B2 (ja) 1996-09-06 2006-01-31 可変長復号化装置

Country Status (1)

Country Link
JP (1) JP4131977B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817346B2 (en) 2010-03-18 2014-08-26 Ricoh Company, Limited Image processing apparatus, image processing method, and image forming apparatus for reading code data rotated at 180 degrees

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817346B2 (en) 2010-03-18 2014-08-26 Ricoh Company, Limited Image processing apparatus, image processing method, and image forming apparatus for reading code data rotated at 180 degrees

Also Published As

Publication number Publication date
JP2006217613A (ja) 2006-08-17

Similar Documents

Publication Publication Date Title
US6104754A (en) Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
JP3762392B2 (ja) 動画像符号化方法及び装置
JP3657971B2 (ja) 復号化方法及び装置
JPH09121358A (ja) 画像符号化及び復号化装置と方法
JPH09182073A (ja) 動画像符号化装置および復号装置
JP3262761B2 (ja) エラー許容モードビデオコデック方法及びその装置
JP4131977B2 (ja) 可変長復号化装置
US6704494B1 (en) Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
JP3011680B2 (ja) 可変長符号化装置及び方法
JP3819638B2 (ja) 可変長符号化装置
JP4199240B2 (ja) 可変長復号化装置およびこの装置で用いられるデータまたはプログラムを記録した記録媒体
JP3275003B2 (ja) 可変長符号に関するデータを記録したコンピュータ読み取り可能な記録媒体
JP2002009626A (ja) 可変長符号化/復号化装置に用いられるプログラムを記録した記録媒体
JP3030028B2 (ja) 可変長復号化装置及び方法
JP3217771B2 (ja) 可変長符号に関するプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3905938B2 (ja) 画像符号化装置および画像復号化装置
JP2003289539A (ja) 動画像符号化装置および方法
JP2003250158A (ja) 動画像復号装置および方法
JP2003299094A (ja) 動画像復号装置および方法
JP2004056808A (ja) 動画像復号化装置及び動画像復号化方法
JP2006141044A (ja) 動画像符号化装置および方法
JP2006141045A (ja) 動画像復号装置および方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080523

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080529

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

EXPY Cancellation because of completion of term