(57)【要約】【課題】  バッファ容量の増加を抑えながら、圧縮画像データからより多くの量子化係数を復号しておくことができ、復号処理の高速化を図る。【解決手段】  画像データ復号装置１は、圧縮画像データを復号して量子化係数を出力する可変長符号復号器２と、その量子化係数に非零係数が含まれるか否かを調査単位毎に調査する非０係数検出器３と、調査単位に１以上の非零係数が含まれる場合、当該調査単位の量子化係数を有意係数として格納する量子化係数ＦＩＦＯ５と、調査単位が有意係数であるか否かを示す有意係数フラグを格納する有意係数フラグＦＩＦＯ４と、有意係数フラグ及び有意係数から量子化係数を復元する０係数発生器６とを有している。非０係数検出器３は、調査単位が有意係数であるかを調査し有意係数フラグ生成、出力すると共に、調査単位が前記有意係数であると判定した場合にのみ量子化係数を有意係数として出力させる。【選択図】  図１
2006295796.tif 000002
【特許請求の範囲】
【請求項１】
可変長符号化して得られた可変長符号を含む圧縮画像データを復号する画像データ復号装置において、
前記圧縮画像データを復号して量子化係数を出力する量子化係数出力部と、
前記量子化係数出力部から出力される量子化係数に非零係数が含まれるか否かを調査単位毎に調査する調査部と、
前記調査単位に１以上の非零係数が含まれる場合、当該調査単位の量子化係数を有意係数として格納する係数メモリと、
前記調査部の調査結果及び前記有意係数から量子化係数を復元する零係数発生部と、
前記零係数発生部にて復元された量子化係数に基づき復号画像信号を生成する画像復号部とを有する画像データ復号装置。
【請求項２】
前記調査部は、
前記調査単位の量子化係数を一時的に格納する調査用メモリと、
少なくとも前記調査用メモリに格納された前記調査単位が前記有意係数であるか否かを判定する調査結果生成部とを有し、
前記調査結果生成部は、前記調査単位が前記有意係数であるか否かを示す有意係数フラグを前記調査結果として出力すると共に、前記調査単位が前記有意係数であると判定した場合に前記調査用メモリに格納した量子化係数を前記有意係数として出力させる
ことを特徴とする請求項１記載の画像データ復号装置。
【請求項３】
前記調査結果を格納する調査結果メモリを有し、
前記零係数発生部は、前記調査結果の前記有意係数フラグに基づき前記係数メモリの前記有意係数を読み出し又は前記調査単位分の零係数を発生させ前記量子化係数を復元する
ことを特徴とする請求項２記載の画像データ復号装置。
【請求項４】
前記調査部は、所定数の量子化係数からなる量子化係数列に対して２以上の異なる大きさの調査単位を設定し、前記設定した調査単位に非零係数が含まれるか否かを調査し、
前記零係数発生部は、前記設定された調査単位に応じて前記量子化係数を復元する
ことを特徴とする請求項１記載の縮画像データ復号装置。
【請求項５】
前記調査部及び前記零係数発生部は、２以上の異なる大きさの調査単位を有する調査単位テーブルを参照して前記量子化係数列に前記調査単位を設定する
ことを特徴とする請求項４記載の画像データ復号装置。
【請求項６】
前記調査単位テーブルの２以上の異なる大きさの調査単位のうち、前記量子化係数列の後方にて設定される調査単位は、前記量子化係数列の前方にて設定される調査単位の大きさ以上である
ことを特徴とする請求項５記載の画像データ復号装置。
【請求項７】
前記調査結果生成部は、所定数の量子化係数からなる量子化係数列に対して２以上の異なる大きさの調査単位のうちから選択した一の調査単位を設定し、設定した調査単位を示す調査単位識別子及びその有意係数フラグを前記調査結果として出力すると共に当該有意係数フラグに基づき前記調査用メモリから前記有意係数を出力させ、
前記零係数発生部は、前記調査単位識別子及び有意係数フラグに基づき前記係数メモリの前記有意係数を読み出し又は前記設定した調査単位分の零係数を発生させ前記量子化係数を復元する
ことを特徴とする請求項２記載の画像データ復号装置。
【請求項８】
前記調査結果生成部は、２以上の異なる大きさの調査単位を有する調査単位テーブルを参照し、前記量子化係数列毎に、非零係数が含まれるか否かを各調査単位について調査し、この調査結果に基づき前記量子化係数列に含まれる有意係数が所定値以下となるよう調査単位を決定する
ことを特徴とする請求項７記載の画像データ復号装置。
【請求項９】
可変長符号化して得られた可変長符号を含む圧縮画像データを復号する画像データ復号方法において、
前記圧縮画像データを復号して量子化係数を出力し、
前記量子化係数に非零係数が含まれるか否かを調査単位毎に調査し、
前記調査単位に１以上の非零係数が含まれる場合、当該調査単位の量子化係数を有意係数として係数メモリに格納し、
前記調査単位毎の調査結果及び前記係数メモリに格納された前記有意係数から量子化係数を復元し、
出力される量子化係数に基づき復号画像信号を生成する画像データ復号方法。
【請求項１０】
前記量子化係数に非零係数が含まれるか否かを調査単位毎に調査する際には、
前記調査単位の量子化係数を一時的に調査用メモリに格納し、
少なくとも前記調査用メモリに格納された前記調査単位が前記有意係数であるか否かを判定し、
前記調査単位が前記有意係数であるか否かを示す有意係数フラグを生成して前記調査結果として出力し、
前記調査単位が前記有意係数であると判定した場合に前記調査用メモリに格納した量子化係数を前記有意係数として出力する
ことを特徴とする請求項９記載の画像データ復号方法。
【請求項１１】
前記量子化係数に非零係数が含まれるか否かを調査単位毎に調査する際には、所定数の量子化係数からなる量子化係数列に対して２以上の異なる大きさの調査単位を設定し、
前記量子化係数を復元する際には、前記調査する際に設定された調査単位に応じて前記量子化係数を復元する
ことを特徴とする請求項９記載の縮画像データ復号装置。
【請求項１２】
前記量子化係数に非零係数が含まれるか否かを調査単位毎に調査する際には、
圧縮画像データを復号した量子化係数列に対し、２以上の異なる大きさの調査単位のうちから選択した一の調査単位を設定し、
設定した調査単位を示す調査単位識別子及びその有意係数フラグを前記調査結果として出力すると共に当該有意係数フラグに基づき前記調査用メモリから前記有意係数を出力し、
前記量子化係数を復元する際には、前記調査単位識別子及び有意係数フラグに基づき前記係数メモリの前記有意係数を読み出し又は前記設定した調査単位分の零係数を発生させ前記量子化係数を復元する
ことを特徴とする請求項９記載の画像データ復号方法。
【請求項１３】
前記量子化係数に非零係数が含まれるか否かを調査単位毎に調査する際には、
圧縮画像データを復号した量子化係数において所定数の量子化係数からなる量子化係数列毎に非零係数が含まれるか否かを、少なくとも第１の調査単位及び前記第１の調査単位より大きい第２の調査単位について調査し、
前記第１及び第２の調査単位が共に前記有意係数となる場合は前記調査単位に前記第２の調査単位を設定し、
前記第１又は第２の調査単位のいずれか一方が前記有意係数となる場合は前記調査単位に前記第１の調査単位を設定し、
設定した調査単位を示す調査単位識別子及びその有意係数フラグを前記調査結果として出力すると共に当該有意係数フラグに基づき前記調査用メモリから前記有意係数を出力し、
前記量子化係数を復元する際には、前記調査単位識別子及び有意係数フラグに基づき前記係数メモリの前記有意係数を読み出し又は前記設定した調査単位分の零係数を発生させ前記量子化係数を復元する
ことを特徴とする請求項９記載の画像データ復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮画像データを復号する画像データ復号装置及びその復号方法に関し、特にＭＰＥＧ（Moving Picture Expert Group）−２及びＨ．２６４、ＶＣ−１（ＷＭＶ９）等の高圧縮画像データを復号する際の処理速度の向上を図った画像データ復号装置及び画像データ復号方法に関する。
【背景技術】
【０００２】
次世代ＤＶＤ（Digital Versatile Disk）やＤＴＶ（デジタルテレビ）に採用が決定しているＨ．２６４やＶＣ−１といった新しいコーデックは、ＭＰＥＧ−２などに比べて、
１）画面間予測（動き予測）の効率を向上させ、圧縮すべきデータ（非０係数）を少なくしている
２）可変長符号復号処理の高度化を図る
３）符号の予測処理や算術符号などを用いて、符号そのものの更なる圧縮を行う
といったことで高い圧縮を実現している。
【０００３】
これらの高圧縮画像データは画像データ復号器により復号される（例えば特許文献１参照）。図１５は、従来の画像データ復号装置を示すブロック図である。例えば、画像データ復号装置は、画像信号または画像信号と予測信号との誤差である予測誤差信号を複数の画素からなるブロック毎に離散コサイン変換（Discrete Cosine Transform：ＤＣＴ）して得られた非０係数及び０係数からなるＤＣＴ係数を量子化し、所定のスキャンパターンに従ってスキャン変換した後に、０係数の連続長を示す０ランレングスとこれに続く非０係数の組を可変長符号化して得られた可変長符号を含む圧縮画像データを復号する。
【０００４】
図１５に示す従来の画像データ復号装置１０１は、可変長符号復号器１０２と、量子化係数ＦＩＦＯ１０５と、０係数発生器１０６と画像復号器１０７とを有し、圧縮ビットストリームデータ（圧縮画像データ）から復号画像信号を生成する。可変長符号復号器１０２は、圧縮ビットストリームデータが入力され、これを復号して(run,level)（０ランレングス及び非０係数）の組になった係数を出力する。levelは量子化係数の値（非０係数）で、runはlevelの前にある０個以上の０値の数（０ランレングス）を示す。
【０００５】
量子化係数ＦＩＦＯ１０５は、可変長符号復号器１０２により復号された(run,level)の組になった係数を格納する。０係数発生器１０６は、量子化係数ＦＩＦＯ１０５から (run,level)の組の係数を読み出し、runの数だけ０係数を発生させ、その後level値の係数を生成する。画像復号器１０７は、０係数発生器１０６から出力される非０係数及び０係数を逆離散コサイン変換し、その変換結果に対して動き補償を施して復号画像信号を生成する。
【特許文献１】特開２００２−１１２２６８
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような画像データ復号装置は、係数の種別、すなわち非０係数か否かによらず処理量はほぼ常に一定であるのに対して、可変長符号復号器は量子化係数の非０係数のみ処理するため非０係数の数に比例して処理量が変化する。
【０００７】
ここで、量子化係数ＦＩＦＯ１０５には（run,level）の組でデータを格納するため、例えば、０係数がない状態では、(run,level)の組で格納すると却って量子化係数ＦＩＦＯ１０５に格納するデータ量が増大してしまう。すなわち、量子化係数ＦＩＦＯ１０５に格納できる量子化係数には限界があるため、可変長復号器の処理を高速化することができない。また、可変長符号復号器の復号結果が(run,level)の組では得られない、例えばＨ．２６４のＣＡＢＡＣなどの圧縮ビットストリームデータであると、上述の従来の画像データ復号装置では復号することができない。
【課題を解決するための手段】
【０００８】
本発明に係る画像データ復号装置は、可変長符号化して得られた可変長符号を含む圧縮画像データを復号する画像データ復号装置において、前記圧縮画像データを復号して量子化係数を出力する量子化係数出力部と、前記量子化係数出力部から出力される量子化係数に非零係数が含まれるか否かを調査単位毎に調査する調査部と、前記調査単位に１以上の非零係数が含まれる場合、当該調査単位の量子化係数を有意係数として格納する係数メモリと、前記調査部の調査結果及び前記有意係数から量子化係数を復元する零係数発生部と、前記零係数発生部にて復元された量子化係数に基づき復号画像信号を生成する画像復号部とを有するものである。
【０００９】
本発明にかかる画像データ復号方法は、可変長符号化して得られた可変長符号を含む圧縮画像データを復号する画像データ復号方法において、前記圧縮画像データを復号して量子化係数を出力し、前記量子化係数に非零係数が含まれるか否かを調査単位毎に調査し、前記調査単位に１以上の非零係数が含まれる場合、当該調査単位の量子化係数を有意係数として係数メモリに格納し、前記調査単位毎の調査結果及び前記係数メモリに格納された前記有意係数から量子化係数を復元し、出力される量子化係数に基づき復号画像信号を生成するものである。
【００１０】
本発明においては、調査単位毎に、当該調査単位に非零係数が含まれる有意係数か、全て零係数で構成されるかを調査し、係数メモリには有意係数のみを格納し、調査結果と有意係数とから量子化係数を復元することで、係数メモリに格納するデータ（有意係数）は、圧縮画像データから復号した量子化係数以下とすることができ、復号した量子化係数を係数メモリの容量以上に画像復号部に供給することができる。
【発明の効果】
【００１１】
本発明によれば、バッファ容量の増加を抑えながら、圧縮画像データからより多くの量子化係数を復号しておくことができ、復号処理の高速化を図ることができる汎用的に使用可能な画像データ復号装置及び画像データ復号方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
実施の形態１.
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。図１は、本実施の形態にかかる画像データ復号装置を示すブロック図である。図１に示すように、本実施の形態にかかる画像データ復号装置１は、圧縮符号データ（圧縮ビットストリームデータ）が入力され量子化係数Ｑ１を出力する可変長符号復号器２と、量子化係数Ｑ１が非０であるか、０であるかを調査する非０係数検出器３とを有する。
【００１３】
圧縮符号データは、例えば、ＭＰＥＧ−２であれば、以下のようにして生成される。すなわち、符号化すべき動画像の画像信号を複数の画素（例えば８画素×８画素）で構成されるブロックに分割した後、各ブロック毎に画像信号または画像信号と予測信号との誤差である予測誤差信号を離散コサイン変換（ＤＣＴ）する。次に、ＤＣＴによって得られた係数（ＤＣＴ係数）を所定の量子化幅で量子化し、さらにＤＣＴ係数のうち値が０である０係数ができるだけ連続するように所定のスキャンパターンに従ってスキャン変換した後に、０ランレングスを用いた可変長符号化（Variable Length Coding：ＶＬＣ）が行なわれる。
【００１４】
非０係数検出器３は、可変長符号復号器２から出力される量子化係数Ｑ１を、ある単位（以下、調査単位という）毎に、その量子化係数が非０であるか、０であるかを調査するもので、調査単位に１以上の非０係数が含まれる場合は、その調査単位の量子化係数を出力すると共にこれを示す有意係数フラグを出力する。この場合の有意係数フラグを例えば「１」とする。なお、本明細書においては、非０係数を１以上含む調査単位のことを有意係数ということとする。また、調査単位の量子化係数が全て０係数の場合はこれを示す有意係数フラグを出力する。この場合の有意係数フラグを例えば「０」とする。以下の説明においては、非０係数検出器３から有意係数として出力される量子化係数を量子化係数Ｑ２という。
【００１５】
この画像データ復号装置１は、更に、非０係数検出器３から出力される上記有意係数フラグを格納する有意係数フラグＦＩＦＯ４及び量子化係数Ｑ２を格納する量子化係数ＦＩＦＯ５を有する。また、有意係数フラグＦＩＦＯ４及び量子化係数ＦＩＦＯ５からの出力に基づき量子化係数を復元する０係数発生器６と、０係数発生器６が復元した量子化係数に基づき画像を復号する画像復号器７とを有する。以下の説明においては、量子化係数ＦＩＦＯ５から出力される量子化係数を量子化係数Ｑ３、０係数発生器６から出力される量子化係数を量子化係数Ｑ４という。ここで、可変長符号復号器２は量子化係数出力部として、非０係数検出器３は調査部として、有意係数フラグＦＩＦＯ４は調査結果メモリとして、また、量子化係数ＦＩＦＯ５は、係数メモリとして機能する。
【００１６】
図２は、本実施の形態にかかる画像データ復号装置の可変長符号復号器の一例を示すブロック図、図３は、非０係数検出器３を示すブロック図である。可変長符号復号器２は、例えば、ＭＰＥＧ−２（Ｈ．２６２）、Ｈ．２６４、ＶＣ−１などの圧縮符号データから量子化係数を求める。本実施の形態における可変長符号復号器２は、いずれのフォーマットであっても量子化係数Ｑ１が出力されるよう構成される。
【００１７】
具体的には、図２に示すように、可変長符号復号器２は、Ｈ．２６４フォーマットの圧縮符号データを復号するＨ．２６４符号復号器２１、ＶＣ−１フォーマットの圧縮符号データを復号するＶＣ−１符号復号器２２、及びＭＰＥＧ−２フォーマットの圧縮符号データを復号するＭＰＥＧ−２符号復号器２３など、各種フォーマットの圧縮符号データを復号する復号器を有する。
【００１８】
Ｈ．２６４は、ＭＰＥＧ４  ＡＶＣ（Advanced Video Coding）とも呼ばれ、データ圧縮率は、ＭＰＥＧ−２の２倍以上、ＭＰＥＧ−４の１．５倍以上とすることができる圧縮符号化方式である。また、ＶＣ−１はマイクロソフト社が開発した動画圧縮技術であり、Ｈ．２６４と同程度のデータ圧縮率を有する。これらのアドバンスドコーデック（高圧縮コーデック）は、ＨＤ  ＤＶＤ（High Definition DVD）、又はブルーレイディスク等の次世代ＤＶＤ規格に適用される。
【００１９】
ここで、ＶＣ−１符号復号器２２、ＭＰＥＧ−２符号復号器２３では、圧縮符号データから０係数の数とそれに続く非０係数の値との組（run,level）を復号する。例えば、ＭＰＥＧ−２符号復号器２３は、圧縮符号データから量子化されたＤＣＴ係数に関する可変長符号と各種のパラメータに関する可変長符号が復号される。量子化されたＤＣＴ係数に関する可変長符号は、量子化されかつスキャン変換された０係数（値が０のＤＣＴ係数）の連続長を示す０ランレングス（run）と、これに続く非０係数（値が非０のＤＣＴ係数）（level）の組を可変長符号化したものである。ＭＰＥＧ−２符号復号器２３は、可変長符号を復号する毎に復号結果を出力し、ＤＣＴ係数に関する可変長符号の復号時には可変長符号を１つ復号する毎に、量子化された（run,level）を復号結果として出力する。
【００２０】
これに対し、本実施の形態においては、量子化係数Ｑ１のみを出力するため、ＶＣ−１符号復号器２２又はＭＰＥＧ−２符号復号器２３を有する場合には、（run,level）から量子化係数Ｑ１を出力する（run,level）復号器２４を有する。可変長符号復号器２は、求めた量子化係数Ｑ１を逐次的に非０係数検出器３に入力する。
【００２１】
非０係数検出器３は、供給される量子化係数Ｑ１を一時的に保存する量子化係数一時ＦＩＦＯ３１と、量子化係数一時ＦＩＦＯ３１に格納される量子化係数が０係数であるか非０係数であるかを判定する非０係数判定器３２とを有する。さらに、非０係数判定器３２の判定結果を格納する判定フラグバッファ３３と、判定フラグバッファ３３の出力の論理和を求めるＯＲ回路３４と、ＯＲ回路の出力によりＯＮ／ＯＦＦする出力スイッチ３５とを有する。非０係数判定器３２、判定フラグバッファ３３、ＯＲ回路３４、及び出力スイッチ３５から、調査単位が有意係数であるか否かを示す有意係数フラグを調査結果として出力すると共に、調査単位が有意係数であると判定した場合に量子化係数一時ＦＩＦＯ３１に格納した量子化係数（有意係数）を出力させる調査結果生成部３６が構成される。量子化一時ＦＩＦＯ３１は、係数用メモリとして機能する。
【００２２】
非０係数検出器３に供給された量子化係数Ｑ１は、量子化係数一時ＦＩＦＯ３１及び非０係数判定器３２に送られる。量子化係数一時ＦＩＦＯ３１は、ある単位（数）の量子化係数、すなわち調査単位の量子化係数を格納するＦＩＦＯである。調査単位としては、例えば、量子化係数が２つ、４つ、又は８つ（以下、量子化係数ｎ（ｎは自然数）個からなる係数列をｎ係数単位ともいう。）等とすることができる。
【００２３】
非０係数判定器３２は、量子化係数一時ＦＩＦＯ３１にも入力される量子化係数が非０であるか否かを判定し、例えば非０であれば「１」、０であれば「０」の判定フラグを出力する。判定フラグバッファ３３は、非０係数判定器３２が出力する各判定フラグを順次格納するバッファであり、上記調査単位分の判定フラグを格納し、ＯＲ回路３４に入力する。
【００２４】
ＯＲ回路３４は、調査単位分の判定フラグが全て入力され、これらの論理和を有意係数フラグとして出力する。すなわち、有意係数フラグは、調査単位毎に、調査単位が非０係数を含むか否かを示すフラグである。この有意係数フラグはまた、出力スイッチ３５のＯＮ／ＯＦＦを制御する制御信号となる。出力スイッチ３５は、有意係数フラグが「１」、すなわち、調査単位に含まれる量子化係数の少なくとも１つが非０であれば、ＯＮとなる。一方、調査単位に含まれる量子化係数が全て０の係数である場合にのみ、有意係数フラグが「０」となる。
【００２５】
調査単位に非０係数が含まれ、出力スイッチ３５がＯＮになると、量子化係数一時ＦＩＦＯ３１からの量子化係数（有意係数）が出力される。一方、調査単位が全て０係数からなる場合には出力スイッチ３５はＯＦＦとなり、量子化係数は出力されない。すなわち、量子化係数一時ＦＩＦＯ３１から出力スイッチ３５を経て出力されるのは、有意係数のみである。
【００２６】
量子化係数一時ＦＩＦＯ３１は、少なくとも調査単位分の係数を格納可能なＦＩＦＯであり、判定フラグバッファ３３は、調査単位分の判定フラグを格納可能なバッファである。ここで、本実施の形態においては、調査単位は、所定の単位、すなわち例えば２係数単位、４係数単位、８係数単位などの予め設定された固定の大きさとして説明するが、圧縮符号データに応じて調査単位の大きさを動的に変化させるようにしてもよい。その場合、最も大きな調査単位に対応できるよう量子化係数一時ＦＩＦＯ３１、判定フラグバッファ３３を構成すればよい。
【００２７】
有意係数フラグＦＩＦＯ４は、非０係数検出器３において演算された有意係数フラグを順次格納する。量子化係数ＦＩＦＯは、非０係数検出器３から出力される量子化係数Ｑ２、すなわち有意係数を格納する。
【００２８】
０係数発生器６は、有意係数フラグＦＩＦＯ４から有意係数フラグを受け取り、量子化係数ＦＩＦＯ５から有意係数として格納されている量子化係数Ｑ３を読み出し、量子化係数Ｑ４を生成する。すなわち、先ず、有意係数フラグを受け取り、受け取った有意係数フラグが「０」の場合、調査単位分の０を発生し、有意係数フラグが「１」の場合、量子化係数ＦＩＦＯ５から有意係数として格納されている量子化係数Ｑ３を読み出し出力する。これにより、量子化係数ＦＩＦＯ５に格納された有意係数と有意係数フラグＦＩＦＯ４に格納された有意係数フラグとから、可変長符号復号器２から出力される量子化係数Ｑ１を復元した量子化計数Ｑ４を出力することができる。なお、有意係数としての量子化係数Ｑ２は、量子化係数ＦＩＦＯ５に入力されそのまま出力されるため、出力される量子化係数Ｑ３は、非０係数検出器３から出力される量子化係数Ｑ２と同一である。また、０係数発生器６は、以上の処理により、可変長符号復号器２から出力される量子化係数Ｑ１（＝Ｑ４）を復元する。
【００２９】
このように、量子化係数ＦＩＦＯ５には、量子化係数Ｑ１のうち有意係数のみが格納され、調査単位が全て０係数の場合は量子化係数Ｑ１を格納しないため、可変長符号復号器２から出力される量子化係数Ｑ１よりも少ないデータ量となる。これを０係数発生器６において、可変長符号復号器２から出力される量子化係数Ｑ１と同じ量子化係数となるよう復元することにより、可変長符号復号器２にて復号される量子化係数Ｑ１を、実際のデータ量より少ないデータ量としてバッファリングしておき、後段の画像復号器７へ送ることができる。すなわち、量子化係数を調査単位毎に有意係数か否かを判断し、有意係数のみを格納するため、量子化ＦＩＦＯの容量を増やさずに、量子化係数Ｑ１を圧縮して量子化係数ＦＩＦＯ５に格納する量子化係数を減少させることができる。すなわち、同じ容量の量子化係数ＦＩＦＯ５であれば、後段の画像復号器７に対してより多くの量子化係数を保持し、可変長符号復号処理を先行することができる。これにより処理の変動を平均化でき、見かけ上高速化することができるようになる。
【００３０】
次に、本実施の形態にかかる画像データ復号装置の動作について具体的に説明する。ＭＰＥＧ−２やＨ．２６４といった動画像の圧縮規格は、ブロックと呼ばれる矩形単位で圧縮処理を行う。ブロックに分割された画像は直交変換し、量子化することで、高い圧縮率と比較的劣化の少ない画像を実現する。
【００３１】
例えば、ＭＰＥＧ−２では、量子化作業の前段階として、動き予測とフレーム間予測から得た映像情報を周波数ドメインに変換するために離散コサイン変換（ＤＣＴ）を行う。ＤＣＴは、画像を小さな矩形ブロックブロック単位で効率のよい符号を割り当てることで圧縮を行うものであり、ＭＰＥＧ−２では８×８画素を１ブロックとしている。
【００３２】
また、ＭＰＥＧ−２では８×８画素のブロックに対してＤＣＴが用いられているのに対して、Ｈ．２６４では４×４画素の直交変換（いわゆる整数精度ＤＣＴ）を用いる。これはＤＣＴの浮動小数点計算を整数化した手法であり、より小さなブロックサイズ（４×４画素まで）とすることでデコード画像のブロック・ノイズを目立たなくすることができる。なお、Ｈ．２６４では、その他、フレーム間予測の導入、ＣＡＢＡＣ（Context Adaptive Binary-Arithmetic Coding：コンテキスト適応型２値算術符号方式）と呼ばれる算術符号を導入する等することで高い圧縮効率を達成している。
【００３３】
図４（ａ）は、Ｈ．２６４における４×４ブロックを示す模式図、図４（ｂ）は、ＭＰＥＧ−２における８×８ブロックを示す模式図である。図４（ａ）、図４（ｂ）において、斜線で示す画素位置の量子化係数が非０係数、それ以外の画素位置の量子化係数が０係数を示すものとする。図４（ａ）、図４（ｂ）に示すように、ブロック内の左上に非０係数が偏る傾向がある。
【００３４】
図５は、１６×１６のブロックから構成されるマクロブロックのＤＣＴ係数を、４×４ブロック及び８×８のブロックを単位にしてジグザグスキャンにより一次元ベクトルに変換する説明図である。圧縮符号列に格納されている量子化係数は、図５に示すように、ジグザグスキャンの順番に格納される。図６（ａ）及び図６（ｂ）は、それぞれ図４（ａ）及び図４（ｂ）に示すブロックをジグザグスキャンの順番に並べた例を示す図である。可変長符号復号器２から、このように０係数又は非０係数である量子化係数が一次元に並べられた状態で出力される。
【００３５】
非０係数検出器３は、このような量子化係数列が入力され、調査単位毎に有意係数か否かを判定する。図６（ａ）、図６（ｂ）に示す量子化係数について、８個の係数（以下、８係数単位という）を調査単位とし、その有意係数フラグを調査した結果をそれぞれ図７（ａ）、図７（ｂ）に示す。また、４個の係数（以下、４係数単位という）を調査単位とし、その有意係数フラグ調査した結果をそれぞれ図８（ａ）、図８（ｂ）に示す。調査単位が有意係数である場合には、有意係数フラグが「１」となり、出力スイッチ３５がＯＮになり、量子化係数一時ＦＩＦＯ３１から量子化係数（有意係数）Ｑ２が出力されると共に、有意係数フラグ「１」がＯＲ回路３４から出力される。一方、調査単位が全て０係数で構成されている場合には、有意係数フラグ「０」がＯＲ回路３４から出力されると共に、これにより出力スイッチ３５がＯＦＦされ、量子化係数が出力されない。
【００３６】
図７（ａ）に示すＣＡＳＥ１〜ＣＡＳＥ４においては、最初の調査単位（８係数単位）にはいずれも複数の非０係数が含まれるため、有意係数フラグ「１」が出力され、量子化係数一時ＦＩＦＯ３１から出力スイッチ３５を介して８係数単位が有意係数（量子化係数Ｑ２）として出力される。次の調査単位は、全て０係数であるため、有意係数フラグ「０」のみが出力され、量子化係数は出力されない。図７（ｂ）も同様である。図８（ａ）では、図７（ａ）とは調査単位が異なり、４係数単位となっている。これにより、ＣＡＳＥ１、２の最初の調査単位には非０係数が含まれるため、有意係数フラグ「１」が有意係数フラグＦＩＦＯ４に送られると共に、有意係数として量子化係数Ｑ２が量子化係数ＦＩＦＯ５へ送られる。また、ＣＡＳＥ３、４では最初の２つの調査単位においては、有意係数フラグ「１」が有意係数フラグＦＩＦＯ４に送られると共に、有意係数として量子化係数Ｑ２が量子化係数ＦＩＦＯ５へ送られる。
【００３７】
こうして出力される有意係数フラグと有意係数とから０係数発生器６が、可変長符号復号器２が出力した量子化係数列（Ｑ１）を復元する。例えば図８（ａ）のＣＡＳＥ１であれば、有意係数フラグＦＩＦＯには、（１０００）が格納される。なお、前記括弧内は、有意係数フラグをＦＩＦＯに入力される順に示すものとする。０係数発生器６には、最初に有意係数フラグ「１」が入力され、これにより量子化係数ＦＩＦＯ５から有意係数（Ｑ３）を読み出し出力する。そして、次の有意係数フラグ「０」が入力されると、調査単位＝４係数単位分の０を出力する。以降、３、４番目の有意係数フラグも「０」であるため、有意係数フラグ「０」が入力される度に０を４係数単位分出力することとなる。こうして０係数発生器６は、図６のＣＡＳＥ１と同様の１６画素分の量子化係数、すなわち可変長符号復号器２の出力と同じ量子化係数Ｑ１（＝Ｑ４）を復元する。一方、この１６画素分の量子化係数を保持するためのメモリ容量は、本例においては、４つの有意係数フラグと、４係数単位分の量子化係数を格納するメモリ容量のみとなる。
【００３８】
次に、本実施の形態の効果について説明する。表１は、図６乃至図８に示した本実施の形態における具体例ＣＡＳＥ１〜ＣＡＳＥ６と、従来法とにおいて、格納する量子化係数のワード数の比較結果を示している。従来法は、（run,level）の組で格納する場合であって、（run,level）のそれぞれに１ワード格納するものとする。すなわち、量子化係数が非０係数である場合に２ワード必要としている。
【００３９】
【表１】
2006295796.tif 000003
【００４０】
例えば、ＣＡＳＥ４であれば、元データは１画素分の量子化係数を１ワードとすると１６画素分なので１６ワードとなる。この１６ワードに含まれる量子化係数のうち、ＣＡＳＥ４では６つが非０係数である。よって、これを従来法により（run.level）の組として格納する場合、６×２＝１２ワード分のメモリが必要となる。
【００４１】
これに対し、本実施の形態においては、図７に示すように調査単位を８係数単位とした場合には、１６画素が２つの調査単位となり、その有意係数フラグは"１０"となる。よって、量子化係数ＦＩＦＯ５に格納する量子化係数は、最初の調査単位のみ（８係数単位＝８ワード）となり、各調査単位に対応する有意係数フラグが合計２ｂｉｔｓとなる。すなわち、従来１２ワード必要であったメモリ容量が８ワード＋２ビットとなる。また、図８に示すように調査単位を４係数単位とした場合には、１６画素が４つの調査単位となり、その有意係数フラグは"１１００"となる。よって、量子化係数ＦＩＦＯ５に格納する量子化係数は、２×２調査単位＝８ワードとなり、各調査単位に対応する有意係数フラグ合計４つ分で４ｂｉｔｓとなる。
【００４２】
なお、従来法より一部メモリ容量が小さくならない場合もありえるが、データの種類、大きさ等によって調査単位の大きさを適宜設定することで全体として量子化係数を小さい容量で保存することが可能となる。
【００４３】
Ｈ．２６４、ＶＣ−１では、動き予測をすることで圧縮率を大幅に向上させているため、ＭＰＥＧ−２に比して可変長符号復号処理の変動幅が大きい。すなわち、動き予測が不能な例えば高精細でランダムな模様の画像などでは、非０係数が増加するため、圧縮率が一気に低下する。この非０係数の個数の増減と、可変長符号復号処理そのものの高度化もあって、可変長符号復号処理の処理量の変動は、ＭＰＥＧ−２などに比べて極めて大きいものとなる。しかしながら、処理量のピークに合わせて可変長符号復号器を設計することは、設計の困難さや多大なコストの増大が発生してしまう。例えば最悪のケースを想定してバッファの容量を増やせばより処理の先行を行えて処理量の平均化を行うことができるようになるが、バッファ容量の増大はすなわちコストの増大となる。
【００４４】
これに対し、本実施の形態においては、可変長符号復号器は後段の画像復号器に対して、量子化係数を蓄え、処理を先行させるバッファ（量子化係数ＦＩＦＯ）に対し、量子化係数のうち有意係数のみ、すなわち調査単位において非０係数が含まれる場合のみを格納することで、メモリ容量を小さくすることができる。換言すると、量子化係数ＦＩＦＯ５の容量以上の量子化係数をバッファリングすることができ、可変長符号復号器の処理の変動を平均化できるので平均実効速度が向上させることができる。
【００４５】
実施の形態２.  
次に、本発明の実施の形態２について説明する。上述の実施の形態１においては、調査単位は、固定単位として説明したが、可変とすることもできる。本実施の形態は、調査単位を可変に設定することで更に量子化係数を格納するメモリ容量の低減又は量子化係数のバッファリング効率の向上を図ったものである。
【００４６】
画像一般の特徴として、直交変換後のデータはブロック左上付近のＤＣ成分にほとんどの成分が集中する。画像圧縮はこの特徴から非０係数の発生確率は、ブロックの左上付近が最も高く右下に行くほど低くなる。この性質を用いて、例えば、左上の調査単位は１とし、右下にいくほど調査単位を大きくし、調査単位をブロック内で不均等に設定することも可能である。
【００４７】
本実施の形態においては、ブロックが１６画素からなる場合について説明する。また、本実施の形態においては、１ブロック（１６係数）を、予め用意したテーブル（以下、不均等係数単位テーブルという）に従った調査単位に設定して処理をするものとする。下記表２は、不均等係数単位テーブルを示す。不均等係数単位テーブルは、テーブルインデックスtableidxに対し、それぞれ所定の係数単位の調査単位（以下、不均等調査単位windowという）が対応付けられたものである。このように、１ブロックからなる量子化係数列の後方にて設定される調査単位を、前方にて設定される調査単位の大きさ以上とすることで、０係数の出現率に合わせた調査単位の設定となり、優位係数を効果的に低減することができる。
【００４８】
【表２】
2006295796.tif 000004
【００４９】
画像データ圧縮装置は、実施の形態１とほぼ同様の構成とすることができるが、非０係数検出器３及び０係数発生器６は、表２の不均等係数単位テーブルを参照可能に構成される。非０係数検出器３及び０係数発生器６がそれぞれ不均等係数単位テーブルを有してもよく、又は両者が共通の不均等係数単位テーブルを参照するようにしてもよい。また、本実施の形態においては、不均等調査単位を１〜６係数単位としている。この場合には、量子化係数一時ＦＩＦＯ３１及び判定フラグバッファ３３は、少なくとも６係数単位の調査単位について非０係数判定をし、有意係数フラグを生成できる構成とする。
【００５０】
図９は、本実施の形態２にかかる非０係数検出器における動作を示すフローチャートである。また図１０は、図６乃至図８に示すＣＡＳＥ１〜ＣＡＳＥ４について本実施の形態を適用して有意係数フラグを生成した場合の結果を示す模式図である。各ブロック内の量子化係数には先頭から係数インデックスcoefidxが付されているものとする。例えば図１０に示す各ＣＡＳＥ１〜ＣＡＳＥ４では左から係数インデックスcoefidx＝０〜１５が付されているものとする。
【００５１】
図９に示すように、先ず、係数インデックスcoefidx＝０、テーブルインデックスtableidx＝０を読み出す（ステップＳ１）。次に、テーブルインデックスtableidxが示す不均等調査単位windowを読み出す（ステップＳ２）。本例においては、テーブルインデックスtableidx＝０に対応した不均等調査単位window＝１を読み出す。調査単位が設定されると、この調査単位について非０係数検出器３は、実施の形態１と同様の処理を実行する。すなわち、非０係数判定器３２において量子化係数が非０係数であるか否かを判定し、係数インデックスcoefidxをインクリメントし、（ステップＳ３）、非０係数判定回数が不均等調査単位window以上になるまでステップＳ３からの処理を繰り返す（ステップＳ４）。ここでは不均等調査単位window＝１であるので、係数インデックスcoefidx＝０の量子化係数について非０係数か否かの判定の後、ステップＳ５に進む。
【００５２】
なお、本実施の形態においては、ステップＳ３、Ｓ４において不均等調査単位に含まれる全量子化係数の非０判定を行うものとして説明しているが、有意係数フラグは、不均等調査単位に含まれる少なくとも１つの量子化係数が非０であれば「１」に決定される。よって、不均等調査単位の非０係数判定（ステップＳ３）の後、当該判定結果が非０係数か否かを判定し、非０であればステップＳ３、Ｓ４の処理を打ち切ってステップＳ５に進み、０係数であったときのみステップＳ３からの処理を繰り返すようにしてもよいことは勿論である。
【００５３】
不均等調査単位window分の非０係数判定が終了すると、判定フラグバッファ３３に格納された判定フラグをＯＲ回路３４に出力し、全判定フラグの論理和を求める（ステップＳ５）。その結果、論理和（＝有意係数フラグ）が「１」であれば（ステップＳ６：ＮＯ）、有意係数フラグ「１」を出力すると共に、出力スイッチ３５を介して量子化係数一時ＦＩＦＯ３１に格納された量子化係数を出力させる（ステップＳ７）。一方、論理和＝有意係数フラグが「０」であれば（ステップＳ６：ＹＥＳ）、有意係数フラグのみを出力する（ステップＳ８）。
【００５４】
ＣＡＳＥ１であれば、不均等調査単位が１で、係数インデックスが０の場合、有意係数フラグは「１」であり、有意係数フラグ「１」と共に量子化係数が出力される。以上の処理を、係数インデックスcoefidx＝max（maxはブロックにおける最大係数インデックス、本実施の形態においては、max＝１５）となるまでステップＳ１からの処理を繰り返す。この場合、ステップＳ１に戻る前にテーブルインデックスtableidxをインクリメントし（ステップＳ１０）、次の不均等調査単位windowを読み出し（ステップＳ２）、非０係数判定を行う処理を繰り返す。
【００５５】
例えば、本実施の形態においては、次の不均等調査単位windowも１であるので、不均等調査単位window＝１、係数インデックスcoefidx＝１とし、係数インデックスcoefidx＝１の量子化係数が有意係数であるか否か、すなわちこの場合は非０係数であるか否かを判定して（ステップＳ２〜Ｓ４）、ステップＳ５へ進む。更に、次の繰り返し処理では、不均等調査単位window＝２、係数インデックスcoefidx＝２であるので係数インデックスcoefidx＝２、３からなる２係数単位について、各量子化係数が非０係数であるか否かを判定し、有意係数フラグを生成し（ステップＳ５）、ステップＳ６以降の処理を実行する。
【００５６】
このようにしてＣＡＳＥ１〜ＣＡＳＥ４について求めた有意係数フラグは図１０に示すようになる。表２の不均等調査単位テーブルに設定された不均等調査単位である１、１、２、２、４、６係数単位を使用することで、調査単位を可変にし、有意係数フラグを生成した場合、ブロックの右下部分、すなわち係数インデックスcoefidxが大きいほど大きな係数単位の調査単位が設定されることとなる。この場合、係数インデックスcoefidxが大きいほど０係数が多い場合には、極めて効果的に量子化係数の格納数（word）を減らすことができ、また有意係数フラグの数も低減することができる。下記表３に従来方と本実施の形態との比較を示す。
【００５７】
【表３】
2006295796.tif 000005
【００５８】
本実施の形態においては、予め用意した不均等調査単位テーブルを参照して調査単位を切り替えることができ、最も大きい調査単位の非０検出が可能な構成とするのみで、対象とする画像によっては極めて効率的に量子化係数ＦＩＦＯ５に格納する量子化係数を減らすことができる。すなわち、連続する０係数をまとめて調査単位に設定することで、量子化係数が０係数である場合にはこれを保持しないため、量子化係数のうち０係数の連続長が長いほど効率よく圧縮することができ、量子化係数の格納容量を減らすことができる。
【００５９】
上述したように、一般的にブロックの左上隅に近い画素の非量子化係数は、非０係数である確率が高く、左上隅から離れれば離れるほど、すなわち右下隅に向かうほど量子化係数が０係数である確率が高くなる。したがって、ブロックの左上隅に近い画素は非０係数の確率が高いことから短い調査単位を設定し、０係数の確率が高い右下隅近傍においては大きな調査単位を設定すれば、０係数の出現確率が高いブロック右下隅は勿論、０係数の出現確率が低いブロック左上隅近傍であっても量子化係数を圧縮することが可能となる。
【００６０】
このように所定数の量子化係数からなる量子化係数列、例えば１ブロック１６画素であれば１６の量子化係数列に対して、０係数の連続長の統計的出現確率を考慮した可変の係数単位を予め設定しておくことで、０係数の出現確率が低い場合においても圧縮を可能にする。これにより、調査単位を一律に固定長とする場合に比して０係数の圧縮率を更に向上させ、画像復号器７へ実際に供給する量子化係数を量子化係数ＦＩＦＯ５に格納可能な量子化係数より多くすることができ、画像復号処理を高速化することができる。
【００６１】
実施の形態３.  
次に、本発明の実施の形態３にかかる画像データ復号装置について説明する。本実施の形態は、実施の形態２と同様、調査単位を可変に設定するが、入力される画像データに無関係にテーブルを参照して調査単位を設定するのではなく、画像データに適応するよう量子化係数の非０係数の粗密に応じて適応的に調査単位を切り替えるものである。
【００６２】
図１１は、本実施の形態にかかる画像データ復号装置の非０係数検出器４３を示すブロック図である。なお、図３に示す非０係数検出器３と同一の構成要素には同一の符号を付しその詳細な説明は省略する。また、画像データ復号装置のその他の構成は、図１に示す実施の形態１にかかる画像データ復号装置と同様に構成することができる。
【００６３】
図１１に示すように、本実施の形態にかかる非０係数検出器４３は、判定フラグバッファ３３からの判定フラグの論理和を求めるＯＲ回路３４の代わりに、いずれの調査単位とすると最も出力する量子化係数が少なくてすむかを判定して有意係数フラグを生成する有意係数フラグ生成器５４を有する。
【００６４】
ここでは、例として予め用意する調査単位を、２係数単位、４係数単位、及び８係数単位の３つとし、これらの中から調査単位を適応的に切り替える場合について説明する。なお、適応的に切り替えるために用意する調査単位は、２つであっても４以上であってもよいことは勿論である。量子化係数一時ＦＩＦＯ３１は、最も大きい調査単位である８係数単位を一時保存することができるよう構成される。非０係数判定器３２は、最も大きい調査単位である８係数単位に含まれる各量子化係数それぞれについて非０係数であるか否かを判定する。判定フラグバッファ３３は、８つ分の判定フラグを全て格納し、有意係数フラグ生成器５４へ出力する。
【００６５】
有意係数フラグ生成器５４は、適応的に切り替える調査単位（以下、任意調査単位window2という）として、２係数単位、４係数単位、８係数単位を有する。なお、任意調査単位window2は、実施の形態２のように、例えばテーブルインデックスtableidxに任調査単位window2を対応づけたテーブルなどとして保持するものとすることができる。そして、任意調査単位window2である２係数単位、４係数単位、８係数単位の全てについて有意係数フラグを生成する。以下、この有意係数フラグを仮有意係数フラグという。
【００６６】
ここで、有意係数フラグ生成器５４は、各係数単位の調査結果、すなわち仮有意係数フラグに基づき、調査単位に非０係数が含まれる有意係数が少なくなるよう、調査単位に設定する係数単位を決定する処理を行う。例えば、大小の係数単位について仮有意係数フラグを生成した場合、いずれの仮有意係数フラグも「１」になる場合は、大きい係数単位を調査単位とし、大きい係数単位の仮有意係数フラグが「１」でかつ小さい係数単位の仮有意係数フラグが「０」となる場合には、小さい係数単位を調査単位とするなどとすることができる。
【００６７】
具体的には、本実施の形態の場合、仮有意係数フラグが「０」となり、かつ係数単位が大きくなるよう８係数単位、４係数単位、２係数単位を組み合わせる。例えば２係数単位の仮有意係数フラグが、「１」、「０」、「０」、「１」であれば、調査単位は、２係数単位、４係数単位、２係数単位と設定することができる。調査単位に設定する係数単位が決定したら、決定した係数単位の有意係数フラグが「１」であれば量子化係数一時ＦＩＦＯ３１から出力スイッチ３５を介して量子化係数を出力させる。また、有意係数フラグが「０」であれば出力スイッチ３５をＯＦＦにする。これらの動作は実施の形態１，２と同様である。
【００６８】
さらに、本実施の形態においては、後段の０係数発生器６に、受け取った有意係数フラグの調査単位がいくつの係数単位であるかを認識させるため、有意係数フラグと共に調査単位の大きさを示す識別子（調査単位識別子）を生成し、有意係数フラグと共に出力する。調査単位識別子は、本実施の形態においては、２、４、８係数単位としているため、例えば２ｂｉｔｓとし、８係数単位のとき「０」、４係数単位のとき「１」、２係数単位のとき「２」などとすればよい。
【００６９】
有意係数フラグＦＩＦＯ４は、有意係数フラグと共にこの調査単位識別子を受け取り、０係数発生器６に出力する。０係数発生器６は、有意係数フラグ及び調査単位識別子を受け取り、例えば有意係数フラグが「０」で、上記の係数単位を用いた場合、調査単位識別子が「０」であれば、８つの０係数を発生する。また、有意係数フラグが「１」で、調査単位識別子が「１」であれば、量子化係数ＦＩＦＯから４つの量子化係数を読み出し出力する。
【００７０】
これにより、例えば、８係数単位又は４係数単位とすると有意係数フラグが「１」となってしまう場合であっても、それより小さい２係数単位において有意係数フラグが「０」となる場合には、このより小さい２係数単位に切り替える処理ができ、画像データに応じて適応的に調査単位を切り替え設定することが可能となる。
【００７１】
次に、本実施の形態における有意係数フラグ生成方法について説明する。図１２は、有意係数フラグ生成器５４における有意係数フラグ生成方法、すなわち調査単位決定方法を示すフローチャートである。また、図１３は、図１２に示すステップＳ1６、１８、１９、２１、２２の詳細を示すフローチャートである。更に、図１４は、図６に示すＣＡＳＥ５について、本実施の形態を適用して有意係数フラグを生成した結果を示す図である。
【００７２】
図１２に示すように、先ず、実施の形態２と同様に、係数インデックスcoefidx＝０、任意調査単位window2の最大調査単位window2_maxを読み出し（ステップＳ１１）、係数インデックスcoefidx＝０から非０係数判定を行う（ステップＳ１２）。そして、係数インデックスcoefidxをインクリメントし、最大調査単位window2_maxに達するまで非０係数の判定を行う（ステップＳ１３）。ここで、本実施の形態においては、最大調査単位window2_max＝８である。
【００７３】
８個分の量子化係数の非０係数判定が終了したら、有意係数フラグ生成器５４は、２、４、８係数単位のそれぞれについて有意係数フラグ（以下、仮有意係数フラグという）を生成する（ステップＳ１４）。図１４は、６４の係数（８×８係数単位）のうち、１番目の８係数単位、２番目の８係数単位、５番目の８係数単位、８番目の８係数単位について、仮有意係数フラグを求めた結果を示している。
【００７４】
次に、求めた仮有意係数フラグから調査単位を決定し、その有意係数フラグを生成する処理について説明する。先ず、８係数単位について、２係数単位の仮有意係数フラグが"００００"又は"１１１１"である場合（ステップＳ１５：ＹＥＳ）、調査単位は８係数単位に決定する（ステップＳ１６）。なお、"００００"、"１１１１"は、左から係数インデックスcoefidxが小さい順の２係数単位毎の仮有意係数を示すものとする。この場合、調査単位となった（係数／２）つ分の判定フラグの論理和が有意係数フラグとなる。
【００７５】
次に、８係数単位について、２係数単位の仮有意係数フラグが"００？？"又は"１１？？"である場合（なお、「？」は、「１」又は「０」を示す）（ステップＳ１７：ＹＥＳ）、係数インデックスcoefidxが小さい順の４つ（４係数単位）を調査単位に設定する（ステップＳ１８）。一方、８係数単位について、２係数単位の仮有意係数フラグが"００？？"又は"１１？？"ではない場合（ステップＳ１７：ＮＯ）、係数インデックスcoefidxが小さい順の４つについては、それぞれ調査単位を２係数単位に設定する（ステップＳ１９）。
【００７６】
次いで、８係数単位について、２係数単位の仮有意係数フラグが"？？００"又は"？？１１"である場合（ステップＳ２０：ＹＥＳ）、例えば現在調査中の８係数単位が係数インデックスcoefidx＝０〜７である場合には、係数インデックスcoefidx＝４〜７の４つ（４係数単位）を調査単位に設定する（ステップＳ２１）。一方、８係数単位について、２係数単位の仮有意係数フラグが"？？００"又は"？？１１"ではない場合（ステップＳ２０：ＮＯ）、係数インデックスcoefidx＝４〜７の４つについてはそれぞれ調査単位を２係数単位に設定する（ステップＳ２２）。それぞれ設定された調査単位に含まれる係数についての判定フラグの論理和が有意係数フラグとなる。そして、係数インデックスcoefidx＝maxになるまでステップ１２からの処理を繰り返す（ステップＳ２３）。図１４に示すＣＡＳＥ５であれば、以上の処理を８回繰り返すことで、６４係数の調査単位が決定し、有意係数フラグが算出される。
【００７７】
図１４においては、たとえば最初の８係数については、２係数単位の仮有意係数フラグが"１１１１"であるため、調査単位は８係数単位となり、有意係数フラグが「１」と求まる。また、２番目の８係数については、２係数単位の仮有意係数フラグが"１１０１"となっており、４係数単位、２係数単位、２係数単位が、それぞれ調査単位に設定され、各調査単位の有意刑すフラグ「１」、「０」、「１」が求まる。
【００７８】
図１２のステップＳ１６、Ｓ１８、Ｓ１９、Ｓ２１、Ｓ２２は、更に図１３の処理を実行する。図１４において、２、４、８係数単位をまとめてａ係数単位と示す。図１２に示すように、調査単位が設定されると、有意係数フラグ生成器５４は、その調査単位（ａ係数単位）を示す調査単位識別子を格納し（ステップＳ２１）、当該調査単位の有意係数フラグが０であるか否かを判定（ステップＳ２２）する。そして、有意係数フラグが「１」であれば、有意係数フラグ「１」を、ステップＳ２１にて格納した調査単位識別子と共に出力し、更に量子化係数を量子化係数一時ＦＩＦＯ３１から調査単位分、出力スイッチ３５を介して出力させる。一方、有意係数フラグが「０」であれば、ステップＳ２１にて格納した調査単位識別子と共に有意係数フラグ「０」のみを出力する。
【００７９】
下記表４に従来法と本実施の形態との比較結果を示す。図１４に示すＣＡＳＥ５においては、量子化係数ＦＩＦＯに格納すべき量子化係数が２６ワードとなり、１４個の調査単位を生成して設定したため、有意係数フラグＦＩＦＯには、２８ｂｉｔｓの調査単位識別子及び１４ｂｉｔｓの有意係数フラグが格納されることとなる。
【００８０】
【表４】
2006295796.tif 000006
【００８１】
本実施の形態においても、量子化ＦＩＦＯに量子化係数を格納する前に、非０係数検出器において、ある単位（調査単位）毎に有意係数の有無を調査し、調査単位に非０係数が含まれる場合にのみ量子化ＦＩＦＯに量子化係数を格納し、調査単位に含まれる係数が全部が０係数のときは量子化ＦＩＦＯに量子化係数を格納せず、０係数発生器において有意係数フラグを参照して０係数を発生させる。このことにより、可変長符号復号器から量子化係数を格納するための量子化ＦＩＦＯの容量を増やさずに、格納する量子化係数の個数を増やすことができる。その結果、後段の画像復号器に対して処理を先行することで処理の変動を平均化でき、見かけ上高速化することができるようになる。
【００８２】
また、本実施の形態においては、最大調査単位window2_max＝８とし、２、４、８係数単位について仮有意係数フラグを生成し、有意係数フラグが０になるよう、すなわちより圧縮効率が高くなるように調査単位を決定している。このように、所定数の量子化係数からなる量子化係数列に対して２以上の異なる大きさの調査単位を用意しておき、この所定数の量子化係数列毎に、非０係数が含まれるか否かを各調査単位について調査し、当該量子化係数列に含まれる有意係数が好ましくは最小に、少なくとも目標とする所定値以下となるよう調査単位を決定していくことで、圧縮画像データに応じた調査単位を選択することで圧縮効率を向上し、小さいメモリ容量とすることができ、又は同じメモリ容量であればより多くの量子化係数を格納することができる。
【００８３】
更に、可変長符号復号器は、可変長符号から量子化係数を出力するのみでよく、圧縮ビットストリーム構造によらず汎用的に対応することができる。また、たとえ０係数が存在しない場合でも量子化係数ＦＩＦＯに格納するサイズが増えるようなことがない。
【００８４】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態１にかかる画像データ復号装置を示すブロック図である。
【図２】本発明の実施の形態１にかかる画像データ復号装置の可変長符号復号器の一例を示すブロック図である。
【図３】本発明の実施の形態１にかかる画像データ復号装置の非０係数検出器を示すブロック図である。
【図４】（ａ）は、Ｈ．２６４における４×４ブロックを示す模式図、（ｂ）は、ＭＰＥＧ−２における８×８ブロックを示す模式図である。
【図５】１６×１６のマクロブロック及び４×４ブロックのジグザグスキャンを示す模式図である。
【図６】（ａ）及び（ｂ）は、それぞれ図４（ａ）及び図４（ｂ）に示すブロックをジグザグスキャンの順番に並べた例を示す図である。
【図７】（ａ）及び（ｂ）は、それぞれ図６（ａ）、図６（ｂ）に示す量子化係数について、８個の係数（以下、８係数単位という）を調査単位とし、その有意係数フラグ調査した結果を示す図である。
【図８】（ａ）及び（ｂ）は、それぞれ図６（ａ）、図６（ｂ）に示す量子化係数について、８個の係数（以下、８係数単位という）を調査単位とし、その有意係数フラグ調査した結果を示す図である。
【図９】本発明の実施の形態２にかかる非０係数検出器における動作を示すフローチャートである。
【図１０】図６乃至図８に示すＣＡＳＥ１〜ＣＡＳＥ４について本実施の形態を適用して有意係数フラグを生成した場合の結果を示す模式図である。
【図１１】本発明の実施の形態３にかかる画像データ復号装置の非０係数検出器を示すブロック図である。
【図１２】同有意係数フラグ生成器における有意係数フラグ生成方法を示すフローチャートである。
【図１３】図１２に示すステップＳ1６、１８、１９、２１、２２の詳細を示すフローチャートである。
【図１４】図６に示すＣＡＳＥ５について、実施の形態３を適用して有意係数フラグを生成した結果を示す図である。
【図１５】従来の画像データ復号装置を示すブロック図である。
【符号の説明】
【００８６】
１  画像データ復号装置
２  可変長符号復号器
３  係数検出器
４  有意係数フラグＦＩＦＯ４
５  量子化係数ＦＩＦＯ
６  係数発生器
７  画像復号器
２１  Ｈ．２６４符号復号器
２２  ＶＣ−１符号復号器
２３  ＭＰＥＧ−２符号復号器
２４  （run,level）復号器
３１  量子化係数一時ＦＩＦＯ
３２  非０係数判定器
３３  判定フラグバッファ
３４  ＯＲ回路
３５  出力スイッチ
４３  非０係数検出器
５４  有意係数フラグ生成器
【図１】
2006295796.tif 000007
【図２】
2006295796.tif 000008
【図３】
2006295796.tif 000009
【図４】
2006295796.tif 000010
【図５】
2006295796.tif 000011
【図６】
2006295796.tif 000012
【図７】
2006295796.tif 000013
【図８】
2006295796.tif 000014
【図９】
2006295796.tif 000015
【図１０】
2006295796.tif 000016
【図１１】
2006295796.tif 000017
【図１２】
2006295796.tif 000018
【図１３】
2006295796.tif 000019
【図１４】
2006295796.tif 000020
【図１５】
2006295796.tif 000021