(57)【要約】【課題】圧縮効率を向上させた可変長符号化方法により符号化されたデータを正しく復号化する。【解決手段】この可変長復号化方法は、ストリームを構成する各所定単位データを、パラメータ表を参照して復号化する方法であって、以下のステップを備えている。  ◎ストリームのパラメータ表に関する情報を復号化するパラメータ表情報復号化ステップステップ  ◎パラメータ表に関する情報に基づきパラメータ表の初期値を設定するパラメータ表初期化ステップ  ◎所定単位データを構成するサブデータの復号化に用いられる符号化パラメータをパラメータ表から取得するパラメータ取得ステップ  ◎ストリームのサブデータを、取得された符号化パラメータを参照して可変長復号化するサブデータ復号化ステップ【選択図】図１１
2006238453.tif 000002
【特許請求の範囲】
【請求項１】
ストリームを構成する各所定単位データを、パラメータ表を参照して復号化する可変長復号化方法であって、
前記ストリームのパラメータ表に関する情報を復号化するパラメータ表情報復号化ステップと、
前記パラメータ表に関する情報に基づきパラメータ表の初期値を設定するパラメータ表初期化ステップと、
前記所定単位データを構成するサブデータの復号化に用いられる符号化パラメータを前記パラメータ表から取得するパラメータ取得ステップと、
前記ストリームの前記サブデータを、取得された符号化パラメータを参照して可変長復号化するサブデータ復号化ステップと、
を備えている可変長復号化方法。
【請求項２】
復号化したサブデータの値に基づいて前記パラメータ表を更新し、前記符号化パラメータを前記パラメータ表から取得する、請求項１に記載の可変長復号化方法。
【請求項３】
前記サブデータ復号化ステップでは、前記サブデータを、前記符号化パラメータを参照して算術復号化する、請求項１又は２に記載の可変長復号化方法。
【請求項４】
前記パラメータ表情報復号化ステップでは、パラメータ表に関する情報を固定的な復号化方法で復号化する、請求項１〜３のいずれかに記載の可変長復号化方法。
【請求項５】
コンピュータに可変長復号化処理を行わせるためのプログラムを格納した記憶媒体であって、
前記可変長復号化処理は、
ストリームを構成する各所定単位データを、パラメータ表を参照して復号化する可変長復号化方法であって、
前記ストリームのパラメータ表に関する情報を復号化するパラメータ表情報復号化ステップと、
前記パラメータ表に関する情報に基づきパラメータ表の初期値を設定するパラメータ表初期化ステップと、
前記所定単位データを構成するサブデータの復号化に用いられる符号化パラメータを前記パラメータ表から取得するパラメータ取得ステップと、
前記ストリームの前記サブデータを、取得された符号化パラメータを参照して可変長復号化するサブデータ復号化ステップと、
を備えている、記憶媒体。
【請求項６】
ストリームを構成する各所定単位データを、可変長符号表を切り換えながら復号化する可変長復号化方法であって、
前記ストリームの可変長符号表を示す情報を復号化する可変長符号表情報復号化ステップと、
前記可変長符号表を示す情報に基づき可変長符号表の初期値を設定する可変長符号表初期化ステップと、
前記所定単位データを構成するサブデータの復号化に用いられる可変長符号表を選択する可変長符号表選択ステップと、
前記ストリームの前記サブデータを、選択された可変長符号表を参照して可変長復号化するサブデータ復号化ステップと、
を備えている可変長復号化方法。
【請求項７】
コンピュータに可変長復号化処理を行わせるためのプログラムを格納した記憶媒体であって、
前記可変長復号化処理は、ストリームを構成する各所定単位データを、可変長符号表を切り換えながら復号化する可変長復号化方法であって、
前記ストリームの可変長符号表を示す情報を復号化する可変長符号表情報復号化ステップと、
前記可変長符号表を示す情報に基づき可変長符号表の初期値を設定する可変長符号表初期化ステップと、
前記所定単位データを構成するサブデータの復号化に用いられる可変長符号表を選択する可変長符号表選択ステップと、
前記ストリームの前記サブデータを、選択された可変長符号表を参照して可変長復号化するサブデータ復号化ステップと、
を備えている、記憶媒体。
【請求項８】
ストリームを構成する各所定単位データを、パラメータ表を参照して復号化する可変長復号化装置であって、
前記ストリームのパラメータ表に関する情報を復号化するパラメータ表情報復号化手段と、
前記パラメータ表に関する情報に基づきパラメータ表の初期値を設定するパラメータ表初期化手段と、
前記所定単位データを構成するサブデータの復号化に用いられる符号化パラメータを前記パラメータ表から取得するパラメータ取得手段と、
前記ストリームの前記サブデータを、取得された符号化パラメータを参照して可変長復号化するサブデータ復号化手段と、
を備えている可変長復号化装置。
【請求項９】
ストリームを構成する各所定単位データを、可変長符号表を切り換えながら復号化する可変長復号化装置であって、
前記ストリームの可変長符号表を示す情報を復号化する可変長符号表情報復号化手段と、
前記可変長符号表を示す情報に基づき可変長符号表の初期値を設定する可変長符号表初期化手段と、
前記所定単位データを構成するサブデータの復号化に用いられる可変長符号表を選択する可変長符号表選択手段と、
前記ストリームの前記サブデータを、選択された可変長符号表を参照して可変長復号化するサブデータ復号化手段と、
を備えている可変長復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変長復号化方法、その処理をコンピュータに行わせるプログラムを格納する記憶媒体、可変長復号化装置に関する。本発明は、特に、符号化済みのデータによって符号化方法を最適化する動的な可変長符号化方法に対応した可変長復号化方法、その処理をコンピュータに行わせるプログラムを格納する記憶媒体、符号化済みのデータによって符号化方法を最適化する動的な可変長符号化装置に対応した可変長復号化装置に関する。
【背景技術】
【０００２】
近年、画像符号化方式の国際標準化活動により、画像の圧縮、復元の技術として、静止画のＪＰＥＧや動画のＭＰＥＧなどが規格化されている。
【０００３】
ＭＰＥＧ（Moving Picture Experts Group)符号化方式は、主に、動き補償フレーム間予測ユニットと、ＤＣＴ（離散コサイン変換）ユニットと、可変長符号化ユニットとから構成されている。動き補償フレーム間予測ユニットは、入力画像と前画像データとから動きベクトルを検出し、動きベクトルと前画像データとから予測誤差データを作成する。ＤＣＴユニットは予測誤差データをＤＣＴ変換する。量子化ユニットは、ＤＣＴ係数を量子化し、可変長符号化ユニットは、量子化されたＤＣＴ係数や動きベクトルに符号語を割り当てていく。
【０００４】
ＭＰＥＧ符号化方式における画像符号化データは、シーケンス、ＧＯＰ（Group Of Picture）、ピクチャ、スライス、マクロブロック、ブロックの６層の階層構造を有している。ピクチャは、一枚の画像に対応する基本的符号化単位であり、複数のスライスから構成されている。スライスは、同期復帰単位であり、一つ又は複数のマクロブロックからなる帯状の領域である。
【０００５】
可変長符号化とは、エントロピー符号化の一種であり、ＤＣＴ変換後の係数（ＤＣＴ係数）値や動きベクトル値等は生起確率に偏りがあることから、これらの値のうち生起確率が高い値には短い符号語を割り当て、生起確率が低い値には長い符号語を割り当てることにより、平均情報量を減らすものである。
【０００６】
可変長符号化の主な種類としては、ハフマン符号化や算術符号化がある。
【０００７】
ハフマン符号化は、各シンボルを葉としたハフマン符号木により符号語を決定する方法であり、各符号に対応する符号語（ビット列）の対応表（符号表）を用いる。
【０００８】
ハフマン符号化では、圧縮率向上のために、変化する動画像の統計的性質に応じて符号表を作成する方法や、複数の符号表を用意しておき画像の統計的性質に応じて符号表を切り換える方法が用いられている。情報理論では、生起確率ｐの符号にｌｏｇ2（１／ｐ）ビットを割り当てる符号表が最も平均情報量が少ないことが証明されている。そこで、複数の符号表を切り換える方法では、符号化済みのデータから生起確率を計算し、生起確率ｐの符号にｌｏｇ2（１／ｐ）ビットに近いビット数が割り当てられるような符号表を選択する。
【０００９】
算術符号化は、シンボルの系列を生起確率に応じて区間［０，１）に射影し、数直線上の確率空間を区間内の適当な数でバイナリ表現する手法である。算術符号化は、常に統計的性質を監視しながら符号化を行い、具体的には、画像内容に応じて確率表を書き換えつつ、確率表を参照しながら符号語を決定する。より具体的には、算術符号化では、生起確率ｐの符号にｌｏｇ2（１／ｐ）ビットが割り当てられるように、算術演算で用いる確率を符号化済みのデータから生起確率を逐次更新する。
【００１０】
算術符号化では、ハフマン符号化とは異なり、算術演算（加減乗除）のみで符号語に相当するビット列を取得できるために、ハフマン符号化に比べて符号表を記憶するために必要なメモリ量を削減できる。また、符号化の途中で統計的性質が変わっても確率表を書き換えることで対応できる。しかしながら、算術演算、特に乗除算は高い演算能力が必要であり、低演算能力の機器では実現が困難であるという欠点も有する。
【００１１】
以上に述べた動的な符号化方法では、符号化済みのデータによって動的に符号化方法を最適化していくため、固定的な符号化方法に比べて圧縮効率を向上させることができる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、符号化済みデータによって動的に符号化方法を最適化する場合には、下記の問題点がある。
【００１３】
学習による動的符号化は、例えば、ピクチャのヘッダ以降すなわち各スライスやマクロブロック、ブロック毎に行われる。その場合には、算術符号化では各ピクチャにおける初期値に固定の確率表が用いられ、ハフマン符号化では各ピクチャにおける初期の符号表として固定の可変長符号表が用いられている。このように固定の初期値が用いられるため、初期化された後、学習によって最適な確率表や符号表が得られるまでは、符号化の圧縮効率が良いとは言えない。特に、全体のデータ数が小さい場合は、学習するために必要なデータ数の割合が大きくなり、圧縮率がそれほど高くない。
【００１４】
一方、符号化済みのデータのうち学習に使用される部分が伝送路において損なわれると、復号化器において正しい学習が行えなくて復号化不能になり、画像データの場合は伝送路誤りによる画質劣化が発生する。伝送路誤りに強くするためには、定期的に学習結果をリセットすることになるが、リセット間隔を長くすると誤りに弱くなるため、リセット間隔はある程度短くならざるを得ない。
【００１５】
以上のように、伝送路誤りの問題を解決することを前提とすると、現状の動的な符号化方法では、圧縮効率が十分に向上しない。
【００１６】
本発明の課題は、画像圧縮等に使用する可変長符号化方法の圧縮効率を向上することにある。
【００１７】
本発明の他の課題は、圧縮効率を向上させた可変長符号化方法により符号化されたデータを正しく復号化することにある。
【課題を解決するための手段】
【００１８】
請求項１に記載の可変長復号化方法は、ストリームを構成する各所定単位データを、パラメータ表を参照して復号化する方法であって、以下のステップを備えている。
【００１９】
◎ストリームのパラメータ表に関する情報を復号化するパラメータ表情報復号化ステップステップ
◎パラメータ表に関する情報に基づきパラメータ表の初期値を設定するパラメータ表初期化ステップ
◎所定単位データを構成するサブデータの復号化に用いられる符号化パラメータをパラメータ表から取得するパラメータ取得ステップ
◎ストリームのサブデータを、取得された符号化パラメータを参照して可変長復号化するサブデータ復号化ステップ
なお、符号化パラメータとは、データの発生頻度を表すものであり、パラメータ表から取得されて、各サブデータの復号化の際に参照される。算術復号化の場合にはパラメータ表は確率表に対応し、さらに符号化パラメータは確率に対応することになるが、それらに限定されない。
【００２０】
この復号化方法では、パラメータ表に関する情報を復号化し、それに基づいて取得したパラメータ表を初期値に設定するため、所定単位データを正しく復号化することができる。
【００２１】
請求項２に記載の可変長復号化方法では、請求項１において、復号化したサブデータの値に基づいてパラメータ表を更新し、符号化パラメータをパラメータ表から取得する。
【００２２】
請求項３に記載の可変長復号化方法では、請求項１又は２において、サブデータ復号化ステップでは、サブデータを、符号化パラメータを参照して算術復号化する。
【００２３】
請求項４に記載の可変長復号化方法では、請求項１〜３のいずれかにおいて、パラメータ表情報復号化ステップでは、パラメータ表に関する情報を固定的な復号化方法で復号化する。
【００２４】
請求項５に記載の記憶媒体は、コンピュータに可変長復号化処理を行わせるためのプログラムを格納したものである。可変長復号化処理は、ストリームを構成する各所定単位データを、パラメータ表を参照して復号化する可変長復号化方法であって、以下のステップを備えている。
【００２５】
◎ストリームのパラメータ表に関する情報を復号化するパラメータ表情報復号化ステップ
◎パラメータ表に関する情報に基づきパラメータ表の初期値を設定するパラメータ表初期化ステップ
◎所定単位データを構成するサブデータの復号化に用いられる符号化パラメータをパラメータ表から取得するパラメータ取得ステップ
◎ストリームのサブデータを、取得された符号化パラメータを参照して可変長復号化するサブデータ復号化ステップ
この記憶媒体では、格納されたプログラムをコンピュータにロードすることにより、コンピュータに可変長復号化処理を行わせる。その処理において、パラメータ表に関する情報を復号化し、それに基づいて取得したパラメータ表を初期値に設定するため、所定単位データを正しく復号化することができる。
【００２６】
請求項６に記載の可変長復号化方法は、ストリームを構成する各所定単位データを、可変長符号表を切り換えながら復号化する方法であって、以下のステップを備えている。
【００２７】
◎ストリームの可変長符号表を示す情報を復号化する可変長符号表情報復号化ステップ
◎可変長符号表を示す情報に基づき可変長符号表の初期値を設定する可変長符号表初期化ステップ
◎所定単位データを構成するサブデータの復号化に用いられる可変長符号表を選択する可変長符号表選択ステップ
◎ストリームのサブデータを、選択された可変長符号表を参照して可変長復号化するサブデータ復号化ステップ
この復号化方法では、選択された可変長符号表を示す情報を復号化し、その情報が示す可変長符号表を初期値に設定するため、符号化された所定単位データを正しく復号化することができる。
【００２８】
請求項７に記載の記憶媒体は、コンピュータに可変長復号化処理を行わせるためのプログラムを格納したものである。可変長復号化処理は、ストリームを構成する各所定単位データを、可変長符号表を切り換えながら復号化する可変長復号化方法であって、以下のステップを備えている。
【００２９】
◎ストリームの可変長符号表を示す情報を復号化する可変長符号表情報復号化ステップ
◎可変長符号表を示す情報に基づき可変長符号表の初期値を設定する可変長符号表初期化ステップ
◎所定単位データを構成するサブデータの復号化に用いられる可変長符号表を選択する可変長符号表選択ステップ
◎ストリームのサブデータを、選択された可変長符号表を参照して可変長復号化するサブデータ復号化ステップ
この記憶媒体では、格納されたプログラムがコンピュータに行わせる復号化処理において、可変長符号表を示す情報を復号化しその情報が示す可変長符号表を初期値に設定するため、符号化された所定単位データを正しく復号化することができる。
【００３０】
請求項８に記載の可変長復号化装置は、ストリームを構成する各所定単位データを、パラメータ表を参照して復号化する可変長復号化装置であって、パラメータ表情報復号化手段と、パラメータ表初期化手段と、パラメータ取得手段と、サブデータ復号化手段とを備えている。パラメータ表情報復号化手段は、ストリームのパラメータ表に関する情報を復号化する。パラメータ表初期化手段は、パラメータ表に関する情報に基づきパラメータ表の初期値を設定する。パラメータ取得手段は、所定単位データを構成するサブデータの復号化に用いられる符号化パラメータをパラメータ表から取得する。サブデータ復号化手段は、ストリームのサブデータを、取得された符号化パラメータを参照して可変長復号化する。
【００３１】
この復号化装置では、パラメータ表に関する情報を復号化し、それに基づいて取得したパラメータ表を初期値に設定するため、所定単位データを正しく復号化することができる。
【００３２】
請求項９に記載の可変長復号化装置は、ストリームを構成する各所定単位データを、可変長符号表を切り換えながら復号化する可変長復号化装置であって、可変長符号表情報復号化手段と、可変長符号表初期化手段と、可変長符号表選択手段と、サブデータ復号化手段とを備えている。可変長符号表情報復号化手段は、ストリームの可変長符号表を示す情報を復号化する。可変長符号表初期化手段は、可変長符号表を示す情報に基づき可変長符号表の初期値を設定する。可変長符号表選択手段は、所定単位データを構成するサブデータの復号化に用いられる可変長符号表を選択する。サブデータ復号化手段は、ストリームのサブデータを、選択された可変長符号表を参照して可変長復号化する。
【００３３】
この復号化装置では、可変長符号表を示す情報を復号化し、それに基づいて選択した可変長符号表を初期値に設定するため、所定単位データを正しく復号化することができる。
【発明の効果】
【００３４】
請求項１に記載の可変長復号化方法では、パラメータ表に関する情報を復号化し、それに基づいて取得したパラメータ表を初期値に設定するため、所定単位データを正しく復号化することができる。
【００３５】
請求項２に記載の可変長復号化方法では、請求項１において、復号化したサブデータの値に基づいてパラメータ表を更新し、符号化パラメータをパラメータ表から取得する。
【００３６】
請求項３に記載の可変長復号化方法では、請求項１又は２において、サブデータ復号化ステップでは、サブデータを、符号化パラメータを参照して算術復号化する。
【００３７】
請求項４に記載の可変長復号化方法では、請求項１〜３のいずれかにおいて、パラメータ表情報復号化ステップでは、パラメータ表に関する情報を固定的な復号化方法で復号化する。
【００３８】
請求項５に記載の記憶媒体では、格納されたプログラムをコンピュータにロードすることにより、コンピュータに可変長復号化処理を行わせる。その処理において、パラメータ表に関する情報を復号化し、それに基づいて取得したパラメータ表を初期値に設定するため、所定単位データを正しく復号化することができる。
【００３９】
請求項６に記載の可変長符号化方法では、初期化された可変長符号表を示す情報を復号化し、その情報が示す可変長符号表を初期値に設定するため、符号化された所定単位データを正しく復号化することができる。
【００４０】
請求項７に記載の記憶媒体では、格納されたプログラムがコンピュータに行わせる復号化処理において、初期化された可変長符号表を示す情報を復号化しその情報が示す可変長符号表を初期値に設定するため、符号化された所定単位データを正しく復号化することができる。
【００４１】
請求項８に記載の可変長復号化装置では、パラメータ表に関する情報を復号化し、それに基づいて取得したパラメータ表を初期値に設定するため、所定単位データを正しく復号化することができる。
【００４２】
請求項９に記載の可変長復号化装置では、可変長符号表を示す情報を復号化し、それに基づいて選択した可変長符号表を初期値に設定するため、所定単位データを正しく復号化することができる。
【発明を実施するための最良の形態】
【００４３】
１．第１実施形態
（１）可変長符号化装置の構成
〈１〉本発明に係る可変長符号化装置
図１は、本発明の一実施形態としての可変長符号化装置１の概略構成ブロック図である。可変長符号化装置１は、入力されたデータを可変長符号化し、ビットストリームを生成するための装置である。特に、この可変長符号化装置１は、主たる符号化方法として算術符号化を採用していることを特徴としている。なお、算術符号化とは、実際に発生したシンボルの生起確率に応じて動的に確率表を更新することにより符号化効率を高める符号化方法をいう。
【００４４】
可変長符号化装置１に入力されるデータは、様々な種類があり得るが、この実施形態では画像データが入力されるものとして説明する。すなわち、可変長符号化装置１は、情報変換された画像信号をエントロピー符号化する機能を有している。特にＭＰＥＧ方式においては、この可変長符号化装置１に入力される画像データは、量子化されたＤＣＴ係数や動きベクトルなどである。
【００４５】
可変長符号化装置１は、主に、データ符号化部２と、ヘッダ符号化器３とを備えている。
【００４６】
データ符号化部２は、所定単位データごとにヘッダ以外のデータを算術符号化するための装置であり、算術符号化器７と、確率表更新器８と、初期化部９とを備えている。なお、ここでいう所定単位データとは、画像データの場合はピクチャ又はスライスを意味する。また、各所定単位データは複数のサブデータから構成されており、所定単位データがピクチャの場合にサブデータはスライス、マクロブロック又はブロックであり、所定単位データがスライスの場合にサブデータはマクロブロック又はブロックである。
【００４７】
算術符号化器７は、データが入力されると、発生データを確率表更新器８に出力するとともに、確率表更新器８から出力される確率表すなわち符号語に基づいてデータを符号化するための装置である。
【００４８】
確率表更新器８は、確率表を更新する機能を有しており、算術符号化器７から出力されてきた発生データの生起確率に応じて確率表を更新しながら、その確率表すなわち符号語を算術符号化器７に出力するための装置である。
【００４９】
初期化部９は、確率表更新器８に対して確率表の初期化指令を出力するための装置である。
【００５０】
ヘッダ符号化器３は、ヘッダデータを固定的な符号化方法で符号化するための装置である。固定的な符号化方法とは、符号化の途中で各符号に対応する符号語が変化しない方法をいい、固定長符号化方法や固定の可変長符号表を用いる可変長符号化方法を含む。固定的な符号化方法を用いているため、ヘッダデータは容易に符号化できる。
【００５１】
一方、各符号に対応する符号語が変化する符号化方法を適応的な符号化方法と呼ぶ。更に適応的な符号化方法には、単純に符号と符号に対応する符号語の関係を表すテーブルを切り換える静的な符号化方法と、符号語自体を逐次更新する動的符号化がある。言い換えると、静的符号化方法とは、動的な符号化方法（動的に符号とそれに対応する符号語の対応関係を変更する算術符号化等の符号化方法）ではないことを意味する。従って、静的符号化方法よりも動的符号化方法の方が圧縮率を向上することができる。
【００５２】
可変長符号化装置１は、さらに、確率表符号化器６を備えている。確率表符号化器６は、確率表更新器８から出力されてきた確率表を固定的な符号化方法で符号化するための装置である。固定的な符号化方法を用いているため、確率表は容易に符号化される。
【００５３】
多重化器４は、ヘッダ符号化器３から出力されてくるヘッダ符号化データと、算術符号化器７から出力されてくるヘッダ以外の符号化データと、確率表符号化器６から出力されてくる確率表符号化データとを多重化して符号列（ビットストリーム）を生成し、さらにそれを伝送路に出力するための装置である。
【００５４】
〈２〉一般的な画像符号化装置
ここで、図２のブロック図を用いて、一般的な画像符号化装置１００の構成を示す。画像符号化装置１００は、主に、動き推定／補償部（ＭＥ／ＭＣ）１０２と、減算器１０３と、変換符号化部１０４と、変換復号化部１０５と、加算器１０６と、エントロピー符号化部１０７とから構成されている。なお、前述のデータ符号化部２はエントロピー符号化部１０７に対応している。
【００５５】
動き推定／補償部１０２は、入力画像データPicInを受け、符号化対象ピクチャにおける符号化対象ブロックに対する予測ブロックのデータを生成する。動き推定／補償部１０２は、動き検出器（ＭＥ）１１１と、動き補償器（ＭＣ）１１２と、ピクチャメモリ１１３とから構成されている。
【００５６】
動き検出器１１１は、入力画像PicInが入力され、ピクチャメモリ１１３内の再構成画像に対する入力画像PicInの動きである動きベクトルＭＶを算出する。動き検出器１１１は、動きベクトルＭＶを、動き補償器１１２とピクチャメモリ１１３とエントロピー符号化部１０７に出力する。動き補償器１１２は、動き検出器１１１からの動きベクトルＭＶに基づいて、ピクチャメモリ１１３に格納されている再構成画像から動きに対応する画像データを参照画像として作成し（動き補償）、それを減算器１０３と加算器１０６とに出力する。ピクチャメモリ１１３は、再構成画像を貯え、動き検出器１１１や動き補償器１１２によって再構成画像を読み出される。なお、画面内符号化の場合は動き補償された参照画像の画素値を０とし、減算器１０３および加算器１０６では減算および加算を行わないで入力されたデータをそのまま出力する。
【００５７】
減算器１０３は、入力画像PicInの対象データと、動き補償器１１２からの参照画像との差分値を求め、その差分値である差分データを変換符号化部１０４に出力する。
【００５８】
変換符号化部１０４は、減算器１０３からの差分データにデータ圧縮処理を施して、圧縮データを出力する。変換符号化部１０４は直交変換器１１４と量子化器１１５とから構成されている。直交変換器１１４は、減算器１０３からの差分データに対して、直交変換処理の一種である空間領域のデータを周波数領域のデータに変換する離散コサイン変換処理（ＤＣＴ処理）を施し、そのデータを量子化器１１５に出力する。量子化器１１５は、直交変換器１１４からのＤＣＴデータを所定の量子化ステップでもって量子化して、量子化係数を変換復号化部１０５とエントロピー符号化部１０７に出力する。
【００５９】
変換復号化部１０５は、変換符号化部１０４からの出力にデータ伸長処理を施して伸長データを出力する。変換復号化部１０５は逆量子化器１１６と逆直交変換器１１７とから構成されている。逆量子化器１１６は、変換符号化部１０４からの出力を上記量子化ステップでもって逆量子化し、それを逆直交変換器１１７に出力する。逆直交変換器１１７は、逆量子化器１１６からの出力に対して、周波数領域のデータを空間領域のデータに変換する逆離散コサイン変換処理（ＩＤＣＴ処理）を施して、伸長データを予測残差信号として加算器１０６に出力する。
【００６０】
加算器１０６は、当該マクロブロックが画面間動き補償予測符号化されている場合は、変換復号化部１０５からの予測残差信号と動き補償器１１２からの参照画像とを加算した画像データを再構成画像としてピクチャメモリ１１３に出力する。
【００６１】
エントロピー符号化部１０７は、DCT符号化部１０４からの量子化されたＤＣＴ後のデータに対してエントロピー符号化を施す。エントロピー符号化とは、０と１のビット列に対してそのビット列の統計的な性質を利用してより少ないビット列に変換する符号化のことである。
【００６２】
（２）可変長符号化装置の動作
〈１〉データ符号化部及び確率表符号化器の動作
図３は、データ符号化部２及び確率表符号化器６の概略動作を示すフローチャートである。
【００６３】
ステップＳ１では、初期化部９が確率表更新器８に初期化指令を出力し、確率表更新器８は所定の確率表を所定単位データ毎に初期値に設定する。この初期化動作において、初期化部９及び確率表更新器８は、ヘッダ内の初期化情報に基づいて確率表の初期化を行う。確率表の初期化情報としては、所定単位データ全体の共通データが用いられることがある。初期化に有効な共通データの例としては、例えば、所定単位データがピクチャの場合は、ピクチャ符号化タイプ（画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別）、ピクチャの量子化パラメータの初期値などがある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序、動きベクトルや画像サイズ等のパラメータがある。所定単位データがスライスの場合は、スライス符号化タイプ（画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別）、スライスの量子化パラメータの初期値などがある。
【００６４】
ステップＳ２では、算術符号化器７と確率表更新器８とが協働して、サブデータを算術符号化する。より具体的には、算術符号化器７は確率表更新器８から出力した確率表に基づいて、サブデータの符号化に用いられる確率を確率表から取得し、さらに、その確率を参照してデータを符号化する。具体的には所定単位データはピクチャ又はスライスであり、サブデータであるマクロブロック又はブロックが符号化される。
【００６５】
ステップＳ３では、発生データにより、確率表更新器８で発生データの確率表を更新する。この実施形態では、この更新された確率表が、次のサブデータを算術符号化する際に用いられることになる。
【００６６】
ステップＳ４では、全てのサブデータの符号化が終了したか否かを判断する。全て終了していないと判断するとステップＳ２に戻り、前述の動作を繰り返す。
【００６７】
ステップＳ５では、確率表を符号化するか否かを判定し、符号化する場合はステップＳ６に進み、符号化しない場合はステップＳ６をスキップする。算術符号化器７は、その判定結果を識別するための初期値フラグを作成し、それを符号化データとともに多重化器４に出力する。なお、初期値として使われた確率表が符号化されないのは、例えば、次に確率表が初期化されるまでのデータ数が十分に多い（つまり十分に学習するのに必要なデータ数が全体のデータ数に占める割合が小さく、そのため学習効率がよい）場合や、又は、初期値として使われた確率表が学習によって得られる最適な確率表とほとんど一致する場合、または完全に一致する場合などである。
【００６８】
ステップＳ６では、確率表更新器８の確率表を確率表符号化器６で符号化する。
【００６９】
以上に述べた符号化方法では、最初のサブデータの符号化を除いて、符号化したサブデータの値に基づいて確率表が更新され、確率を確率表から取得しているため、圧縮効率が向上する。特に、サブデータの符号化に用いられる確率表は、直前のサブデータの算術符号化により更新された確率表であるため、リアルタイムで符号化ができ、符号化が高速化する。しかも画像の空間的又は時間的相関により十分な圧縮効率が得られる。
【００７０】
なお、所定単位データの初期値を自らの算術符号化により得られた確率表を用いて算術符号化してもよい。その場合は、当該所定単位データと直前の所定単位データの内容が大きく異なる場合でも、圧縮効率が高い。
【００７１】
図４に示すフローチャートは、図３に示すフローチャートの変形例であり、ステップＳ６において確率表更新器８の符号表を確率表符号化器６で符号化する際に、確率表の一部のみを符号化する場合を示している。この場合は、符号量を削減することができ、さらに取得された確率表のうち生起確率が高い符号化済みデータに対応する部分のみを符号化する方法を採用することで、復号化の際に十分に正しく復号化できる。生起確率の低いデータに対応する部分は、所定の初期値で初期化する。ステップＳ７では、確率表で符号化されていなかった部分を所定の初期値で初期化する。すなわち、確率表の重要な部分だけを符号化した場合は、符号化していない部分を所定の初期値で初期化することで、確率表の符号化が指示された場合に確率表の全ての確率をそれまでの確率表の値に依らず特定の値にすることができ、符号化装置と復号化装置で確率表を一致させることができる。
【００７２】
〈２〉ヘッダ符号化器の動作
ヘッダ符号化器３は、入力されたヘッダデータを符号化し、ヘッダ符号化データを多重化器４に出力する。
【００７３】
〈３〉多重化器の動作
多重化器４は、算術符号化器７、ヘッダ符号化器３、確率表符号化器６から出力されてくるデータから所定のビットストリームを生成し、それを伝送路に出力する。
【００７４】
図５は、画像データのストリーム構造の一例を示す図である。図５に示されるように、ストリームは、ヘッダ等の共通情報領域とＧＯＰ（Group Of Picture）領域から構成されている。ＧＯＰ領域は、ヘッダ等の共通情報領域と複数のピクチャ（picture ）領域から構成されている。ピクチャ領域は、ヘッダ等の共通情報領域と複数のスライス（slice）データ領域から構成される。スライスデータ領域は、ヘッダ等の共通情報領域と複数のマクロブロック（macro block）データ領域から構成される。
【００７５】
また、ストリームが連続したビットストリームでなく、細切れのデータの単位であるパケット等で伝送する場合はヘッダ部とヘッダ以外のデータ部を分離して別に伝送してもよい。その場合は、図５のようにヘッダ部とデータ部が１つのビットストリームとなることはない。しかしながら、パケットの場合は、ヘッダ部とデータ部の伝送する順序が連続しなくても、対応するデータ部に対応するヘッダ部が別のパケットで伝送されるだけであり、１つのビットストリームとなっていなくても、概念は図５で説明したビットストリームの場合と同じである。
【００７６】
図６は、画像データのストリーム構造の他の例を示す図である。このストリーム構造は図５に示したストリーム構造とは基本的な構造は同じである。そこで、以下、異なる点のみを説明する。このストリーム構造は、ＧＯＰとピクチャはそれぞれヘッダを有しておらず、スライスのみがヘッダを有している。ＧＯＰとピクチャは、共通情報としての各種パラメータ（parameter）を先頭に有している。パラメータはヘッダに相当するものであるが、パラメータが更新されない限りはそのパラメータが後続のピクチャでも有効な点が異なっている。例えば、ピクチャ・ヘッダに相当するパラメータは、次にピクチャ・ヘッダに相当するパラメータが伝送されるまでのピクチャの全てのピクチャ・ヘッダという意味を有している。
【００７７】
図７は、前述の所定単位データが画像データのピクチャである場合に多重化器４から出力されるビットストリームのデータ構造を示す。ピクチャは、一般に、ヘッダと、符号化サブデータとしての複数のスライスとから構成されている。ヘッダは、１ピクチャ内の符号化データの開始を表すものであり、各スライスに共通のデータ（例えば、ピクチャ符号化タイプ（画面内符号化ピクチャと、画面間予測符号化ピクチャの区別）、ピクチャの符号化順序もしくは表示順序を示す番号等のパラメータ）から主に構成されている。
【００７８】
ヘッダ内には初期値フラグが配置されている。初期値フラグは、初期値として用いられた確率表が符号化されたか否かを識別するためのフラグであり、確率表が符号化された場合は”１”となり、符号化されていない場合は”０”となる。
【００７９】
さらに、ヘッダ内には、図７（ａ）に示すように、確率表初期値としての確率表符号化データが配置されている。確率表が符号化されなかった場合は、確率表符号化データは確率表符号化器６から多重化器４には出力されておらず、その結果図７（ｂ）に示すようにビットストリームには確率表符号化データは配置されていない。
【００８０】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器３によって符号化される共通データ部分と、算術符号化器７によって生成された初期値フラグと、確率表符号化器６により符号化された確率表符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと確率表符号化データがその順番で挿入されている。
【００８１】
図８は、所定単位データが画像データのスライスである場合に多重化器４から出力されるビットストリームのデータ構造を示す。スライスは、一般に、ヘッダと、符号化サブデータとしての複数のブロック（又はマクロブロック）とから構成されている。ヘッダは、１スライス内の符号化データの開始を表すものであり、各スライスに共通のデータ（開始符号、量子化スケール等のパラメータ）から主に構成されている。さらに、ヘッダ内には初期値フラグが配置されている。初期値フラグは、初期値として用いられた確率表が符号化されたか否かを識別するためのフラグであり、確率表が符号化された場合は”１”となり、符号化されていない場合は”０”となる。
【００８２】
さらに、ヘッダ内には、図８（ａ）に示すように、確率表初期値としての確率表符号化データが配置されている。確率表が符号化されなかった場合は確率表符号化器６からは確率表符号化データは多重化器４には出力されておらず、その結果図８（ｂ）に示すようにビットストリームには確率表符号化データは配置されていない。
【００８３】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器３によって符号化された共通データ部分と、算術符号化器７によって生成された初期値フラグと、確率表符号化器６により符号化された確率表符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと確率表符号化データがその順番で挿入されている。
【００８４】
なお、前記実施形態では、確率表に関する情報として、確率表自体を符号化してヘッダ内に埋め込んでいたが、代わりに、取得された確率表を示す情報（例えば、計算式、確率表を示すフラグ、これらの組合せを示す情報）を符号化してヘッダ内に埋め込んでもよい。その場合は、確率表そのものを符号化するのではないため、符号化量を削減できる。
【００８５】
さらに、取得された確率表を示す情報としては、例えば、ヘッダ内の共通データの一部を利用することができる。その場合は、その情報は所定単位データに対する共通データの一部としての機能も有しているため、符号化量をさらに削減できる。共通データの例としては、例えば、所定単位データがピクチャの場合は、ピクチャ符号化タイプ（画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別）、ピクチャの量子化パラメータの初期値などがある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序、動きベクトルや画像サイズ等のパラメータがある。所定単位データがスライスの場合は、スライス符号化タイプ（画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別）、スライスの量子化パラメータの初期値などがある。
【００８６】
更に、初期値を必ず更新するようにして、つまり、必ず初期値を送るようにして初期値フラグを省略しても良い。
【００８７】
（３）可変長復号化装置の構成
〈１〉本発明に係る可変長復号化装置
図９は、本発明の一実施形態としての可変長復号化装置１１の概略構成ブロック図である。可変長復号化装置１１は、例えば可変長符号化装置１によって符号化されたデータを復号化するための装置である。画像データを対象としている場合は、可変長復号化装置１１は、データをエントロピー復号化し、変換画像情報を得る機能を有している。
【００８８】
可変長復号化装置１１は、主に、データ復号化部１２と、ヘッダ復号化器１３とを備えている。
【００８９】
データ復号化部１２は、ヘッダ以外のデータを所定単位データごとに算術復号化するための装置であり、算術復号化器１７と、確率表更新器１８と、初期化部１９とを備えている。なお、ここでいう所定単位データとは、画像データの場合はピクチャ又はスライスを意味する。
【００９０】
算術復号化器１７は、符号化データが入力されると、発生データを確率表更新器１８に出力するとともに、データを確率表更新器１８から出力される確率表すなわち符号語に基づいて符号化データを復号化するための装置である。
【００９１】
確率表更新器１８は、確率表を更新する機能を有しており、算術復号化器１７から出力された発生データの生起確率に応じて確率表を更新しながら、その確率表すなわち符号語を算術復号化器１７に出力するための装置である。
【００９２】
初期化部１９は、確率表の初期化指令を確率表更新器１８に対して出力するための装置である。
【００９３】
ヘッダ復号化器１３は、ヘッダ符号化データを固定的な復号化方法で復号化するための装置である。
【００９４】
可変長復号化装置１１は、さらに、確率表復号化器１６を備えている。確率表復号化器１６は、確率表符号化データを固定的な復号化方法で復号化するための装置である。
【００９５】
分離化器１４は、ビットストリームを、ヘッダ符号化データと、ヘッダ以外の符号化データと、確率表符号化データとに分離し出力するための装置である。
【００９６】
〈２〉一般的な画像復号化装置
ここで、図１０のブロック図を用いて、一般的な画像復号化装置２００の内部構成を説明する。画像復号化装置２００は、主に、予測データ生成部２０２と、変換復号化部２０４と、加算器２０６と、エントロピー復号化部２０７とから構成されている。なお、前述のデータ復号化部１２はエントロピー復号化部２０７に対応している。
【００９７】
エントロピー復号化部２０７は、確率表に基づいて、入力されたストリームのデータに対してエントロピー復号化を施し、そのデータを変換復号化部２０４および予測データ生成部２０２に出力する。エントロピー復号化とは、エントロピー符号化の逆方向の処理であり、この実施形態では算術復号化である。
【００９８】
予測データ生成部２０２は、動き補償器２１２と、ピクチャメモリ２１３とを有している。ピクチャメモリ２１３には、加算器２０６から出力画像が参照画像として出力され、貯えられている。動き補償器２１２は、エントロピー復号化部２０７で復号化された動きベクトルＭＶに基づいて、ピクチャメモリ２１３に格納されている参照画像から動きベクトルMVに対応する画像データを予測画像として作成し（動き補償）、それを加算器２０６に出力する。なお、画面内符号化の場合は動き補償された参照画像の画素値を０とし、加算器２０６では加算を行わないで入力されたデータをそのまま出力する。また、復号化された動きベクトルはピクチャメモリ２１３に格納される。
【００９９】
変換復号化部２０４は、エントロピー復号化部２０７からの出力にデータ伸長処理を施して、伸長データを出力する。変換復号化部２０４は逆量子化器２１４と逆直交変換器２１５とから構成されている。逆量子化器２１４は、エントロピー復号化部２０７からの出力を逆量子化し、それを逆直交変換器２１５に出力する。逆直交変換器２１５は、逆量子化器２１４からの出力に対して、周波数領域のデータを空間領域のデータに変換する逆離散コサイン変換処理（ＩＤＣＴ処理）を施して、伸長データを加算器２０６に出力する。
【０１００】
加算器２０６は、変換復号化部２０４からの画像データと動き補償器２１２からの予測画像とを加算した画像データを出力画像として外部に出力し、さらにピクチャメモリ２１３にも出力する。
【０１０１】
（４）可変長復号化装置の動作
〈１〉分離化器の動作
分離化器１４は、ビットストリームを分離し、ヘッダ符号化データをヘッダ復号化器１３に出力し、ヘッダ以外の符号化データを算術復号化器１７に出力し、確率表符号化データがある場合はそれを確率表復号化器１６に出力する。なお、ヘッダ復号化器１３は、復号化されたヘッダ内の初期値フラグを初期化部１９に出力する。
【０１０２】
〈２〉ヘッダ復号化器の動作
ヘッダ復号化器１３は、分離化器１４から出力されたヘッダ符号化データを復号化し、ヘッダデータを出力する。
【０１０３】
〈３〉データ復号化部及び確率表符号化器の動作
図１１は、データ復号化部１２及び確率表復号化器１６の概略動作を示すフローチャートである。
【０１０４】
ステップＳ２１では、初期化部１９が確率表更新器１８を初期化し、所定の確率表が初期値に設定される。
【０１０５】
ステップＳ２２では、初期化部１９が、ヘッダ内に埋め込まれていた初期値フラグによって、確率表が符号化されているか否かを判定する。確率表が符号化されていると判定するとステップＳ２３に移行し、確率表が符号化されていないと判定するステップＳ２３をスキップしてステップＳ２４に移行する。
【０１０６】
ステップＳ２３では、確率表更新器１８が、確率表復号化器１６から出力されてきた確率表で、確率表を更新する。確率表復号化器１６に入力される確率表符号化データは、確率表の全ての場合もあれば、確率表の一部のみの場合もある。確率表の一部のみが符号化されている場合でも、取得された確率表のうち生起確率が高い符号化済みデータに対応する部分が符号化されていれば、後述する復号化作業において正しく復号化できる。なお、符号表の一部のみが符号化されていた場合には、符号化されていない確率表はステップＳ２１と同じ値で初期化する。
【０１０７】
なお、確率表そのものではなく確率表を示す情報を符号化している場合は、最初にその情報を復号化し、次に確率表更新器１８がその情報の示す確率表を選択する。
【０１０８】
ステップＳ２４では、算術復号化器１７と確率表更新器１８とが協働して、サブデータを算術復号化する。具体的には、算術復号化器１７は、確率表更新器１８からの確率表に基づいて符号化サブデータを復号化して、データを出力する。所定単位データが例えばピクチャである場合は、スライスが復号化される。ステップＳ２６では、算術復号化器１７の発生データを確率表更新器１８に出力し、確率表更新器１８は発生データにより確率表を書き換える。この更新された確率表は、次のサブデータをステップＳ２４で復号化する際に利用される。
【０１０９】
ステップＳ２５では、全てのサブデータの復号化が終了したか否かを判断する。全て終了していないと判断するとステップＳ２４に戻り、前述の動作を繰り返す。
【０１１０】
（５）上記符号化方法及び復号化方法の効果
〈１〉前述の符号化及び復号化方法では、各サブデータは算術符号化により取得された確率表に基づいて符号化されているため、圧縮効率が向上している。言い換えると、この符号化及び復号化方法では、全体のデータ数が小さくそのため従来であれば学習によって最適な符号化が得られるまでの符号化済みのデータ数の割合を無視できないようなデータであっても、高い学習効率によって圧縮効率を高めることができる。
【０１１１】
また、初期化された確率表は符号化され、符号化された所定単位データのヘッダ内に配置されているため、復号化の際にはその確率表を初期値として、符号化された所定単位データを正しく復号化することができる。
【０１１２】
〈２〉前述の符号化及び復号化方法では、ピクチャ又はスライス単位で確率表を符号化しているため、確率表を符号化する頻度が適切である。第１に、伝送路誤りで学習すべき符号化データの一部が欠落し、符号化時と同じ確率表が復号化時に再現できなくなった場合でも、高頻度で符号化された確率表を復号化することで数秒以上画像が再生不可能となる状態が生じることがない。これがストリームやＧＯＰ単位である場合は、確率表の符号化の頻度が低く、学習すべき符号化データの一部が伝送路で欠落し確率表が再現できない場合には数秒以上画像が再生不可能となる状態が生じてしまう。第２に、確率表のデータ量の冗長が大きくなることもない。これがブロック（又はマクロブロック）単位である場合は、初期化のデータの冗長が大きくなりすぎる。
【０１１３】
〈３〉前述の符号化及び復号化方法では、画像データの本体は算術符号化によって圧縮効率が高くなっている。その一方、共通データであるヘッダは固定的な符号化方法で簡単にかつ静的に符号化されている。より詳細には、ヘッダのうち、本来のヘッダである部分は固定的な符号化方法で符号化され、挿入された確率表初期値も固定的な符号化方法で符号化されている。もともとヘッダは画像データの本体に比べて圧縮効果が低いため、固定的な符号化方法を使用しても全体の圧縮効率の点からは特に大きな問題にはならない。
【０１１４】
２．第２実施形態
（１）可変長符号化装置の構成
図１２は、本発明の一実施形態としての可変長符号化装置２１の概略構成ブロック図である。可変長符号化装置２１は、入力されたデータを可変長符号化し、ビットストリームを生成するための装置である。特に、この可変長符号化装置２１は、主たる符号化方法として複数の可変長符号表を切り換えることを特徴としている。可変長符号化の代表例としては、ハフマン符号化がある。以下、説明ではハフマン符号化を例として説明する。
【０１１５】
可変長符号化装置２１に入力されるデータは、様々な種類があり得るが、この実施形態では画像データが入力されるものとして説明する。すなわち、可変長符号化装置２１は、情報変換された画像信号をエントロピー符号化する機能を有している。特にＭＰＥＧ方式においては、この可変長符号化装置２１に入力される画像データは、量子化されたＤＣＴ係数や動きベクトルなどである。
【０１１６】
可変長符号化装置２１は、主に、データ符号化部２２と、ヘッダ符号化器２３とを備えている。
【０１１７】
データ符号化部２２は、ヘッダ以外のデータを所定単位データごとにハフマン符号化するための装置であり、可変長符号化器２７と、符号表選択部２８と、初期化部２９とを備えている。なお、各所定単位データは複数のサブデータから構成されており、所定単位データがピクチャの場合にサブデータはスライス、マクロブロック又はブロックであり、所定単位データがスライスの場合にサブデータはマクロブロック又はブロックである。また、データ符号化部２２は、前述の図２で示した一般的な画像符号化装置１００においては、エントロピー符号化部１０７に対応している。
【０１１８】
可変長符号化器２７は、データが入力されると、発生データを符号表選択部２８に出力するとともに、符号表選択部２８によって切り換えられた可変長符号表３０すなわち符号語に基づいてデータを符号化するための装置である。
【０１１９】
符号表選択部２８は、可変長符号化器２７から出力された発生データの生起確率に応じて、スイッチ２５に対して符号表選択信号を出力するための装置である。
【０１２０】
スイッチ２５は、符号表選択部２８から出力される符号表選択信号に従って、可変長符号化器２７が符号化の際に使用する可変長符号表３０を切り換えるための装置である。
【０１２１】
初期化部２９は、符号表選択部２８に対して符号表選択信号の初期化指令を出力するための装置である。
【０１２２】
図１３に、可変長符号表３０の具体例を示す。各可変長符号表３０ａ〜３０ｃは、データとそれに対応するビット列との組み合わせから構成されている。これら可変長符号表３０ａ〜３０ｃは、白地部分（符号表３０ａにおいてはデータ１以降、符号表３０ｂにおいてはデータ２以降、符号表３０ｃにおいてはデータ４以降）に、共通のビット列が採用されている。また、網掛け部分（符号表３０ａにおいてはデータ０、符号表３０ｂにおいてはデータ０，１、符号表３０ｃにおいてはデータ０〜３）には異なるビット列が採用されている。網掛け部分のデータは生起確率が比較的高いものであり、生起確率が高いデータを１ビットで処理できるならば符号表３０ａが選択され、生起確率が高いデータを２ビットで処理できるならば符号表３０ｂが選択され、生起確率が高い符号を３ビットで処理できるならば符号表３０ｃが選択される。それに対して、白地部分の符号は生起確率が比較的低いものである。このように、生起確率の比較的低いデータに対して共通のビット列を配置することで、異なる可変長符号表を少ないデータ量で用意することができてメモリを削減でき、さらに符号化作業も簡単になる。
【０１２３】
ヘッダ符号化器２３は、ヘッダデータを固定的な符号化方法で符号化するための装置である。
【０１２４】
可変長符号化装置２１は、さらに、選択信号符号化器２６を備えている。選択信号符号化器２６は、符号表選択部２８から出力されてきた符号表選択信号を固定的な符号化方法で符号化するための装置である。
【０１２５】
多重化器２４は、ヘッダ符号化器２３から出力されてくるヘッダ符号化データと、可変長符号化器２７から出力されてくるヘッダ以外の符号化データと、選択信号符号化器２６から出力されてくる選択信号符号化データとを多重化して、符号列（ビットストリーム）を生成し、さらにそれを伝送路に出力するための装置である。
【０１２６】
（２）可変長符号化装置の動作
〈１〉データ符号化部及び選択信号符号化器の動作
図１４は、データ符号化部２２及び選択信号符号化器２６の概略動作を示すフローチャートである。
【０１２７】
ステップＳ３１では、初期化部２９が符号表選択部２８に初期化指令を出力し、符号表選択部２８が所定の選択表符号信号をスイッチ２５に出力する。この結果、スイッチ２５は所定の可変長符号表３０を所定単位データ符号化の初期値として選択する。この初期化動作において、初期化部２９及び符号表選択部２８は、ヘッダ内の初期化情報に基づいて所定の可変長符号表３０を選択する。なお、図１２において、ヘッダデータが初期化部２９及び符号表選択部２８に送られる線はは省略されている。
【０１２８】
ステップＳ３２では、可変長符号化器２７と符号表選択部２８とが協働して、サブデータをハフマン符号化する。より具体的には、符号表選択部２８はこれまでの発生データにより符号表選択信号をスイッチ２５に出力する。スイッチ２５は、符号表選択信号に基づいて可変長符号表３０を切り換え、可変長符号化器２７は選択された可変長符号表３０の符号語によってサブデータを符号化する。また、各所定単位データは複数のサブデータから構成されており、具体的には所定単位データがピクチャである場合はスライス、マクロブロック又はブロックが符号化され、所定単位データがスライスである場合はマクロブロック又はブロックが符号化される。
【０１２９】
ステップＳ３３では、サブデータを符号表選択部２８に出力し、符号表選択部２８はサブデータの発生頻度を更新して次にスイッチ２５を切り換える際に、どの符号表を選択すべきかの指標とする。この実施形態では、この符号表が次のサブデータを可変長符号化する際に用いられることになる。
【０１３０】
ステップＳ３４では、全てのサブデータの符号化が終了したか否かを判断する。全て終了していないと判断するとステップＳ３２に戻り、前述の動作を繰り返す。
【０１３１】
ステップＳ３５では、初期値として用いた可変長符号表３０を示す情報（すなわち符号表選択信号）を符号化するか否かが判定される。符号化する場合はステップＳ３６に進み、符号化しない場合はステップＳ３６をスキップする。なお、初期値として使われた可変長符号表が符号化されないのは、例えば、次に可変長符号表が初期化されるまでのデータ数が十分に多い（つまり十分に学習するのに必要なデータ数が全体のデータ数に占める割合が小さく、そのため学習効率がよい）場合や、又は、初期値として使われた可変長符号表が学習によって選択される最適な符号表と一致する場合などである。可変長符号化器２７は、その判定結果を識別するための初期値フラグを作成し、それを符号化データとともに多重化器２４に出力する。
【０１３２】
ステップＳ３６では、符号表選択部２８が当該可変長符号表を示す符号表選択信号を選択信号符号化器２６に出力する。
【０１３３】
以上に述べた符号化方法では、最初のサブデータの符号化を除いて、符号化したサブデータの値に基づいて可変長符号表が選択されているため、サブデータの圧縮効率が向上する。特に、サブデータの符号化に用いられる可変長符号表は、直前のサブデータのハフマン符号化により選択された可変長符号表であるため、リアルタイムで符号化ができ、符号化が高速化になり、しかも画像の空間的又は時間的相関により十分な圧縮効率が得られる。
【０１３４】
〈２〉ヘッダ符号化器の動作
ヘッダ符号化器２３は、入力されたヘッダデータを符号化し、それを多重化器２４に出力する。
【０１３５】
〈３〉多重化器の動作
多重化器２４は、可変長符号化器２７、ヘッダ符号化器２３及び選択信号符号化器２６から出力されてくるデータから所定のビットストリームを生成し、伝送路に出力する
図１５は、前述の所定単位データが画像データのピクチャである場合に多重化器２４から出力されるビットストリームのデータ構造を示す。ピクチャは、一般に、ヘッダと、符号化サブデータとしての複数のスライスとから構成されている。ヘッダは、１ピクチャ内の符号化データの開始を表すものであり、各スライスに共通のデータ（例えば、ピクチャ符号化タイプ（画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別）、ピクチャの量子化パラメータの初期値など）がある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序動きベクトルや画像サイズ等のパラメータがある。
【０１３６】
ヘッダ内には初期値フラグが配置されている。初期値フラグは、可変長符号表を示す情報が符号化されたか否かを識別するためのフラグであり、可変長符号表を示す情報が符号化された場合は”１”となり、符号化されていない場合は”０”となる。
【０１３７】
さらに、ヘッダ内には、図１５（ａ）に示すように、使用する可変長符号表を示す選択信号符号化データ（例えば、計算式、確率表を示すフラグ、これらの組合せを示す情報）が配置されている。なお、可変長符号表を示す情報が符号化されなかった場合は、選択信号符号化データは選択信号符号化器２６から多重化器２４には出力されておらず、その結果図１５（ｂ）に示すようにビットストリームには選択信号符号化データは配置されていない。
【０１３８】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器２３によって符号化された共通データ部分と、可変長符号化器２７によって生成された初期値フラグと、選択信号符号化器２６により符号化された選択信号符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと選択信号符号化データがその順番で挿入されている。
【０１３９】
図１６は、所定単位データが画像データのスライスである場合に多重化器２４から出力されるビットストリームデータ構造を示す。スライスは、一般に、ヘッダと、複数のブロック（又はマクロブロック）とから構成されている。ヘッダは、１スライス内の符号化データの開始を表すものであり、各スライスに共通のデータ（開始符号、量子化スケール等のパラメータ）から主に構成されている。
【０１４０】
共通のデータとしては、スライス符号化タイプ（画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別）、スライスの量子化パラメータの初期値などがある。
【０１４１】
さらに、ヘッダ内には初期値フラグが配置されている。初期値フラグは、可変長符号表を示す情報が符号化されたか否かを識別するためのフラグであり、情報が符号化された場合は”１”となり、符号化されていない場合は”０”となる。
【０１４２】
さらに、ヘッダ内には、図１６（ａ）に示すように、使用する可変長符号表を示す選択信号符号化データが配置されている。なお、可変長符号表が符号化されなかった場合は選択信号符号化器２６からは選択信号符号化データは多重化器２４には出力されておらず、その結果図１６（ｂ）に示すようにビットストストリームには選択信号符号化データは配置されていない。
【０１４３】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器２３によって符号化された共通データ部分と、可変長符号化器２７によって生成された初期値フラグと、選択信号符号化器２６により符号化された選択信号符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと選択信号符号化データがその順番で挿入されている。
【０１４４】
なお、本実施形態では、可変長符号表自体を符号化してヘッダ内に埋め込むのではなく、使用する可変長符号表を示す選択信号符号化データをヘッダ内に埋め込んでいる。したがって、可変長符号表そのものを符号化するのではないため、符号化量を削減できる。
【０１４５】
さらに、使用する可変長符号表を示す選択信号符号化データとしては、例えば、ヘッダ内の共通データの一部を利用することができる。その場合は、そのデータは所定単位データに対する共通データの一部としての機能も有しているため、符号化量をさらに削減できる。共通データの例としては、例えば、所定単位データがピクチャの場合は、ピクチャ符号化タイプ（画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別）、ピクチャの量子化パラメータの初期値などがある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序、動きベクトルや画像サイズ等のパラメータがある。所定単位データがスライスの場合は、スライス符号化タイプ（画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別）、スライスの量子化パラメータの初期値などがある。
【０１４６】
更に、初期値を必ず更新するようにして、初期値フラグを省略しても良い。
【０１４７】
（３）可変長復号化装置の構成
図１７は、本発明の一実施形態としての可変長復号化装置３１の概略構成ブロック図である。可変長復号化装置３１は、例えば可変長符号化装置２１によって符号化されたデータを復号化するための装置である。画像データを対象としている場合は、可変長復号化装置３１は、データをエントロピー復号化し、変換画像情報を得る機能を有している。
【０１４８】
可変長復号化装置３１は、主に、データ復号化部３２と、ヘッダ復号化器３３とを備えている。
【０１４９】
データ復号化部３２は、ヘッダ以外のデータを所定単位データごとにハフマン復号化するための装置であり、可変長復号化器３７と、選択信号復号化器３６とを備えている。なお、ここでいう所定単位データとは、画像データの場合はピクチャ又はスライスを意味する。また、データ復号化部３２は、前述の図１０で示した一般的な画像復号化装置２００においては、エントロピー復号化部２０７に対応している。
【０１５０】
可変長復号化器３７は、スイッチ３５によって、切り換えられた可変長符号表３０の符号語に基づいて、符号化データを復号化するための装置である。
【０１５１】
選択信号復号化器３６は、分離化器３４から出力される選択信号符号化データを固定的な復号化方法で復号化し、それをスイッチ３５に出力するための装置である。
【０１５２】
スイッチ３５は、選択信号復号化器３６から出力される符号表選択信号に従って、可変長復号化器３７が復号化の際に使用する可変長符号表３０を切り換えるための装置である。
【０１５３】
初期化部３９は、初期化指令を選択信号復号化器３６に対して出力するための装置である。
【０１５４】
ヘッダ復号化器３３は、ヘッダ符号化データを固定的な復号化方法で復号化するための装置である
分離化器３４は、ビットストリームを、ヘッダ符号化データと、ヘッダ以外の符号化データと、選択信号符号化データとに分離し出力するための装置である。
【０１５５】
（４）可変長復号化装置の動作
〈１〉分離化器の動作
分離化器３４は、ビットストリームを分離し、ヘッダ符号化データをヘッダ復号化器３３に出力し、ヘッダ以外の符号化データを可変長復号化器３７に出力し、選択信号符号化データがある場合はそれを選択信号復号化器３６に出力する。なお、ヘッダ復号化器３３は、ヘッダ内の初期値フラグについては初期化部３９に出力する。
【０１５６】
〈２〉ヘッダ復号化器の動作
ヘッダ復号化器３３は、分離化器３４から出力されたヘッダ符号化データを復号化し、ヘッダデータを出力する。
【０１５７】
〈３〉データ復号化部の動作
図１８は、データ復号化部３２の概略動作を示すフローチャートである。
【０１５８】
ステップＳ５１では、初期化部３９が選択信号復号化器３６に初期化指令を出力し、選択信号復号化器３６が所定の選択表符号信号をスイッチ３５に出力する。この結果、スイッチ３５が所定の可変長符号表３０を所定単位データの復号化の初期値として選択する。
【０１５９】
ステップＳ５２では、可変長復号化器３７が、ヘッダ内に埋め込まれていた初期値フラグによって、使用する可変長符号表を示す情報が符号化されているか否かを判断する。可変長符号表を示す情報が符号化されていると判断するとステップＳ５３に移行し、符号化されていないと判断するステップＳ５３をスキップしてステップＳ５４に移行する。
【０１６０】
ステップＳ５３では、スイッチ３５が、選択信号復号化器３６から出力されてきた選択信号に基づいて、それが示す可変長符号表３０を選択する。
【０１６１】
ステップＳ５４では、可変長復号化器３７がサブデータをハフマン復号化する。より具体的には、可変長復号化器３７は、スイッチ３５によって選択された可変長符号表３０に基づいて、符号化サブデータを復号化して、データを出力する。所定単位データが例えばピクチャである場合は、スライスが復号化される。ステップＳ５６では、可変長復号化器３７は発生データによりスイッチ３５を介して可変長符号表３０を選択する。この選択された可変長符号表３０は、次のサブデータをステップＳ５４で復号化する際に利用される。
【０１６２】
ステップＳ５５では、全てのサブデータの復号化が終了したか否かを判断する。全て終了していないと判断するとステップＳ５２に戻り、前述の動作を繰り返す。
【０１６３】
（５）上記符号化方法及び復号化方法の効果
〈１〉前述の符号化及び復号化方法では、各サブデータはハフマン符号化により取得された可変長符号表に基づいて符号化されているため、圧縮効率が向上している。言い換えると、この符号化及び復号化方法では、全体のデータ数が小さくそのため従来であれば学習によって最適な符号化が得られるまでの符号化済みのデータ数の割合を無視できないようなデータであっても、高い学習効率によって圧縮効率を高めることができる。
【０１６４】
また、初期化された可変長符号表を示す情報は符号化され、符号化された所定単位データのヘッダ内に配置されているため、復号化の際にはその情報が示す可変長符号表を初期値として、符号化された所定単位データを正しく復号化することができる。
【０１６５】
〈２〉前述の符号化及び復号化方法では、ピクチャ又はスライス単位で可変長符号表を符号化しているため、可変長符号表を示す情報を符号化する頻度が適切である。第１に、伝送路誤りで選択信号符号化データが破壊された場合でも数秒以上画像が再生不可能となる状態が生じることがない。これがストリームやＧＯＰ単位である場合は、可変長符号表を示す情報の符号化の頻度が低く、伝送路で選択信号符号化データ破壊された場合には数秒以上画像が再生不可能となる状態が生じてしまう。第２に、可変長符号表を示す情報のデータ量の冗長が大きくなることもない。これがブロック（又はマクロブロック）単位である場合は、初期化のデータの冗長が大きくなりすぎる。
【０１６６】
〈３〉前述の符号化及び復号化方法では、画像データの本体は複数の可変長符号表を切り換えるハフマン符号化によって圧縮効率が高くなっている。その一方、共通データであるヘッダは固定的な符号化方法で符号化されている。より詳細には、ヘッダのうち、本来のヘッダである部分は固定的な符号化方法で符号化され、挿入された可変長符号表を示す情報も固定的な符号化方法で符号化されている。もともとヘッダは画像データの本体に比べて圧縮効果が低いため、固定的な符号化方法を使用しても全体の圧縮効率の点からは特に大きな問題にはならない。
【０１６７】
３．記録媒体の実施の形態
さらに、上記各実施の形態で示した可変長符号化方法または可変長復号化方法の構成を実現するためのプログラムを、フロッピーディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０１６８】
図１９は、上記第実施形態の可変長符号化方法または可変長復号化方法を格納したフロッピーディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【０１６９】
図１９（ｂ）は、フロッピーディスクの正面からみた外観、断面構造、及びフロッピーディスクを示し、図１９（ａ）は、記録媒体本体であるフロッピーディスクの物理フォーマットの例を示している。フロッピーディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフロッピーディスクでは、上記フロッピーディスクＦＤ上に割り当てられた領域に、上記プログラムとしての可変長符号化方法または可変長復号化方法が記録されている。
【０１７０】
また、図１９（ｃ）は、フロッピーディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフロッピーディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての可変長符号化方法または可変長復号化方法をフロッピーディスクドライブを介して書き込む。また、フロッピーディスク内のプログラムにより上記可変長符号化方法または可変長復号化方法をコンピュータシステム中に構築する場合は、フロッピーディスクドライブによりプログラムをフロッピーディスクから読み出し、コンピュータシステムに転送する。
【０１７１】
なお、上記説明では、記録媒体としてフロッピーディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＣＤ−ＲＯＭ、メモリカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１７２】
４．本願発明の応用例とそれを用いたシステム
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
【０１７３】
図２０は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０７〜ex１１０が設置されている。
【０１７４】
このコンテンツ供給システムex１００は、例えば、インターネットex１０１にインターネットサービスプロバイダex１０２および電話網ex１０４、および基地局ｅｘ１０７〜ｅｘ１１０を介して、コンピュータex１１１、ＰＤＡ（personal digital assistant）ex１１２、カメラex１１３、携帯電話ex１１４、カメラ付きの携帯電話ｅｘ１１５などの各機器が接続される。
【０１７５】
しかし、コンテンツ供給システムex１００は図１７のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex１０７〜ex１１０を介さずに、各機器が電話網ex１０４に直接接続されてもよい。
【０１７６】
カメラex１１３はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Personal Digital Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）方式、若しくはＧＳＭ（Global System for Mobile Communications）方式の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【０１７７】
また、ストリーミングサーバex１０３は、カメラex１１３から基地局ex１０９、電話網ex１０４を通じて接続されており、カメラex１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ１１６で撮影した動画データはコンピュータex１１１を介してストリーミングサーバex１０３に送信されてもよい。カメラex１１６はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex１１６で行ってもコンピュータex１１１で行ってもどちらでもよい。また、符号化処理はコンピュータex１１１やカメラex１１６が有するＬＳＩex１１７において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ex１１５で動画データを送信してもよい。このときの動画データは携帯電話ex１１５が有するＬＳＩで符号化処理されたデータである。
【０１７８】
このコンテンツ供給システムex１００では、ユーザがカメラex１１３、カメラex１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を上記実施の形態同様に符号化処理してストリーミングサーバex１０３に送信する一方で、ストリーミングサーバex１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex１１１、ＰＤＡex１１２、カメラex１１３、携帯電話ex１１４等がある。このようにすることでコンテンツ供給システムex１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【０１７９】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
【０１８０】
その一例として携帯電話について説明する。
【０１８１】
図２１は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ex１１５を示す図である。携帯電話ex１１５は、基地局ex１１０との間で電波を送受信するためのアンテナex２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ex２０３、カメラ部ex２０３で撮影した映像、アンテナex２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex２０２、操作キーｅｘ２０４群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex２０８、音声入力をするためのマイク等の音声入力部ex２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex２０７、携帯電話ex１１５に記録メディアex２０７を装着可能とするためのスロット部ex２０６を有している。記録メディアex２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）の一種であるフラッシュメモリ素子を格納したものである。
【０１８２】
さらに、携帯電話ex１１５について図２２を用いて説明する。携帯電話ex１１５は表示部ex２０２及び操作キーｅｘ２０４を備えた本体部の各部を統括的に制御するようになされた主制御部ex３１１に対して、電源回路部ex３１０、操作入力制御部ex３０４、画像符号化部ex３１２、カメラインターフェース部ex３０３、ＬＣＤ（Liquid Crystal Display）制御部ex３０２、画像復号化部ex３０９、多重分離部ex３０８、記録再生部ex３０７、変復調回路部ex３０６及び音声処理部ex３０５が同期バスex３１３を介して互いに接続されている。
【０１８３】
電源回路部ex３１０は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex１１５を動作可能な状態に起動する。
【０１８４】
携帯電話ex１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等でなる主制御部ex３１１の制御に基づいて、音声通話モード時に音声入力部ex２０５で集音した音声信号を音声処理部ex３０５によってディジタル音声データに変換し、これを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。また携帯電話機ex１１５は、音声通話モード時にアンテナex２０１で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex３０６でスペクトラム逆拡散処理し、音声処理部ex３０５によってアナログ音声信号に変換した後、これを音声出力部ｅｘ２０８を介して出力する。
【０１８５】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーｅｘ２０４の操作によって入力された電子メールのテキストデータは操作入力制御部ex３０４を介して主制御部ex３１１に送出される。主制御部ex３１１は、テキストデータを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して基地局ex１１０へ送信する。
【０１８６】
データ通信モード時に画像データを送信する場合、カメラ部ex２０３で撮像された画像データをカメラインターフェース部ex３０３を介して画像符号化部ex３１２に供給する。また、画像データを送信しない場合には、カメラ部ex２０３で撮像した画像データをカメラインターフェース部ex３０３及びＬＣＤ制御部ex３０２を介して表示部ex２０２に直接表示することも可能である。
【０１８７】
画像符号化部ex３１２は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex２０３から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex３０８に送出する。また、このとき同時に携帯電話機ex１１５は、カメラ部ex２０３で撮像中に音声入力部ex２０５で集音した音声を音声処理部ex３０５を介してディジタルの音声データとして多重分離部ex３０８に送出する。
【０１８８】
多重分離部ex３０８は、画像符号化部ex３１２から供給された符号化画像データと音声処理部ex３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。
【０１８９】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex２０１を介して基地局ex１１０から受信した受信信号を変復調回路部ex３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex３０８に送出する。
【０１９０】
また、アンテナex２０１を介して受信された多重化データを復号化するには、多重分離部ex３０８は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex３１３を介して当該符号化画像データを画像復号化部ex３０９に供給すると共に当該音声データを音声処理部ex３０５に供給する。
【０１９１】
次に、画像復号化部ex３０９は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをＬＣＤ制御部ex３０２を介して表示部ex２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex３０５は、音声データをアナログ音声信号に変換した後、これを音声出力部ex２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【０１９２】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図２３に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex４０９では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex４１０に伝送される。これを受けた放送衛星ex４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex４０６で受信し、テレビ（受信機）ex４０１またはセットトップボックス（ＳＴＢ）ex４０７などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex４０２に記録した符号化ビットストリームを読み取り、復号化する再生装置ex４０３にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex４０４に表示される。また、ケーブルテレビ用のケーブルex４０５または衛星／地上波放送のアンテナex４０６に接続されたセットトップボックスex４０７内に画像復号化装置を実装し、これをテレビのモニタex４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex４１１を有する車ex４１２で衛星ex４１０からまたは基地局ex１０７等から信号を受信し、車ex４１２が有するカーナビゲーションex４１３等の表示装置に動画を再生することも可能である。
【０１９３】
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクｅｘ４２１に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅx４２０がある。更にSDカードｅｘ４２２に記録することもできる。レコーダｅｘ４２０が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクｅｘ４２１やSDカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
【０１９４】
なお、カーナビゲーションex４１３の構成は例えば図１９に示す構成のうち、カメラ部ex２０３とカメラインターフェース部ex３０３、画像符号化部ｅｘ３１２を除いた構成が考えられ、同様なことがコンピュータex１１１やテレビ（受信機）ex４０１等でも考えられる。
【０１９５】
また、上記携帯電話ex１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【０１９６】
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【０１９７】
５．他の実施形態
本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形又は修正が可能である。
【図面の簡単な説明】
【０１９８】
【図１】本発明の第１実施形態における可変長符号化装置の概略構成を示すブロック図。
【図２】一般的な画像符号化装置の概略構成を示すブロック図。
【図３】データ符号化部の概略動作を示すフローチャート。
【図４】データ符号化部の概略動作を示す、変形例のフローチャート。
【図５】画像データのストリーム構造の一例を示す図。
【図６】画像データのストリーム構造の他の例を示す図。
【図７】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図８】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図９】本発明の第１実施形態における可変長復号化装置の概略構成を示すブロック図。
【図１０】一般的な画像復号化装置の概略構成を示すブロック図。
【図１１】データ復号化部の概略動作を示すフローチャート。
【図１２】本発明の第２実施形態における可変長符号化装置の概略構成を示すブロック図。
【図１３】複数の可変長符号表の構成を示す図。
【図１４】データ符号化部の概略動作を示すフローチャート。
【図１５】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図１６】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図１７】本発明の第２実施形態における可変長復号化装置の概略構成を示すブロック図。
【図１８】データ復号化部の概略動作を示すフローチャート。
【図１９】第１及び第２実施形態の可変長符号化方法又は可変長復号化方法を格納したフロッピーディスクを用いて、コンピュータシステムにより実施する場合の説明図。
【図２０】コンテンツ供給システムの全体構成を示すブロック図。
【図２１】動画像符号化方法、動画像復号化方法を用いた携帯電話の例。
【図２２】携帯電話のブロック図。
【図２３】ディジタル放送用システムの例。
【符号の説明】
【０１９９】
１    可変長符号化装置
２    データ符号化部
３    ヘッダ符号化器
４    多重化器（情報符号化データ配置手段）
６    確率表符号化器（パラメータ表情報符号化手段）
７    算術符号化器（サブデータ符号化手段）
８    確率表更新器（パラメータ取得手段）
９    初期化部（初期化手段）
１１    可変長復号化装置
１２    データ復号化部
１３    ヘッダ復号化器
１４    分離化器
１６    確率表復号化器（パラメータ表情報復号化手段）
１７    算術復号化器（サブデータ復号化手段）
１８    確率表更新器（パラメータ取得手段）
１９    初期化部（パラメータ表初期化手段）
２１    可変長符号化装置
２２    データ符号化部
２３    ヘッダ符号化器
２４    多重化器（可変長符号表情報符号化データ配置手段）
２６    選択信号符号化器（情報符号化手段）
２７    可変長符号化器（サブデータ符号化手段）
２８    符号表選択部（可変長符号表選択手段）
２９    初期化部（初期化手段）
３０    符号表
３１    可変長復号化装置
３２    データ復号化部
３３    ヘッダ復号化器
３４    分離化器
３６    選択信号復号化器（可変長符号表情報復号化手段）
３７    可変長復号化器（サブデータ復号化手段）
３９    初期化部（可変長符号表初期化手段）
【図１】
2006238453.tif 000003
【図２】
2006238453.tif 000004
【図３】
2006238453.tif 000005
【図４】
2006238453.tif 000006
【図５】
2006238453.tif 000007
【図６】
2006238453.tif 000008
【図７】
2006238453.tif 000009
【図８】
2006238453.tif 000010
【図９】
2006238453.tif 000011
【図１０】
2006238453.tif 000012
【図１１】
2006238453.tif 000013
【図１２】
2006238453.tif 000014
【図１３】
2006238453.tif 000015
【図１４】
2006238453.tif 000016
【図１５】
2006238453.tif 000017
【図１６】
2006238453.tif 000018
【図１７】
2006238453.tif 000019
【図１８】
2006238453.tif 000020
【図１９】
2006238453.tif 000021
【図２０】
2006238453.tif 000022
【図２１】
2006238453.tif 000023
【図２２】
2006238453.tif 000024
【図２３】
2006238453.tif 000025