JP4197262B2 - 可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム - Google Patents
可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム Download PDFInfo
- Publication number
- JP4197262B2 JP4197262B2 JP2003068850A JP2003068850A JP4197262B2 JP 4197262 B2 JP4197262 B2 JP 4197262B2 JP 2003068850 A JP2003068850 A JP 2003068850A JP 2003068850 A JP2003068850 A JP 2003068850A JP 4197262 B2 JP4197262 B2 JP 4197262B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- encoding
- encoded
- variable length
- unit
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、可変長符号化方法、それに対応した可変長復号化方法、それら処理をコンピュータに行わせるプログラムを格納する記憶媒体、可変長符号化装置及びそれに対応した可変長復号化装置に関する。本発明は、特に、符号化済みのデータによって符号化方法を最適化する動的な可変長符号化方法、それに対応した可変長復号化方法、それら処理をコンピュータに行わせるプログラムを格納する記憶媒体、符号化済みのデータによって符号化方法を最適化する動的な可変長符号化装置、及びそれに対応した可変長復号化装置に関する。
【0002】
【従来の技術】
近年、画像符号化方式の国際標準化活動により、画像の圧縮、復元の技術として、静止画のJPEGや動画のMPEGなどが規格化されている。
MPEG(Moving Picture Experts Group)符号化方式は、主に、動き補償フレーム間予測ユニットと、DCT(離散コサイン変換)ユニットと、可変長符号化ユニットとから構成されている。動き補償フレーム間予測ユニットは、入力画像と前画像データとから動きベクトルを検出し、動きベクトルと前画像データとから予測誤差データを作成する。DCTユニットは予測誤差データをDCT変換する。量子化ユニットは、DCT係数を量子化し、可変長符号化ユニットは、量子化されたDCT係数や動きベクトルに符号語を割り当てていく。
【0003】
MPEG符号化方式における画像符号化データは、シーケンス、GOP(Group Of Picture)、ピクチャ、スライス、マクロブロック、ブロックの6層の階層構造を有している。ピクチャは、一枚の画像に対応する基本的符号化単位であり、複数のスライスから構成されている。スライスは、同期復帰単位であり、一つ又は複数のマクロブロックからなる帯状の領域である。
【0004】
可変長符号化とは、エントロピー符号化の一種であり、DCT変換後の係数(DCT係数)値や動きベクトル値等は生起確率に偏りがあることから、これらの値のうち生起確率が高い値には短い符号語を割り当て、生起確率が低い値には長い符号語を割り当てることにより、平均情報量を減らすものである。
可変長符号化の主な種類としては、ハフマン符号化や算術符号化がある。
【0005】
ハフマン符号化は、各シンボルを葉としたハフマン符号木により符号語を決定する方法であり、各符号に対応する符号語(ビット列)の対応表(符号表)を用いる。
ハフマン符号化では、圧縮率向上のために、変化する動画像の統計的性質に応じて符号表を作成する方法や、複数の符号表を用意しておき画像の統計的性質に応じて符号表を切り換える方法が用いられている。情報理論では、生起確率pの符号にlog2(1/p)ビットを割り当てる符号表が最も平均情報量が少ないことが証明されている。そこで、複数の符号表を切り換える方法では、符号化済みのデータから生起確率を計算し、生起確率pの符号にlog2(1/p)ビットに近いビット数が割り当てられるような符号表を選択する。
【0006】
算術符号化は、シンボルの系列を生起確率に応じて区間[0,1)に射影し、数直線上の確率空間を区間内の適当な数でバイナリ表現する手法である。算術符号化は、常に統計的性質を監視しながら符号化を行い、具体的には、画像内容に応じて確率表を書き換えつつ、確率表を参照しながら符号語を決定する。より具体的には、算術符号化では、生起確率pの符号にlog2(1/p)ビットが割り当てられるように、算術演算で用いる確率を符号化済みのデータから生起確率を逐次更新する。
【0007】
算術符号化では、ハフマン符号化とは異なり、算術演算(加減乗除)のみで符号語に相当するビット列を取得できるために、ハフマン符号化に比べて符号表を記憶するために必要なメモリ量を削減できる。また、符号化の途中で統計的性質が変わっても確率表を書き換えることで対応できる。しかしながら、算術演算、特に乗除算は高い演算能力が必要であり、低演算能力の機器では実現が困難であるという欠点も有する。
【0008】
以上に述べた動的な符号化方法では、符号化済みのデータによって動的に符号化方法を最適化していくため、固定的な符号化方法に比べて圧縮効率を向上させることができる。
【0009】
【発明が解決しようとする課題】
しかし、符号化済みデータによって動的に符号化方法を最適化する場合には、下記の問題点がある。
学習による動的符号化は、例えば、ピクチャのヘッダ以降すなわち各スライスやマクロブロック、ブロック毎に行われる。その場合には、算術符号化では各ピクチャにおける初期値に固定の確率表が用いられ、ハフマン符号化では各ピクチャにおける初期の符号表として固定の可変長符号表が用いられている。このように固定の初期値が用いられるため、初期化された後、学習によって最適な確率表や符号表が得られるまでは、符号化の圧縮効率が良いとは言えない。特に、全体のデータ数が小さい場合は、学習するために必要なデータ数の割合が大きくなり、圧縮率がそれほど高くない。
【0010】
一方、符号化済みのデータのうち学習に使用される部分が伝送路において損なわれると、復号化器において正しい学習が行えなくて復号化不能になり、画像データの場合は伝送路誤りによる画質劣化が発生する。伝送路誤りに強くするためには、定期的に学習結果をリセットすることになるが、リセット間隔を長くすると誤りに弱くなるため、リセット間隔はある程度短くならざるを得ない。
【0011】
以上のように、伝送路誤りの問題を解決することを前提とすると、現状の動的な符号化方法では、圧縮効率が十分に向上しない。
本発明の課題は、画像圧縮等に使用する可変長符号化方法の圧縮効率を向上することにある。
本発明の他の課題は、圧縮効率を向上させた可変長符号化方法により符号化されたデータを正しく復号化することにある。
【0012】
【課題を解決するための手段】
請求項1に記載の可変長符号化方法は、パラメータ表を参照しながら各所定単位データを符号化する可変長符号化方法であって、以下のステップを備えている。
◎パラメータ表を初期値に設定する初期化ステップ
◎初期化されたパラメータ表に関する情報を符号化するパラメータ表情報符号化ステップ
◎所定単位データを構成する各サブデータの符号化に用いられる符号化パラメータをパラメータ表から取得するパラメータ取得ステップ
◎サブデータを、取得された符号化パラメータを参照して可変長符号化するサブデータ符号化ステップ
◎符号化された情報を符号化された所定単位データより先に取得できる位置に配置して出力する情報符号化データ配置ステップ
また、請求項1に記載の可変長符号化方法では、符号化したサブデータの値に基づいてパラメータ表を更新し、符号化パラメータをパラメータ表から取得する。
なお、符号化パラメータとは、データの発生頻度を表すものであり、パラメータ表から取得されて、各サブデータの符号化の際に参照される。算術符号化の場合にはパラメータ表は確率表に対応し、さらに符号化パラメータは確率に対応することになるが、それらに限定されない。
【0013】
この符号化方法では、各サブデータの符号化においてパラメータ表から取得した符号化パラメータを利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化されたパラメータ表に関する情報は符号化され、符号化された所定単位データより先に取得できる位置に配置されているため、復号化の際にはそのパラメータ表を初期値として符号化された所定単位データを正しく復号化することができる。
【0014】
この符号化方法では、符号化したサブデータの値に基づいてパラメータ表を更新しているため、所定単位データを符号化する際の圧縮効率が向上する。
【0017】
請求項2に記載の可変長符号化方法では、請求項1において、サブデータ符号化ステップでは、サブデータを、符号化パラメータを参照して算術符号化する。
この符号化方法では、サブデータの符号化方法として算術符号化を用いているため、圧縮効率がよい。なお、パラメータ表は確率表に対応しており、符号化パラメータは確率に対応している。
【0018】
請求項3に記載の可変長符号化方法では、請求項1又は2において、パラメータ表に関する情報はパラメータ表そのものである。
請求項4に記載の可変長符号化方法では、請求項3において、パラメータ表情報符号化ステップでは、パラメータ表の一部のみを符号化する。
この符号化方法では、初期化されたパラメータ表の全てではなく、一部のみが符号化されるため、符号化量を削減できる。
【0019】
請求項5に記載の可変長符号化方法では、請求項4において、パラメータ表の一部は、生起確率が高い符号化済みデータに対応するパラメータ部分である。
この符号化方法では、初期化されたパラメータ表のうち生起確率が高い符号化済みデータに対応する部分のみを符号化するため、符号化量を削減しつつも、復号化の際に十分に正しく復号化できる。
【0020】
請求項6に記載の可変長符号化方法では、請求項1又は2において、パラメータ表に関する情報はパラメータ表を示す情報である。
この符号化方法では、パラメータ表を示す情報を符号化するのであってパラメータ表そのものを符号化するのではないため、符号化量を削減できる。
請求項7に記載の可変長符号化方法では、請求項6において、情報符号化データ配置ステップでは、符号化されたパラメータ表を示す情報は所定単位データに対する共通データの一部として配置される。
【0021】
この符号化方法では、パラメータ表に関する情報は所定単位データに対する共通データの一部として配置されており、その一部としての機能も有しているため、符号化量が削減できる。
請求項8に記載の可変長符号化方法では、請求項1〜7のいずれかにおいて、情報符号化ステップでは、パラメータ表に関する情報を固定的な符号化方法で符号化する。
【0022】
この符号化方法では、固定的な符号化方法を用いているため、初期化されたパラメータ表に関する情報は静的に符号化される。そのため、初期化されたパラメータ表に関する情報は確実に復号化される。
請求項9に記載の可変長符号化方法は、請求項1〜8のいずれかにおいて、初期化されたパラメータ表に関する情報を符号化するか否かを判断する符号化判断ステップと、判断結果を識別するフラグを符号化された所定単位データより先に取得できる位置に配置して出力するフラグ配置ステップとをさらに備えている。
【0023】
この符号化方法では、初期化されたパラメータ表に関する情報が符号化されたか否かは、符号化された所定単位データより先に取得できる位置に配置されたフラグによって判断できる。なお、初期値として使われたパラメータ表に関する情報が符号化されないのは、例えば、次にパラメータ表が初期化されるまでのデータ数が十分に多い(つまり十分に学習するのに必要なデータ数が全体のデータ数に占める割合が小さく、そのため学習効率がよい)場合や、又は、初期値として使われたパラメータ表が学習によって得られる最適なパラメータ表とほとんど一致する場合などである。
【0024】
請求項10に記載の可変長符号化方法では、請求項1〜9のいずれかにおいて、所定単位データは画像データにおけるピクチャである。
この符号化方法では、全画像データ内でパラメータ表を符号化する頻度が適切であり、そのため、伝送路誤りで学習すべき符号化データの一部が欠落し、符号化時と同じパラメータ表が復号化時に再現できなくなった場合でも、高頻度で符号化されたパラメータ表を復号化することで数秒以上画像が再生不可能となる状態が生じることがなく、またパラメータ表のデータ量の冗長が大きくなることもない。
【0025】
請求項11に記載の可変長符号化方法では、請求項1〜9のいずれかにおいて、所定単位データは画像データにおけるスライスである。
この符号化方法では、全画像データ内でパラメータ表を符号化する頻度が適切であり、そのため、伝送路誤りで学習すべき符号化データの一部が欠落し、符号化時と同じパラメータ表が復号化時に再現できなくなった場合でも、高頻度で符号化されたパラメータ表を復号化することで数秒以上画像が再生不可能となる状態が生じることがなく、またパラメータ表のデータ量の冗長が大きくなることもない。
【0028】
請求項12に記載の記憶媒体は、コンピュータに可変長符号化処理を行わせるためのプログラムを格納したものである。可変長符号化処理は、パラメータ表を参照しながら各所定単位データを符号化する可変長符号化方法であって、以下のステップを備えている。
【0029】
◎パラメータ表を初期値に設定する初期化ステップ
◎初期化されたパラメータ表に関する情報を符号化するパラメータ表情報符号化ステップ
◎所定単位データを構成する各サブデータの符号化に用いられる符号化パラメータをパラメータ表から取得するパラメータ取得ステップ
◎サブデータを、取得された符号化パラメータを参照して可変長符号化するサブデータ符号化ステップ
◎符号化された情報を符号化された所定単位データより先に取得できる位置に配置して出力する情報符号化データ配置ステップ
この記憶媒体では、格納されたプログラムをコンピュータにロードすることにより、コンピュータに可変長符号化処理を行わせる。その処理において、各サブデータの符号化においてパラメータ表から取得した符号化パラメータを利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化されたパラメータ表に関する情報は符号化され、符号化された所定単位データ符号化された所定単位データより先に取得できる位置に配置されているため、復号化の際にはそのパラメータ表を初期値として符号化された所定単位データを正しく復号化することができる。
【0031】
請求項13に記載の可変長符号化方法は、可変長符号表を切り換えながら各所定単位データを符号化する可変長符号化方法であって、以下のステップを備えている。
◎可変長符号表を初期値に設定する初期化ステップ
◎初期化された可変長符号表を示す情報を符号化する可変長符号表情報符号化ステップ
◎所定単位データを構成する各サブデータの符号化に用いられる可変長符号表を選択する可変長符号表選択ステップ
◎サブデータを、選択された可変長符号表を参照して符号化するサブデータ符号化ステップ
◎符号化された可変長符号表を示す情報を符号化された所定単位データより先に取得できる位置に配置して出力する情報符号化データ配置ステップ
この符号化方法では、各サブデータの符号化において選択された可変長符号表を利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化された可変長符号表を示す情報は符号化され、符号化された所定単位データより先に取得できる位置に配置されているため、復号化の際にはその情報が示す可変長符号表を初期値として符号化された所定単位データを正しく復号化することができる。
【0032】
請求項14に記載の可変長符号化方法では、請求項13において、符号化したサブデータの値に基づいて可変長符号表を選択する。
この符号化方法では、符号化したサブデータの値に基づいて可変長符号表を選択しているため、所定単位データを符号化する際の圧縮効率が向上する。
【0034】
請求項15に記載の可変長符号化方法では、請求項13又は14において、可変長符号表情報符号化ステップでは、固定的な符号化方法で符号化する。
【0035】
この符号化方法では、固定的な符号化方法を用いているため、初期化された可変長符号表を示す情報は確実に復号化される。
請求項16に記載の可変長符号化方法は、請求項13〜15のいずれかにおいて、初期化された可変長符号表を示す情報を符号化するか否かを判断する符号化判断ステップと、判断結果を識別するフラグを符号化された所定単位データより先に取得できる位置に配置して出力するフラグ配置ステップとをさらに備えている。
【0036】
この符号化方法では、初期化された可変長符号表を示す情報が符号化されたか否かは、符号化所定単位データより先に取得できる位置に配置されたフラグによって判断できる。なお、初期値として使われた可変長符号表を示す情報が符号化されないのは、例えば、次に可変長符号表が初期化されるまでのデータ数が十分に多い(つまり十分に学習するのに必要なデータ数が全体のデータ数に占める割合が小さく、そのため学習効率がよい)場合や、又は、初期値として使われた可変長符号表が学習によって得られる最適な可変長符号表と一致する場合などである。
【0037】
請求項17に記載の可変長符号化方法では、請求項13〜16のいずれかにおいて、所定単位データは画像データにおけるピクチャである。
この符号化方法では、全画像データ内で可変長符号表を示す情報を符号化する頻度が適切であり、そのため、伝送路誤りで情報符号化データが破壊された場合でも数秒以上画像が再生不可能となる状態が生じることがなく、また情報符号化データの量の冗長が大きくなることもない。
【0038】
請求項18に記載の可変長符号化方法では、請求項13〜16のいずれかにおいて、所定単位データは画像データにおけるスライスである。
この符号化方法では、全画像データ内で可変長符号表を示す情報を符号化する頻度が適切であり、そのため、伝送路誤りで情報符号化データが破壊された場合でも数秒以上画像が再生不可能となる状態が生じることがなく、また情報符号化データの量の冗長が大きくなることもない。
【0039】
請求項19に記載の可変長符号化方法では、請求項13〜18のいずれかにおいて、サブデータの複数のシンタックス要素は、可変長符号表を切り換える可変長符号化方法によって符号化される部分と、固定的な符号化方法によって符号化される部分とを含んでいる。
この符号化方法では、例えば画像データにおいて、可変長符号表を切り換える可変長符号化方法によってサブデータを符号化することで高い圧縮効率を得ることができるとともに、固定的な符号化方法によって共通データであるヘッダを符号化することで処理を簡単にできる。なお、ヘッダはもともと圧縮効果が少ないため、固定的な符号化方法を用いても特に支障はない。
【0041】
請求項20に記載の記憶媒体は、コンピュータに可変長符号化処理を行わせるためのプログラムを格納したものである。可変長符号化処理は、可変長符号表を切り換えながら各所定単位データを符号化する可変長符号化方法であって、以下のステップを備えている。
◎可変長符号表を初期値に設定する初期化ステップ
◎初期化された可変長符号表を示す情報を符号化する可変長符号表情報符号化ステップ
◎所定単位データを構成する各サブデータの符号化に用いられる可変長符号表を選択する可変長符号表選択ステップ
◎サブデータを、選択された可変長符号表を参照して符号化するサブデータ符号化ステップ
◎符号化された可変長符号表を示す情報を符号化された所定単位データより先に取得できる位置に配置して出力する情報符号化データ配置ステップ
この記憶媒体では、格納されたプログラムがコンピュータに行わせる符号化処理において、各サブデータの符号化において選択された可変長符号表を利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化された可変長符号表を示す情報は符号化され、符号化された所定単位データより先に取得できる位置に配置されるため、復号化の際にはその情報が示す可変長符号表を初期値として符号化された所定単位データを正しく復号化することができる。
【0043】
請求項21に記載の可変長符号化装置は、パラメータ表を参照しながら各所定単位データを符号化する可変長符号化装置であって、初期化手段と、パラメータ表情報取得手段と、パラメータ表情報符号化手段と、パラメータ取得手段と、サブデータ符号化手段と、情報符号化データ配置手段とを備えている。初期化手段は、パラメータ表を初期値に設定する。パラメータ表情報符号化手段は、初期化されたパラメータ表に関する情報を符号化する。パラメータ取得手段は、所定単位データを構成する各サブデータの符号化に用いられる符号化パラメータをパラメータ表から取得する。サブデータ符号化手段は、サブデータを、取得された符号化パラメータを参照して可変長符号化する。情報符号化データ配置手段は、符号化されたパラメータ表に関する情報を符号化された所定単位データより先に取得できる位置に配置して出力する。
【0044】
この符号化装置では、サブデータ符号化手段がサブデータを符号化する際にパラメータ表から取得した符号化パラメータを利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化されたパラメータ表に関する情報は、パラメータ表情報符号化手段によって符号化され、さらに情報符号化データ配置手段によって符号化された所定単位データより先に取得できる位置に配置されるため、復号化の際にはその情報に基づきパラメータ表を取得し、そのパラメータ表を初期値として符号化された所定単位データを正しく復号化することができる。
【0046】
請求項22に記載の可変長符号化装置は、可変長符号表を切り換えながら各所定単位データを符号化する可変長符号化装置であって、初期化手段と、可変長符号表情報符号化手段と、可変長符号表選択手段と、サブデータ符号化手段と、情報符号化データ配置手段とを備えている。初期化手段は、可変長符号表を初期値に設定する。可変長符号表情報符号化手段は、初期化された可変長符号表を示す情報を符号化する。可変長符号表選択手段は、所定単位データを構成する各サブデータの符号化に用いられる可変長符号表を選択する。サブデータ符号化手段は、サブデータを、選択された可変長符号表を参照して符号化する。情報符号化データ配置手段は、符号化された可変長符号表を示す情報を符号化された所定単位データより先に取得できる位置に配置して出力する。
【0047】
この符号化装置では、サブデータ符号化手段がサブデータを符号化する際に選択した可変長符号表を利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化された可変長符号表を示す情報は、可変長符号表情報符号化手段によって符号化され、さらに情報符号化データ配置手段によって符号化された所定単位データより先に取得できる位置に配置されるため、復号化の際にはその情報が示す可変長符号表を取得し、その可変長符号表を初期値として符号化された所定単位データを正しく復号化することができる。
【0049】
請求項23に記載のビットストリームは、パラメータ表を参照しながら各所定単位データを符号化する可変長符号化方法によって生成されたビットストリームである。この可変長符号化方法は請求項1〜11又は13〜19のいずれかに記載の可変長符号化方法である。
【0050】
このビットストリームでは、所定単位データを符号化する際の圧縮効率が向上するなど、各可変長符号化方法による効果が得られる。
【0051】
【発明の実施の形態】
1.第1実施形態
(1)可変長符号化装置の構成
▲1▼本発明に係る可変長符号化装置
図1は、本発明の一実施形態としての可変長符号化装置1の概略構成ブロック図である。可変長符号化装置1は、入力されたデータを可変長符号化し、ビットストリームを生成するための装置である。特に、この可変長符号化装置1は、主たる符号化方法として算術符号化を採用していることを特徴としている。なお、算術符号化とは、実際に発生したシンボルの生起確率に応じて動的に確率表を更新することにより符号化効率を高める符号化方法をいう。
【0052】
可変長符号化装置1に入力されるデータは、様々な種類があり得るが、この実施形態では画像データが入力されるものとして説明する。すなわち、可変長符号化装置1は、情報変換された画像信号をエントロピー符号化する機能を有している。特にMPEG方式においては、この可変長符号化装置1に入力される画像データは、量子化されたDCT係数や動きベクトルなどである。
【0053】
可変長符号化装置1は、主に、データ符号化部2と、ヘッダ符号化器3とを備えている。
データ符号化部2は、所定単位データごとにヘッダ以外のデータを算術符号化するための装置であり、算術符号化器7と、確率表更新器8と、初期化部9とを備えている。なお、ここでいう所定単位データとは、画像データの場合はピクチャ又はスライスを意味する。また、各所定単位データは複数のサブデータから構成されており、所定単位データがピクチャの場合にサブデータはスライス、マクロブロック又はブロックであり、所定単位データがスライスの場合にサブデータはマクロブロック又はブロックである。
【0054】
算術符号化器7は、データが入力されると、発生データを確率表更新器8に出力するとともに、確率表更新器8から出力される確率表すなわち符号語に基づいてデータを符号化するための装置である。
確率表更新器8は、確率表を更新する機能を有しており、算術符号化器7から出力されてきた発生データの生起確率に応じて確率表を更新しながら、その確率表すなわち符号語を算術符号化器7に出力するための装置である。
【0055】
初期化部9は、確率表更新器8に対して確率表の初期化指令を出力するための装置である。
ヘッダ符号化器3は、ヘッダデータを固定的な符号化方法で符号化するための装置である。固定的な符号化方法とは、符号化の途中で各符号に対応する符号語が変化しない方法をいい、固定長符号化方法や固定の可変長符号表を用いる可変長符号化方法を含む。固定的な符号化方法を用いているため、ヘッダデータは容易に符号化できる。
【0056】
一方、各符号に対応する符号語が変化する符号化方法を適応的な符号化方法と呼ぶ。更に適応的な符号化方法には、単純に符号と符号に対応する符号語の関係を表すテーブルを切り換える静的な符号化方法と、符号語自体を逐次更新する動的符号化がある。言い換えると、静的符号化方法とは、動的な符号化方法(動的に符号とそれに対応する符号語の対応関係を変更する算術符号化等の符号化方法)ではないことを意味する。従って、静的符号化方法よりも動的符号化方法の方が圧縮率を向上することができる。
【0057】
可変長符号化装置1は、さらに、確率表符号化器6を備えている。確率表符号化器6は、確率表更新器8から出力されてきた確率表を固定的な符号化方法で符号化するための装置である。固定的な符号化方法を用いているため、確率表は容易に符号化される。
多重化器4は、ヘッダ符号化器3から出力されてくるヘッダ符号化データと、算術符号化器7から出力されてくるヘッダ以外の符号化データと、確率表符号化器6から出力されてくる確率表符号化データとを多重化して符号列(ビットストリーム)を生成し、さらにそれを伝送路に出力するための装置である。
【0058】
▲2▼一般的な画像符号化装置
ここで、図2のブロック図を用いて、一般的な画像符号化装置100の構成を示す。画像符号化装置100は、主に、動き推定/補償部(ME/MC)102と、減算器103と、変換符号化部104と、変換復号化部105と、加算器106と、エントロピー符号化部107とから構成されている。なお、前述のデータ符号化部2はエントロピー符号化部107に対応している。
【0059】
動き推定/補償部102は、入力画像データPicInを受け、符号化対象ピクチャにおける符号化対象ブロックに対する予測ブロックのデータを生成する。動き推定/補償部102は、動き検出器(ME)111と、動き補償器(MC)112と、ピクチャメモリ113とから構成されている。
動き検出器111は、入力画像PicInが入力され、ピクチャメモリ113内の再構成画像に対する入力画像PicInの動きである動きベクトルMVを算出する。動き検出器111は、動きベクトルMVを、動き補償器112とピクチャメモリ113とエントロピー符号化部107に出力する。動き補償器112は、動き検出器111からの動きベクトルMVに基づいて、ピクチャメモリ113に格納されている再構成画像から動きに対応する画像データを参照画像として作成し(動き補償)、それを減算器103と加算器106とに出力する。ピクチャメモリ113は、再構成画像を貯え、動き検出器111や動き補償器112によって再構成画像を読み出される。なお、画面内符号化の場合は動き補償された参照画像の画素値を0とし、減算器103および加算器106では減算および加算を行わないで入力されたデータをそのまま出力する。
【0060】
減算器103は、入力画像PicInの対象データと、動き補償器112からの参照画像との差分値を求め、その差分値である差分データを変換符号化部104に出力する。
変換符号化部104は、減算器103からの差分データにデータ圧縮処理を施して、圧縮データを出力する。変換符号化部104は直交変換器114と量子化器115とから構成されている。直交変換器114は、減算器103からの差分データに対して、直交変換処理の一種である空間領域のデータを周波数領域のデータに変換する離散コサイン変換処理(DCT処理)を施し、そのデータを量子化器115に出力する。量子化器115は、直交変換器114からのDCTデータを所定の量子化ステップでもって量子化して、量子化係数を変換復号化部105とエントロピー符号化部107に出力する。
【0061】
変換復号化部105は、変換符号化部104からの出力にデータ伸長処理を施して伸長データを出力する。変換復号化部105は逆量子化器116と逆直交変換器117とから構成されている。逆量子化器116は、変換符号化部104からの出力を上記量子化ステップでもって逆量子化し、それを逆直交変換器117に出力する。逆直交変換器117は、逆量子化器116からの出力に対して、周波数領域のデータを空間領域のデータに変換する逆離散コサイン変換処理(IDCT処理)を施して、伸長データを予測残差信号として加算器106に出力する。
【0062】
加算器106は、当該マクロブロックが画面間動き補償予測符号化されている場合は、変換復号化部105からの予測残差信号と動き補償器112からの参照画像とを加算した画像データを再構成画像としてピクチャメモリ113に出力する。
エントロピー符号化部107は、DCT符号化部104からの量子化されたDCT後のデータに対してエントロピー符号化を施す。エントロピー符号化とは、0と1のビット列に対してそのビット列の統計的な性質を利用してより少ないビット列に変換する符号化のことである。
【0063】
(2)可変長符号化装置の動作
▲1▼データ符号化部及び確率表符号化器の動作
図3は、データ符号化部2及び確率表符号化器6の概略動作を示すフローチャートである。
ステップS1では、初期化部9が確率表更新器8に初期化指令を出力し、確率表更新器8は所定の確率表を所定単位データ毎に初期値に設定する。この初期化動作において、初期化部9及び確率表更新器8は、ヘッダ内の初期化情報に基づいて確率表の初期化を行う。確率表の初期化情報としては、所定単位データ全体の共通データが用いられることがある。初期化に有効な共通データの例としては、例えば、所定単位データがピクチャの場合は、ピクチャ符号化タイプ(画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別)、ピクチャの量子化パラメータの初期値などがある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序、動きベクトルや画像サイズ等のパラメータがある。所定単位データがスライスの場合は、スライス符号化タイプ(画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別)、スライスの量子化パラメータの初期値などがある。
【0064】
ステップS2では、算術符号化器7と確率表更新器8とが協働して、サブデータを算術符号化する。より具体的には、算術符号化器7は確率表更新器8から出力した確率表に基づいて、サブデータの符号化に用いられる確率を確率表から取得し、さらに、その確率を参照してデータを符号化する。具体的には所定単位データはピクチャ又はスライスであり、サブデータであるマクロブロック又はブロックが符号化される。
【0065】
ステップS3では、発生データにより、確率表更新器8で発生データの確率表を更新する。この実施形態では、この更新された確率表が、次のサブデータを算術符号化する際に用いられることになる。
ステップS4では、全てのサブデータの符号化が終了したか否かを判断する。全て終了していないと判断するとステップS2に戻り、前述の動作を繰り返す。
【0066】
ステップS5では、確率表を符号化するか否かを判定し、符号化する場合はステップS6に進み、符号化しない場合はステップS6をスキップする。算術符号化器7は、その判定結果を識別するための初期値フラグを作成し、それを符号化データとともに多重化器4に出力する。なお、初期値として使われた確率表が符号化されないのは、例えば、次に確率表が初期化されるまでのデータ数が十分に多い(つまり十分に学習するのに必要なデータ数が全体のデータ数に占める割合が小さく、そのため学習効率がよい)場合や、又は、初期値として使われた確率表が学習によって得られる最適な確率表とほとんど一致する場合、または完全に一致する場合などである。
【0067】
ステップS6では、確率表更新器8の確率表を確率表符号化器6で符号化する。
以上に述べた符号化方法では、最初のサブデータの符号化を除いて、符号化したサブデータの値に基づいて確率表が更新され、確率を確率表から取得しているため、圧縮効率が向上する。特に、サブデータの符号化に用いられる確率表は、直前のサブデータの算術符号化により更新された確率表であるため、リアルタイムで符号化ができ、符号化が高速化する。しかも画像の空間的又は時間的相関により十分な圧縮効率が得られる。
【0068】
なお、所定単位データの初期値を自らの算術符号化により得られた確率表を用いて算術符号化してもよい。その場合は、当該所定単位データと直前の所定単位データの内容が大きく異なる場合でも、圧縮効率が高い。
図4に示すフローチャートは、図3に示すフローチャートの変形例であり、ステップS6において確率表更新器8の符号表を確率表符号化器6で符号化する際に、確率表の一部のみを符号化する場合を示している。この場合は、符号量を削減することができ、さらに取得された確率表のうち生起確率が高い符号化済みデータに対応する部分のみを符号化する方法を採用することで、復号化の際に十分に正しく復号化できる。生起確率の低いデータに対応する部分は、所定の初期値で初期化する。ステップS7では、確率表で符号化されていなかった部分を所定の初期値で初期化する。すなわち、確率表の重要な部分だけを符号化した場合は、符号化していない部分を所定の初期値で初期化することで、確率表の符号化が指示された場合に確率表の全ての確率をそれまでの確率表の値に依らず特定の値にすることができ、符号化装置と復号化装置で確率表を一致させることができる。
【0069】
▲2▼ヘッダ符号化器の動作
ヘッダ符号化器3は、入力されたヘッダデータを符号化し、ヘッダ符号化データを多重化器4に出力する。
▲3▼多重化器の動作
多重化器4は、算術符号化器7、ヘッダ符号化器3、確率表符号化器6から出力されてくるデータから所定のビットストリームを生成し、それを伝送路に出力する。
【0070】
図5は、画像データのストリーム構造の一例を示す図である。図5に示されるように、ストリームは、ヘッダ等の共通情報領域とGOP(Group Of Picture)領域から構成されている。GOP領域は、ヘッダ等の共通情報領域と複数のピクチャ(picture )領域から構成されている。ピクチャ領域は、ヘッダ等の共通情報領域と複数のスライス(slice)データ領域から構成される。スライスデータ領域は、ヘッダ等の共通情報領域と複数のマクロブロック(macro block)データ領域から構成される。
【0071】
また、ストリームが連続したビットストリームでなく、細切れのデータの単位であるパケット等で伝送する場合はヘッダ部とヘッダ以外のデータ部を分離して別に伝送してもよい。その場合は、図5のようにヘッダ部とデータ部が1つのビットストリームとなることはない。しかしながら、パケットの場合は、ヘッダ部とデータ部の伝送する順序が連続しなくても、対応するデータ部に対応するヘッダ部が別のパケットで伝送されるだけであり、1つのビットストリームとなっていなくても、概念は図5で説明したビットストリームの場合と同じである。
【0072】
図6は、画像データのストリーム構造の他の例を示す図である。このストリーム構造は図5に示したストリーム構造とは基本的な構造は同じである。そこで、以下、異なる点のみを説明する。このストリーム構造は、GOPとピクチャはそれぞれヘッダを有しておらず、スライスのみがヘッダを有している。GOPとピクチャは、共通情報としての各種パラメータ(parameter)を先頭に有している。パラメータはヘッダに相当するものであるが、パラメータが更新されない限りはそのパラメータが後続のピクチャでも有効な点が異なっている。例えば、ピクチャ・ヘッダに相当するパラメータは、次にピクチャ・ヘッダに相当するパラメータが伝送されるまでのピクチャの全てのピクチャ・ヘッダという意味を有している。
【0073】
図7は、前述の所定単位データが画像データのピクチャである場合に多重化器4から出力されるビットストリームのデータ構造を示す。ピクチャは、一般に、ヘッダと、符号化サブデータとしての複数のスライスとから構成されている。ヘッダは、1ピクチャ内の符号化データの開始を表すものであり、各スライスに共通のデータ(例えば、ピクチャ符号化タイプ(画面内符号化ピクチャと、画面間予測符号化ピクチャの区別)、ピクチャの符号化順序もしくは表示順序を示す番号等のパラメータ)から主に構成されている。
【0074】
ヘッダ内には初期値フラグが配置されている。初期値フラグは、初期値として用いられた確率表が符号化されたか否かを識別するためのフラグであり、確率表が符号化された場合は”1”となり、符号化されていない場合は”0”となる。
さらに、ヘッダ内には、図7(a)に示すように、確率表初期値としての確率表符号化データが配置されている。確率表が符号化されなかった場合は、確率表符号化データは確率表符号化器6から多重化器4には出力されておらず、その結果図7(b)に示すようにビットストリームには確率表符号化データは配置されていない。
【0075】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器3によって符号化される共通データ部分と、算術符号化器7によって生成された初期値フラグと、確率表符号化器6により符号化された確率表符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと確率表符号化データがその順番で挿入されている。
【0076】
図8は、所定単位データが画像データのスライスである場合に多重化器4から出力されるビットストリームのデータ構造を示す。スライスは、一般に、ヘッダと、符号化サブデータとしての複数のブロック(又はマクロブロック)とから構成されている。ヘッダは、1スライス内の符号化データの開始を表すものであり、各スライスに共通のデータ(開始符号、量子化スケール等のパラメータ)から主に構成されている。さらに、ヘッダ内には初期値フラグが配置されている。初期値フラグは、初期値として用いられた確率表が符号化されたか否かを識別するためのフラグであり、確率表が符号化された場合は”1”となり、符号化されていない場合は”0”となる。
【0077】
さらに、ヘッダ内には、図8(a)に示すように、確率表初期値としての確率表符号化データが配置されている。確率表が符号化されなかった場合は確率表符号化器6からは確率表符号化データは多重化器4には出力されておらず、その結果図8(b)に示すようにビットストリームには確率表符号化データは配置されていない。
【0078】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器3によって符号化された共通データ部分と、算術符号化器7によって生成された初期値フラグと、確率表符号化器6により符号化された確率表符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと確率表符号化データがその順番で挿入されている。
【0079】
なお、前記実施形態では、確率表に関する情報として、確率表自体を符号化してヘッダ内に埋め込んでいたが、代わりに、取得された確率表を示す情報(例えば、計算式、確率表を示すフラグ、これらの組合せを示す情報)を符号化してヘッダ内に埋め込んでもよい。その場合は、確率表そのものを符号化するのではないため、符号化量を削減できる。
【0080】
さらに、取得された確率表を示す情報としては、例えば、ヘッダ内の共通データの一部を利用することができる。その場合は、その情報は所定単位データに対する共通データの一部としての機能も有しているため、符号化量をさらに削減できる。共通データの例としては、例えば、所定単位データがピクチャの場合は、ピクチャ符号化タイプ(画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別)、ピクチャの量子化パラメータの初期値などがある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序、動きベクトルや画像サイズ等のパラメータがある。所定単位データがスライスの場合は、スライス符号化タイプ(画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別)、スライスの量子化パラメータの初期値などがある。
【0081】
更に、初期値を必ず更新するようにして、つまり、必ず初期値を送るようにして初期値フラグを省略しても良い。
(3)可変長復号化装置の構成
▲1▼本発明に係る可変長復号化装置
図9は、本発明の一実施形態としての可変長復号化装置11の概略構成ブロック図である。可変長復号化装置11は、例えば可変長符号化装置1によって符号化されたデータを復号化するための装置である。画像データを対象としている場合は、可変長復号化装置11は、データをエントロピー復号化し、変換画像情報を得る機能を有している。
【0082】
可変長復号化装置11は、主に、データ復号化部12と、ヘッダ復号化器13とを備えている。
データ復号化部12は、ヘッダ以外のデータを所定単位データごとに算術復号化するための装置であり、算術復号化器17と、確率表更新器18と、初期化部19とを備えている。なお、ここでいう所定単位データとは、画像データの場合はピクチャ又はスライスを意味する。
【0083】
算術復号化器17は、符号化データが入力されると、発生データを確率表更新器18に出力するとともに、データを確率表更新器18から出力される確率表すなわち符号語に基づいて符号化データを復号化するための装置である。
確率表更新器18は、確率表を更新する機能を有しており、算術復号化器17から出力された発生データの生起確率に応じて確率表を更新しながら、その確率表すなわち符号語を算術復号化器17に出力するための装置である。
【0084】
初期化部19は、確率表の初期化指令を確率表更新器18に対して出力するための装置である。
ヘッダ復号化器13は、ヘッダ符号化データを固定的な復号化方法で復号化するための装置である。
可変長復号化装置11は、さらに、確率表復号化器16を備えている。確率表復号化器16は、確率表符号化データを固定的な復号化方法で復号化するための装置である。
【0085】
分離化器14は、ビットストリームを、ヘッダ符号化データと、ヘッダ以外の符号化データと、確率表符号化データとに分離し出力するための装置である。
▲2▼一般的な画像復号化装置
ここで、図10のブロック図を用いて、一般的な画像復号化装置200の内部構成を説明する。画像復号化装置200は、主に、予測データ生成部202と、変換復号化部204と、加算器206と、エントロピー復号化部207とから構成されている。なお、前述のデータ復号化部12はエントロピー復号化部207に対応している。
【0086】
エントロピー復号化部207は、確率表に基づいて、入力されたストリームのデータに対してエントロピー復号化を施し、そのデータを変換復号化部204および予測データ生成部202に出力する。エントロピー復号化とは、エントロピー符号化の逆方向の処理であり、この実施形態では算術復号化である。
予測データ生成部202は、動き補償器212と、ピクチャメモリ213とを有している。ピクチャメモリ213には、加算器206から出力画像が参照画像として出力され、貯えられている。動き補償器212は、エントロピー復号化部207で復号化された動きベクトルMVに基づいて、ピクチャメモリ213に格納されている参照画像から動きベクトルMVに対応する画像データを予測画像として作成し(動き補償)、それを加算器206に出力する。なお、画面内符号化の場合は動き補償された参照画像の画素値を0とし、加算器206では加算を行わないで入力されたデータをそのまま出力する。また、復号化された動きベクトルはピクチャメモリ213に格納される。
【0087】
変換復号化部204は、エントロピー復号化部207からの出力にデータ伸長処理を施して、伸長データを出力する。変換復号化部204は逆量子化器214と逆直交変換器215とから構成されている。逆量子化器214は、エントロピー復号化部207からの出力を逆量子化し、それを逆直交変換器215に出力する。逆直交変換器215は、逆量子化器214からの出力に対して、周波数領域のデータを空間領域のデータに変換する逆離散コサイン変換処理(IDCT処理)を施して、伸長データを加算器206に出力する。
【0088】
加算器206は、変換復号化部204からの画像データと動き補償器212からの予測画像とを加算した画像データを出力画像として外部に出力し、さらにピクチャメモリ213にも出力する。
(4)可変長復号化装置の動作
▲1▼分離化器の動作
分離化器14は、ビットストリームを分離し、ヘッダ符号化データをヘッダ復号化器13に出力し、ヘッダ以外の符号化データを算術復号化器17に出力し、確率表符号化データがある場合はそれを確率表復号化器16に出力する。なお、ヘッダ復号化器13は、復号化されたヘッダ内の初期値フラグを初期化部19に出力する。
【0089】
▲2▼ヘッダ復号化器の動作
ヘッダ復号化器13は、分離化器14から出力されたヘッダ符号化データを復号化し、ヘッダデータを出力する。
▲3▼データ復号化部及び確率表符号化器の動作
図11は、データ復号化部12及び確率表復号化器16の概略動作を示すフローチャートである。
【0090】
ステップS21では、初期化部19が確率表更新器18を初期化し、所定の確率表が初期値に設定される。
ステップS22では、初期化部19が、ヘッダ内に埋め込まれていた初期値フラグによって、確率表が符号化されているか否かを判定する。確率表が符号化されていると判定するとステップS23に移行し、確率表が符号化されていないと判定するステップS23をスキップしてステップS24に移行する。
【0091】
ステップS23では、確率表更新器18が、確率表復号化器16から出力されてきた確率表で、確率表を更新する。確率表復号化器16に入力される確率表符号化データは、確率表の全ての場合もあれば、確率表の一部のみの場合もある。確率表の一部のみが符号化されている場合でも、取得された確率表のうち生起確率が高い符号化済みデータに対応する部分が符号化されていれば、後述する復号化作業において正しく復号化できる。なお、符号表の一部のみが符号化されていた場合には、符号化されていない確率表はステップS21と同じ値で初期化する。
【0092】
なお、確率表そのものではなく確率表を示す情報を符号化している場合は、最初にその情報を復号化し、次に確率表更新器18がその情報の示す確率表を選択する。
ステップS24では、算術復号化器17と確率表更新器18とが協働して、サブデータを算術復号化する。具体的には、算術復号化器17は、確率表更新器18からの確率表に基づいて符号化サブデータを復号化して、データを出力する。所定単位データが例えばピクチャである場合は、スライスが復号化される。ステップS26では、算術復号化器17の発生データを確率表更新器18に出力し、確率表更新器18は発生データにより確率表を書き換える。この更新された確率表は、次のサブデータをステップS24で復号化する際に利用される。
【0093】
ステップS25では、全てのサブデータの復号化が終了したか否かを判断する。全て終了していないと判断するとステップS24に戻り、前述の動作を繰り返す。
(5)上記符号化方法及び復号化方法の効果
▲1▼前述の符号化及び復号化方法では、各サブデータは算術符号化により取得された確率表に基づいて符号化されているため、圧縮効率が向上している。言い換えると、この符号化及び復号化方法では、全体のデータ数が小さくそのため従来であれば学習によって最適な符号化が得られるまでの符号化済みのデータ数の割合を無視できないようなデータであっても、高い学習効率によって圧縮効率を高めることができる。
【0094】
また、初期化された確率表は符号化され、符号化された所定単位データのヘッダ内に配置されているため、復号化の際にはその確率表を初期値として、符号化された所定単位データを正しく復号化することができる。
▲2▼前述の符号化及び復号化方法では、ピクチャ又はスライス単位で確率表を符号化しているため、確率表を符号化する頻度が適切である。第1に、伝送路誤りで学習すべき符号化データの一部が欠落し、符号化時と同じ確率表が復号化時に再現できなくなった場合でも、高頻度で符号化された確率表を復号化することで数秒以上画像が再生不可能となる状態が生じることがない。これがストリームやGOP単位である場合は、確率表の符号化の頻度が低く、学習すべき符号化データの一部が伝送路で欠落し確率表が再現できない場合には数秒以上画像が再生不可能となる状態が生じてしまう。第2に、確率表のデータ量の冗長が大きくなることもない。これがブロック(又はマクロブロック)単位である場合は、初期化のデータの冗長が大きくなりすぎる。
【0095】
▲3▼前述の符号化及び復号化方法では、画像データの本体は算術符号化によって圧縮効率が高くなっている。その一方、共通データであるヘッダは固定的な符号化方法で簡単にかつ静的に符号化されている。より詳細には、ヘッダのうち、本来のヘッダである部分は固定的な符号化方法で符号化され、挿入された確率表初期値も固定的な符号化方法で符号化されている。もともとヘッダは画像データの本体に比べて圧縮効果が低いため、固定的な符号化方法を使用しても全体の圧縮効率の点からは特に大きな問題にはならない。
【0096】
2.第2実施形態
(1)可変長符号化装置の構成
図12は、本発明の一実施形態としての可変長符号化装置21の概略構成ブロック図である。可変長符号化装置21は、入力されたデータを可変長符号化し、ビットストリームを生成するための装置である。特に、この可変長符号化装置21は、主たる符号化方法として複数の可変長符号表を切り換えることを特徴としている。可変長符号化の代表例としては、ハフマン符号化がある。以下、説明ではハフマン符号化を例として説明する。
【0097】
可変長符号化装置21に入力されるデータは、様々な種類があり得るが、この実施形態では画像データが入力されるものとして説明する。すなわち、可変長符号化装置21は、情報変換された画像信号をエントロピー符号化する機能を有している。特にMPEG方式においては、この可変長符号化装置21に入力される画像データは、量子化されたDCT係数や動きベクトルなどである。
【0098】
可変長符号化装置21は、主に、データ符号化部22と、ヘッダ符号化器23とを備えている。
データ符号化部22は、ヘッダ以外のデータを所定単位データごとにハフマン符号化するための装置であり、可変長符号化器27と、符号表選択部28と、初期化部29とを備えている。なお、各所定単位データは複数のサブデータから構成されており、所定単位データがピクチャの場合にサブデータはスライス、マクロブロック又はブロックであり、所定単位データがスライスの場合にサブデータはマクロブロック又はブロックである。また、データ符号化部22は、前述の図2で示した一般的な画像符号化装置100においては、エントロピー符号化部107に対応している。
【0099】
可変長符号化器27は、データが入力されると、発生データを符号表選択部28に出力するとともに、符号表選択部28によって切り換えられた可変長符号表30すなわち符号語に基づいてデータを符号化するための装置である。
符号表選択部28は、可変長符号化器27から出力された発生データの生起確率に応じて、スイッチ25に対して符号表選択信号を出力するための装置である。
【0100】
スイッチ25は、符号表選択部28から出力される符号表選択信号に従って、可変長符号化器27が符号化の際に使用する可変長符号表30を切り換えるための装置である。
初期化部29は、符号表選択部28に対して符号表選択信号の初期化指令を出力するための装置である。
【0101】
図13に、可変長符号表30の具体例を示す。各可変長符号表30a〜30cは、データとそれに対応するビット列との組み合わせから構成されている。これら可変長符号表30a〜30cは、白地部分(符号表30aにおいてはデータ1以降、符号表30bにおいてはデータ2以降、符号表30cにおいてはデータ4以降)に、共通のビット列が採用されている。また、網掛け部分(符号表30aにおいてはデータ0、符号表30bにおいてはデータ0,1、符号表30cにおいてはデータ0〜3)には異なるビット列が採用されている。網掛け部分のデータは生起確率が比較的高いものであり、生起確率が高いデータを1ビットで処理できるならば符号表30aが選択され、生起確率が高いデータを2ビットで処理できるならば符号表30bが選択され、生起確率が高い符号を3ビットで処理できるならば符号表30cが選択される。それに対して、白地部分の符号は生起確率が比較的低いものである。このように、生起確率の比較的低いデータに対して共通のビット列を配置することで、異なる可変長符号表を少ないデータ量で用意することができてメモリを削減でき、さらに符号化作業も簡単になる。
【0102】
ヘッダ符号化器23は、ヘッダデータを固定的な符号化方法で符号化するための装置である。
可変長符号化装置21は、さらに、選択信号符号化器26を備えている。選択信号符号化器26は、符号表選択部28から出力されてきた符号表選択信号を固定的な符号化方法で符号化するための装置である。
【0103】
多重化器24は、ヘッダ符号化器23から出力されてくるヘッダ符号化データと、可変長符号化器27から出力されてくるヘッダ以外の符号化データと、選択信号符号化器26から出力されてくる選択信号符号化データとを多重化して、符号列(ビットストリーム)を生成し、さらにそれを伝送路に出力するための装置である。
【0104】
(2)可変長符号化装置の動作
▲1▼データ符号化部及び選択信号符号化器の動作
図14は、データ符号化部22及び選択信号符号化器26の概略動作を示すフローチャートである。
ステップS31では、初期化部29が符号表選択部28に初期化指令を出力し、符号表選択部28が所定の選択表符号信号をスイッチ25に出力する。この結果、スイッチ25は所定の可変長符号表30を所定単位データ符号化の初期値として選択する。この初期化動作において、初期化部29及び符号表選択部28は、ヘッダ内の初期化情報に基づいて所定の可変長符号表30を選択する。なお、図12において、ヘッダデータが初期化部29及び符号表選択部28に送られる線はは省略されている。
【0105】
ステップS32では、可変長符号化器27と符号表選択部28とが協働して、サブデータをハフマン符号化する。より具体的には、符号表選択部28はこれまでの発生データにより符号表選択信号をスイッチ25に出力する。スイッチ25は、符号表選択信号に基づいて可変長符号表30を切り換え、可変長符号化器27は選択された可変長符号表30の符号語によってサブデータを符号化する。また、各所定単位データは複数のサブデータから構成されており、具体的には所定単位データがピクチャである場合はスライス、マクロブロック又はブロックが符号化され、所定単位データがスライスである場合はマクロブロック又はブロックが符号化される。
【0106】
ステップS33では、サブデータを符号表選択部28に出力し、符号表選択部28はサブデータの発生頻度を更新して次にスイッチ25を切り換える際に、どの符号表を選択すべきかの指標とする。この実施形態では、この符号表が次のサブデータを可変長符号化する際に用いられることになる。
ステップS34では、全てのサブデータの符号化が終了したか否かを判断する。全て終了していないと判断するとステップS32に戻り、前述の動作を繰り返す。
【0107】
ステップS35では、初期値として用いた可変長符号表30を示す情報(すなわち符号表選択信号)を符号化するか否かが判定される。符号化する場合はステップS36に進み、符号化しない場合はステップS36をスキップする。なお、初期値として使われた可変長符号表が符号化されないのは、例えば、次に可変長符号表が初期化されるまでのデータ数が十分に多い(つまり十分に学習するのに必要なデータ数が全体のデータ数に占める割合が小さく、そのため学習効率がよい)場合や、又は、初期値として使われた可変長符号表が学習によって選択される最適な符号表と一致する場合などである。可変長符号化器27は、その判定結果を識別するための初期値フラグを作成し、それを符号化データとともに多重化器24に出力する。
【0108】
ステップS36では、符号表選択部28が当該可変長符号表を示す符号表選択信号を選択信号符号化器26に出力する。
以上に述べた符号化方法では、最初のサブデータの符号化を除いて、符号化したサブデータの値に基づいて可変長符号表が選択されているため、サブデータの圧縮効率が向上する。特に、サブデータの符号化に用いられる可変長符号表は、直前のサブデータのハフマン符号化により選択された可変長符号表であるため、リアルタイムで符号化ができ、符号化が高速化になり、しかも画像の空間的又は時間的相関により十分な圧縮効率が得られる。
【0109】
▲2▼ヘッダ符号化器の動作
ヘッダ符号化器23は、入力されたヘッダデータを符号化し、それを多重化器24に出力する。
▲3▼多重化器の動作
多重化器24は、可変長符号化器27、ヘッダ符号化器23及び選択信号符号化器26から出力されてくるデータから所定のビットストリームを生成し、伝送路に出力する
図15は、前述の所定単位データが画像データのピクチャである場合に多重化器24から出力されるビットストリームのデータ構造を示す。ピクチャは、一般に、ヘッダと、符号化サブデータとしての複数のスライスとから構成されている。ヘッダは、1ピクチャ内の符号化データの開始を表すものであり、各スライスに共通のデータ(例えば、ピクチャ符号化タイプ(画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別)、ピクチャの量子化パラメータの初期値など)がある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序動きベクトルや画像サイズ等のパラメータがある。
【0110】
ヘッダ内には初期値フラグが配置されている。初期値フラグは、可変長符号表を示す情報が符号化されたか否かを識別するためのフラグであり、可変長符号表を示す情報が符号化された場合は”1”となり、符号化されていない場合は”0”となる。
さらに、ヘッダ内には、図15(a)に示すように、使用する可変長符号表を示す選択信号符号化データ(例えば、計算式、確率表を示すフラグ、これらの組合せを示す情報)が配置されている。なお、可変長符号表を示す情報が符号化されなかった場合は、選択信号符号化データは選択信号符号化器26から多重化器24には出力されておらず、その結果図15(b)に示すようにビットストリームには選択信号符号化データは配置されていない。
【0111】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器23によって符号化された共通データ部分と、可変長符号化器27によって生成された初期値フラグと、選択信号符号化器26により符号化された選択信号符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと選択信号符号化データがその順番で挿入されている。
【0112】
図16は、所定単位データが画像データのスライスである場合に多重化器24から出力されるビットストリームデータ構造を示す。スライスは、一般に、ヘッダと、複数のブロック(又はマクロブロック)とから構成されている。ヘッダは、1スライス内の符号化データの開始を表すものであり、各スライスに共通のデータ(開始符号、量子化スケール等のパラメータ)から主に構成されている。
【0113】
共通のデータとしては、スライス符号化タイプ(画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別)、スライスの量子化パラメータの初期値などがある。
さらに、ヘッダ内には初期値フラグが配置されている。初期値フラグは、可変長符号表を示す情報が符号化されたか否かを識別するためのフラグであり、情報が符号化された場合は”1”となり、符号化されていない場合は”0”となる。
【0114】
さらに、ヘッダ内には、図16(a)に示すように、使用する可変長符号表を示す選択信号符号化データが配置されている。なお、可変長符号表が符号化されなかった場合は選択信号符号化器26からは選択信号符号化データは多重化器24には出力されておらず、その結果図16(b)に示すようにビットストストリームには選択信号符号化データは配置されていない。
【0115】
以上に述べたように、ヘッダ内には、本来のヘッダを意味しヘッダ符号化器23によって符号化された共通データ部分と、可変長符号化器27によって生成された初期値フラグと、選択信号符号化器26により符号化された選択信号符号化データとが存在する。さらに詳細には、共通データ部分は先頭側と画像データ側とに分かれ、その間に初期値フラグと選択信号符号化データがその順番で挿入されている。
【0116】
なお、本実施形態では、可変長符号表自体を符号化してヘッダ内に埋め込むのではなく、使用する可変長符号表を示す選択信号符号化データをヘッダ内に埋め込んでいる。したがって、可変長符号表そのものを符号化するのではないため、符号化量を削減できる。
さらに、使用する可変長符号表を示す選択信号符号化データとしては、例えば、ヘッダ内の共通データの一部を利用することができる。その場合は、そのデータは所定単位データに対する共通データの一部としての機能も有しているため、符号化量をさらに削減できる。共通データの例としては、例えば、所定単位データがピクチャの場合は、ピクチャ符号化タイプ(画面内符号化ピクチャと、画面間予測符号化ピクチャ、双画面間予測符号化ピクチャの区別)、ピクチャの量子化パラメータの初期値などがある。なお、初期化にはあまり関係がない共通データとしては、ピクチャの符号化順序、ピクチャの表示順序、動きベクトルや画像サイズ等のパラメータがある。所定単位データがスライスの場合は、スライス符号化タイプ(画面内符号化スライスと、画面間予測符号化スライス、双画面間予測符号化スライスの区別)、スライスの量子化パラメータの初期値などがある。
【0117】
更に、初期値を必ず更新するようにして、初期値フラグを省略しても良い。
(3)可変長復号化装置の構成
図17は、本発明の一実施形態としての可変長復号化装置31の概略構成ブロック図である。可変長復号化装置31は、例えば可変長符号化装置21によって符号化されたデータを復号化するための装置である。画像データを対象としている場合は、可変長復号化装置31は、データをエントロピー復号化し、変換画像情報を得る機能を有している。
【0118】
可変長復号化装置31は、主に、データ復号化部32と、ヘッダ復号化器33とを備えている。
データ復号化部32は、ヘッダ以外のデータを所定単位データごとにハフマン復号化するための装置であり、可変長復号化器37と、選択信号復号化器36とを備えている。なお、ここでいう所定単位データとは、画像データの場合はピクチャ又はスライスを意味する。また、データ復号化部32は、前述の図10で示した一般的な画像復号化装置200においては、エントロピー復号化部207に対応している。
【0119】
可変長復号化器37は、スイッチ35によって、切り換えられた可変長符号表30の符号語に基づいて、符号化データを復号化するための装置である。
選択信号復号化器36は、分離化器34から出力される選択信号符号化データを固定的な復号化方法で復号化し、それをスイッチ35に出力するための装置である。
【0120】
スイッチ35は、選択信号復号化器36から出力される符号表選択信号に従って、可変長復号化器37が復号化の際に使用する可変長符号表30を切り換えるための装置である。
初期化部39は、初期化指令を選択信号復号化器36に対して出力するための装置である。
【0121】
ヘッダ復号化器33は、ヘッダ符号化データを固定的な復号化方法で復号化するための装置である
分離化器34は、ビットストリームを、ヘッダ符号化データと、ヘッダ以外の符号化データと、選択信号符号化データとに分離し出力するための装置である。
(4)可変長復号化装置の動作
▲1▼分離化器の動作
分離化器34は、ビットストリームを分離し、ヘッダ符号化データをヘッダ復号化器33に出力し、ヘッダ以外の符号化データを可変長復号化器37に出力し、選択信号符号化データがある場合はそれを選択信号復号化器36に出力する。なお、ヘッダ復号化器33は、ヘッダ内の初期値フラグについては初期化部39に出力する。
【0122】
▲2▼ヘッダ復号化器の動作
ヘッダ復号化器33は、分離化器34から出力されたヘッダ符号化データを復号化し、ヘッダデータを出力する。
▲3▼データ復号化部の動作
図18は、データ復号化部32の概略動作を示すフローチャートである。
【0123】
ステップS51では、初期化部39が選択信号復号化器36に初期化指令を出力し、選択信号復号化器36が所定の選択表符号信号をスイッチ35に出力する。この結果、スイッチ35が所定の可変長符号表30を所定単位データの復号化の初期値として選択する。
ステップS52では、可変長復号化器37が、ヘッダ内に埋め込まれていた初期値フラグによって、使用する可変長符号表を示す情報が符号化されているか否かを判断する。可変長符号表を示す情報が符号化されていると判断するとステップS53に移行し、符号化されていないと判断するステップS53をスキップしてステップS54に移行する。
【0124】
ステップS53では、スイッチ35が、選択信号復号化器36から出力されてきた選択信号に基づいて、それが示す可変長符号表30を選択する。
ステップS54では、可変長復号化器37がサブデータをハフマン復号化する。より具体的には、可変長復号化器37は、スイッチ35によって選択された可変長符号表30に基づいて、符号化サブデータを復号化して、データを出力する。所定単位データが例えばピクチャである場合は、スライスが復号化される。ステップS56では、可変長復号化器37は発生データによりスイッチ35を介して可変長符号表30を選択する。この選択された可変長符号表30は、次のサブデータをステップS54で復号化する際に利用される。
【0125】
ステップS55では、全てのサブデータの復号化が終了したか否かを判断する。全て終了していないと判断するとステップS52に戻り、前述の動作を繰り返す。
(5)上記符号化方法及び復号化方法の効果
▲1▼前述の符号化及び復号化方法では、各サブデータはハフマン符号化により取得された可変長符号表に基づいて符号化されているため、圧縮効率が向上している。言い換えると、この符号化及び復号化方法では、全体のデータ数が小さくそのため従来であれば学習によって最適な符号化が得られるまでの符号化済みのデータ数の割合を無視できないようなデータであっても、高い学習効率によって圧縮効率を高めることができる。
【0126】
また、初期化された可変長符号表を示す情報は符号化され、符号化された所定単位データのヘッダ内に配置されているため、復号化の際にはその情報が示す可変長符号表を初期値として、符号化された所定単位データを正しく復号化することができる。
▲2▼前述の符号化及び復号化方法では、ピクチャ又はスライス単位で可変長符号表を符号化しているため、可変長符号表を示す情報を符号化する頻度が適切である。第1に、伝送路誤りで選択信号符号化データが破壊された場合でも数秒以上画像が再生不可能となる状態が生じることがない。これがストリームやGOP単位である場合は、可変長符号表を示す情報の符号化の頻度が低く、伝送路で選択信号符号化データ破壊された場合には数秒以上画像が再生不可能となる状態が生じてしまう。第2に、可変長符号表を示す情報のデータ量の冗長が大きくなることもない。これがブロック(又はマクロブロック)単位である場合は、初期化のデータの冗長が大きくなりすぎる。
【0127】
▲3▼前述の符号化及び復号化方法では、画像データの本体は複数の可変長符号表を切り換えるハフマン符号化によって圧縮効率が高くなっている。その一方、共通データであるヘッダは固定的な符号化方法で符号化されている。より詳細には、ヘッダのうち、本来のヘッダである部分は固定的な符号化方法で符号化され、挿入された可変長符号表を示す情報も固定的な符号化方法で符号化されている。もともとヘッダは画像データの本体に比べて圧縮効果が低いため、固定的な符号化方法を使用しても全体の圧縮効率の点からは特に大きな問題にはならない。
【0128】
3.記録媒体の実施の形態
さらに、上記各実施の形態で示した可変長符号化方法または可変長復号化方法の構成を実現するためのプログラムを、フロッピーディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【0129】
図19は、上記第実施形態の可変長符号化方法または可変長復号化方法を格納したフロッピーディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図19(b)は、フロッピーディスクの正面からみた外観、断面構造、及びフロッピーディスクを示し、図19(a)は、記録媒体本体であるフロッピーディスクの物理フォーマットの例を示している。フロッピーディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフロッピーディスクでは、上記フロッピーディスクFD上に割り当てられた領域に、上記プログラムとしての可変長符号化方法または可変長復号化方法が記録されている。
【0130】
また、図19(c)は、フロッピーディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフロッピーディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての可変長符号化方法または可変長復号化方法をフロッピーディスクドライブを介して書き込む。また、フロッピーディスク内のプログラムにより上記可変長符号化方法または可変長復号化方法をコンピュータシステム中に構築する場合は、フロッピーディスクドライブによりプログラムをフロッピーディスクから読み出し、コンピュータシステムに転送する。
【0131】
なお、上記説明では、記録媒体としてフロッピーディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、CD−ROM、メモリカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
4.本願発明の応用例とそれを用いたシステム
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
【0132】
図20は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
【0133】
しかし、コンテンツ供給システムex100は図17のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
【0134】
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
【0135】
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【0136】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図21は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
【0137】
さらに、携帯電話ex115について図22を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
【0138】
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
【0139】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
【0140】
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
【0141】
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
【0142】
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
【0143】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
【0144】
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【0145】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図23に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
【0146】
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
【0147】
なお、カーナビゲーションex413の構成は例えば図19に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
【0148】
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
5.他の実施形態
本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形又は修正が可能である。
【0149】
【発明の効果】
請求項1に記載の可変長符号化方法では、各サブデータの符号化においてパラメータ表から取得した符号化パラメータを利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化されたパラメータ表に関する情報は符号化され、符号化された所定単位データより先に取得できる位置に配置されているため、復号化の際にはそのパラメータ表を初期値として符号化された所定単位データを正しく復号化することができる。
【0150】
また、符号化したサブデータの値に基づいてパラメータ表を更新しているため、所定単位データを符号化する際の圧縮効率が向上する。
【0151】
請求項2に記載の可変長符号化方法では、請求項1において、サブデータの符号化方法として算術符号化を用いているため、圧縮効率がよい。なお、パラメータ表は確率表に対応しており、符号化パラメータは確率に対応している。
【0152】
請求項3に記載の可変長符号化方法では、請求項1又は2において、パラメータ表に関する情報はパラメータ表そのものである。
請求項4に記載の可変長符号化方法では、請求項3において、初期化されたパラメータ表の全てではなく、一部のみが符号化されるため、符号化量を削減できる。
【0153】
請求項5に記載の可変長符号化方法では、請求項4において、初期化されたパラメータ表のうち生起確率が高い符号化済みデータに対応する部分のみを符号化するため、符号化量を削減しつつも、復号化の際に十分に正しく復号化できる。
請求項6に記載の可変長符号化方法では、請求項1又は2において、パラメータ表を示す情報を符号化するのであってパラメータ表そのものを符号化するのではないため、符号化量を削減できる。
【0154】
請求項7に記載の可変長符号化方法では、請求項6において、パラメータ表を示す情報は所定単位データに対する共通データの一部として配置されており、その一部としての機能も有しているため、符号化量が削減できる。
請求項8に記載の可変長符号化方法では、請求項1〜7のいずれかにおいて、固定的な符号化方法を用いているため、初期化されたパラメータ表に関する情報は静的に符号化される。そのため、初期化されたパラメータ表に関する情報は確実に復号化される。
【0155】
請求項9に記載の可変長符号化方法では、請求項1〜8のいずれかにおいて、パラメータ表に関する情報が符号化されたか否かは、符号化された所定単位データより先に取得できる位置に配置されたフラグによって判断できる。
請求項10に記載の可変長符号化方法では、請求項1〜9のいずれかにおいて、所定単位データは画像データにおけるピクチャであるため、全画像データ内でパラメータ表を符号化する頻度が適切であり、そのため、伝送路誤りで学習すべき符号化データの一部が欠落し、符号化時と同じパラメータ表が復号化時に再現できなくなった場合でも、高頻度で符号化されたパラメータ表を復号化することで数秒以上画像が再生不可能となる状態が生じることがなく、またパラメータ表のデータ量の冗長が大きくなることもない。
【0156】
請求項11に記載の可変長符号化方法では、請求項1〜10のいずれかにおいて、所定単位データは画像データにおけるスライスであるため、全画像データ内でパラメータ表を符号化する頻度が適切であり、そのため、伝送路誤りで学習すべき符号化データの一部が欠落し、符号化時と同じパラメータ表が復号化時に再現できなくなった場合でも、高頻度で符号化されたパラメータ表を復号化することで数秒以上画像が再生不可能となる状態が生じることがなく、またパラメータ表のデータ量の冗長が大きくなることもない。
【0159】
請求項12に記載の記憶媒体では、格納されたプログラムをコンピュータにロードすることにより、コンピュータに可変長符号化処理を行わせる。その処理において、各サブデータの符号化においてパラメータ表から取得した符号化パラメータを利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化されたパラメータ表に関する情報は符号化され、符号化された所定単位データ符号化された所定単位データより先に取得できる位置に配置されているため、復号化の際にはそのパラメータ表を初期値として符号化された所定単位データを正しく復号化することができる。
【0161】
請求項13に記載の可変長符号化方法では、各サブデータの符号化において選択された可変長符号表を利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化された可変長符号表を示す情報は符号化され、符号化された所定単位データより先に取得できる位置に配置されているため、復号化の際にはその情報が示す可変長符号表を初期値として符号化された所定単位データを正しく復号化することができる。
【0162】
請求項14に記載の可変長符号化方法では、請求項13において、符号化したサブデータの値に基づいて可変長符号表を選択しているため、所定単位データを符号化する際の圧縮効率が向上する。
【0163】
請求項15に記載の可変長符号化方法では、請求項13又は14において、固定的な符号化方法を用いているため、選択された可変長符号表を示す情報は確実に復号化される。
【0164】
請求項16に記載の可変長符号化方法では、請求項13〜15のいずれかにおいて、可変長符号表を示す情報が符号化されたか否かは、符号化所定単位データより先に取得できる位置に配置されたフラグによって判断できる。
請求項17に記載の可変長符号化方法では、請求項13〜16のいずれかにおいて、所定単位データは画像データにおけるピクチャであるため、全画像データ内で情報を符号化する頻度が適切であり、そのため、伝送路誤りで情報符号化データが破壊された場合でも数秒以上画像が再生不可能となる状態が生じることがなく、また情報符号化データの量の冗長が大きくなることもない。
【0165】
請求項18に記載の可変長符号化方法では、請求項13〜16のいずれかにおいて、所定単位データは画像データにおけるスライスであるため、全画像データ内で可変長符号表を示す情報を符号化する頻度が適切であり、そのため、伝送路誤りで情報符号化データが破壊された場合でも数秒以上画像が再生不可能となる状態が生じることがなく、また情報符号化データの量の冗長が大きくなることもない。
【0166】
請求項19に記載の可変長符号化方法では、請求項13〜18のいずれかにおいて、例えば画像データにおいて、可変長符号表を切り換える可変長符号化方法によってサブデータを符号化することで高い圧縮効率を得ることができるとともに、固定的な符号化方法によって共通データであるヘッダを符号化することで処理を簡単にできる。なお、ヘッダはもともと圧縮効果が少ないため、固定的な符号化方法を用いても特に支障はない。
【0167】
請求項20に記載の記憶媒体では、格納されたプログラムがコンピュータに行わせる符号化処理において、各サブデータの符号化において選択された可変長符号表を利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化された可変長符号表を示す情報は符号化され、符号化された所定単位データより先に取得できる位置に配置されるため、復号化の際にはその情報が示す可変長符号表を初期値として符号化された所定単位データを正しく復号化することができる。
【0168】
請求項21に記載の可変長符号化装置では、サブデータ符号化手段がサブデータを符号化する際にパラメータ表から取得した符号化パラメータを利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化されたパラメータ表に関する情報は、パラメータ表情報符号化手段によって符号化され、さらに情報符号化データ配置手段によって符号化された所定単位データより先に取得できる位置に配置されるため、復号化の際にはその情報に基づきパラメータ表を取得し、そのパラメータ表を初期値として符号化された所定単位データを正しく復号化することができる。
【0169】
請求項22に記載の可変長符号化装置では、サブデータ符号化手段がサブデータを符号化する際に選択した可変長符号表を利用しているため、所定単位データを符号化する際の圧縮効率が向上する。また、初期化された可変長符号表を示す情報は、可変長符号表情報符号化手段によって符号化され、さらに情報符号化データ配置手段によって符号化された所定単位データより先に取得できる位置に配置されるため、復号化の際にはその情報に基づき可変長符号表を取得し、その可変長符号表を初期値として符号化された所定単位データを正しく復号化することができる。
【0170】
請求項23に記載のビットストリームでは、所定単位データを符号化する際の圧縮効率が向上するなど、各可変長符号化方法による効果が得られる。
【図面の簡単な説明】
【図1】本発明の第1実施形態における可変長符号化装置の概略構成を示すブロック図。
【図2】一般的な画像符号化装置の概略構成を示すブロック図。
【図3】データ符号化部の概略動作を示すフローチャート。
【図4】データ符号化部の概略動作を示す、変形例のフローチャート。
【図5】画像データのストリーム構造の一例を示す図。
【図6】画像データのストリーム構造の他の例を示す図。
【図7】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図8】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図9】本発明の第1実施形態における可変長復号化装置の概略構成を示すブロック図。
【図10】一般的な画像復号化装置の概略構成を示すブロック図。
【図11】データ復号化部の概略動作を示すフローチャート。
【図12】本発明の第2実施形態における可変長符号化装置の概略構成を示すブロック図。
【図13】複数の可変長符号表の構成を示す図。
【図14】データ符号化部の概略動作を示すフローチャート。
【図15】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図16】可変長符号化装置によって生成されるビットストリームのデータ構造。
【図17】本発明の第2実施形態における可変長復号化装置の概略構成を示すブロック図。
【図18】データ復号化部の概略動作を示すフローチャート。
【図19】第1及び第2実施形態の可変長符号化方法又は可変長復号化方法を格納したフロッピーディスクを用いて、コンピュータシステムにより実施する場合の説明図。
【図20】コンテンツ供給システムの全体構成を示すブロック図。
【図21】動画像符号化方法、動画像復号化方法を用いた携帯電話の例。
【図22】携帯電話のブロック図。
【図23】ディジタル放送用システムの例。
【符号の説明】
1 可変長符号化装置
2 データ符号化部
3 ヘッダ符号化器
4 多重化器(情報符号化データ配置手段)
6 確率表符号化器(パラメータ表情報符号化手段)
7 算術符号化器(サブデータ符号化手段)
8 確率表更新器(パラメータ取得手段)
9 初期化部(初期化手段)
11 可変長復号化装置
12 データ復号化部
13 ヘッダ復号化器
14 分離化器
16 確率表復号化器(パラメータ表情報復号化手段)
17 算術復号化器(サブデータ復号化手段)
18 確率表更新器(パラメータ取得手段)
19 初期化部(パラメータ表初期化手段)
21 可変長符号化装置
22 データ符号化部
23 ヘッダ符号化器
24 多重化器(可変長符号表情報符号化データ配置手段)
26 選択信号符号化器(情報符号化手段)
27 可変長符号化器(サブデータ符号化手段)
28 符号表選択部(可変長符号表選択手段)
29 初期化部(初期化手段)
30 符号表
31 可変長復号化装置
32 データ復号化部
33 ヘッダ復号化器
34 分離化器
36 選択信号復号化器(可変長符号表情報復号化手段)
37 可変長復号化器(サブデータ復号化手段)
39 初期化部(可変長符号表初期化手段)
Claims (5)
- パラメータ表を参照しながら各所定単位データを符号化する可変長符号化方法であって、
前記所定単位データの量子化パラメータの初期値に基づいてパラメータ表を初期値に設定する初期化ステップと、
前記量子化パラメータの初期値に関する情報を符号化する量子化パラメータ初期値符号化ステップと、
前記所定単位データを構成する各サブデータの符号化に用いられる符号化パラメータを前記パラメータ表から取得するパラメータ取得ステップと、
前記サブデータを、取得された符号化パラメータを参照して可変長符号化するサブデータ符号化ステップと、
を備え、
符号化したサブデータの値に基づいて前記パラメータ表を更新し、前記符号化パラメータを更新した前記パラメータ表から取得する、
可変長符号化方法。 - 前記サブデータ符号化ステップでは、前記サブデータを、前記符号化パラメータを参照して算術符号化する、請求項1に記載の可変長符号化方法。
- 前記所定単位データは画像データにおけるピクチャである、請求項1のいずれかに記載の可変長符号化方法。
- 前記所定単位データは画像データにおけるスライスである、請求項1のいずれかに記載の可変長符号化方法。
- パラメータ表を参照しながら各所定単位データを符号化する可変長符号化装置であって、
前記所定単位データの量子化パラメータの初期値に基づいてパラメータ表を初期値に設定する初期化手段と、
前記量子化パラメータの初期値に関する情報を符号化する量子化パラメータ初期値符号化手段と、
前記所定単位データを構成する各サブデータの符号化に用いられる符号化パラメータを前記パラメータ表から取得するパラメータ取得手段と、
前記サブデータを、取得された符号化パラメータを参照して可変長符号化するサブデータ符号化手段と、
を備えている可変長符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068850A JP4197262B2 (ja) | 2002-03-27 | 2003-03-13 | 可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002088345 | 2002-03-27 | ||
JP2003068850A JP4197262B2 (ja) | 2002-03-27 | 2003-03-13 | 可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006052928A Division JP4197345B2 (ja) | 2002-03-27 | 2006-02-28 | 可変長復号化方法、記憶媒体、及び可変長復号化装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004007473A JP2004007473A (ja) | 2004-01-08 |
JP2004007473A5 JP2004007473A5 (ja) | 2006-04-13 |
JP4197262B2 true JP4197262B2 (ja) | 2008-12-17 |
Family
ID=30446108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003068850A Expired - Lifetime JP4197262B2 (ja) | 2002-03-27 | 2003-03-13 | 可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4197262B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4997243B2 (ja) * | 2006-08-08 | 2012-08-08 | パナソニック株式会社 | 画像符号化装置、その方法およびその集積回路 |
US7545293B2 (en) * | 2006-11-14 | 2009-06-09 | Qualcomm Incorporated | Memory efficient coding of variable length codes |
JP2010103969A (ja) * | 2008-09-25 | 2010-05-06 | Renesas Technology Corp | 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置 |
GB2611864B (en) * | 2019-08-23 | 2023-12-06 | Imagination Tech Ltd | Random accessible image data compression |
-
2003
- 2003-03-13 JP JP2003068850A patent/JP4197262B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004007473A (ja) | 2004-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100927510B1 (ko) | 가변 길이 부호화 방법, 가변 길이 부호화 장치 및 기억 매체 | |
JP5401530B2 (ja) | 符号化復号化装置 | |
JP2007520948A (ja) | 画像符号化方法、画像復号化方法、画像符号化装置、画像復号化装置およびプログラム | |
JP4197262B2 (ja) | 可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム | |
JP4197345B2 (ja) | 可変長復号化方法、記憶媒体、及び可変長復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060228 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20061013 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080805 |
|
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: 20080902 |
|
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: 20080925 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4197262 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131010 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |