(57)【要約】【課題】Ｈ．２６４のＣＡＶＬＣ復号化回路の回路規模削減・高速化を目的とする。【解決手段】Ｈ．２６４のＣＡＶＬＣ復号化において、可変長符号から復号化されたシンタクス要素ｌｅｖｅｌとｒｕｎ＿ｂｅｆｏｒｅからＤＣＴ変換係数へ復号化する際に、可変長復号化を行いながら順次にシンタクス要素をＤＣＴ変換係数へ復号化する。【選択図】        図１
2006287862.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個のデータが、所定値以外の値をあらわす第一のシンボルおよび所定値に関する情報をあらわす第二のシンボルを含む少なくとも２種類のシンボルにシンボル符号化され、
さらに該少なくとも２種類のシンボルが各々可変長符号化された符号化ストリームを復号化する復号化装置であって、
前記符号化ストリームに対して可変長復号化を行い、該少なくとも２種類のシンボルを出力する可変長復号化手段と、
Ｎ個のデータ保持手段と、
前記Ｎ個のデータ保持手段に対して所定値を設定する初期化手段と、
前記可変長復号化手段から出力された少なくとも２種類のシンボルのうち、第一のシンボルをシンボル復号化して所定値以外の値を生成し、該所定値以外の値を前記データ保持手段に保持させる、第一のシンボル復号化手段と、
前記可変長復号化手段から出力された少なくとも２種類のシンボルのうち、第二のシンボルをシンボル復号化して所定値に関する情報を生成し、該所定値に関する情報に応じて、前記データ保持手段に保持された前記所定値以外の値の位置を変更する、第二のシンボル復号化手段と、
前記データ保持手段に保持されたＮ個のデータを出力するデータ出力手段
から構成されることを特徴とする復号化装置。
【請求項２】
前記所定値以外の値はデータの非ゼロデータで、前記所定値に関する情報はゼロの連続数で、前記所定値はゼロであることを特徴とする、請求項１記載の復号化装置。
【請求項３】
前記データは画像データであることを特徴とする、請求項１記載の復号化装置。
【請求項４】
前記データは直交変換係数であることを特徴とする、請求項１記載の復号化装置。
【請求項５】
Ｈ．２６４規格の可変長符号化データをＣＡＶＬＣ方式で復号化する復号化装置であって、
前記第一のシンボル復号化手段が、前記非ゼロデータとしてシンタクス要素ｌｅｖｅｌの値を前記データ保持手段に保持させ、
前記第二のシンボル復号化手段が、前記ゼロの連続数としてシンタクス要素ｒｕｎ＿ｂｅｆｏｒｅを復号化し、ｒｕｎ＿ｂｅｆｏｒｅの値に応じて前記データ保持手段に保持させたｌｅｖｅｌの値の位置を変更する
ことを特徴とする、請求項１乃至４いずれか記載の復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は復号化装置に関し、主として動画像データの復号化処理に関する。
【背景技術】
【０００２】
画像や音声データに対し、冗長度を減らしデータを圧縮する目的で、可変長符号を用いてエントロピー符号化する手法が広く用いられている。
【０００３】
例えば、ＭＰＥＧ−１／２／４符号化方式では、画像をブロック単位に分割し、直交変換および量子化をした後、ブロック内データを定められた順序でスキャンし、値が０であるデータの連続する個数（ラン）およびそれに続く０以外のデータ（非ゼロデータ）の値（レベル）のシンタクス要素について可変長符号化を行っている。ブロック内データは、所定の順番にスキャンされ、可変長符号化されたラン、レベルの組で表される。
【０００４】
例えば、簡単のために図４で示される４×４個のデータからなるブロックを考えると、各データを図５のような順番でジグザグスキャン読み出しして得られた、｛＋１２，−４，−６，０，０，＋８，−３，０，０，＋１，０，−１，０，０，０，０｝のデータ列から、各々の非ゼロデータ以前の連続する０の個数をラン、非ゼロデータの値をレベルとして、図６のように７組のラン及びレベルの組み合わせをとり、それぞれを可変長符号化する（ここで、図６の最後の組（１，−１）は、レベル値”−１”がブロックスキャン順で最後の非ゼロデータであることを示すために、ｌａｓｔフラグを付加して符号化する。）。
【０００５】
このように可変長符号化されたブロックデータの復号化を行う回路の構成として、通常は、図７（従来例１）のように、ブロック単位に、可変長復号化で得られたラン情報、レベル情報をメモリに一時的に保持し、ブロック単位の復号化が終了した後、メモリからラン、レベル各情報を順次読み出してブロック内データを出力する方式が考えられる。
【０００６】
例えば特許文献１の「ＭＰＥＧ復号装置」では、前述のブロック単位可変長復号部の回路規模を削減するために、８×８ブロック内の６４個のデータに１対１で対応したフリップフロップ（ＦＦ）を持ち、復号化したラン情報をもとに、ブロック内スキャン順に、対応するＦＦにレベル情報を書き込む。
【０００７】
Ｈ．２６４符号化方式では、ブロックデータの符号化にＣＡＶＬＣ（Ｃｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）方式を用いることにより、前述のＭＰＥＧ−１／２／４各符号化形式に比べて高い圧縮効率を実現している。ＤＣＴ変換を行った画素ブロックに対してブロック内の各ＤＣＴ係数をジグザグスキャンして１次元のデータ列として読み出した後、非ゼロ係数の個数ＴｏｔａｌＣｏｅｆｆ，最後に連続する、絶対値１となる係数の個数ＴｒａｉｌｉｎｇＯｎｅｓ，およびその符号ｔｒａｉｌｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇ，絶対値１でない非ゼロ係数各々の値ｌｅｖｅｌ，最後の非ゼロ係数より前の、値０となる係数（０係数）の個数ｔｏｔａｌ＿ｚｅｒｏｓ，各非ゼロ係数の前に連続する０係数の個数ｒｕｎ＿ｂｅｆｏｒｅの順で、復号化時に必要な情報を可変長符号化する。
【特許文献１】特開２００２−１５９００７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
Ｈ．２６４符号化方式では、符合語に対応するシンボルがレベル及びラン情報の組み合わせではなく、レベル情報、ラン情報はそれぞれ独立して可変長符号化されており、ブロック内の各非ゼロ係数のレベル情報を一通り全て符号化した後に、ラン情報の符号化を行う。レベル情報、ラン情報が対になっていないため、特許文献１の「ＭＰＥＧ復号装置」の方式を用いて回路規模の削減及び高速化を実現することは出来ない。
【０００９】
本発明は、以上の点に着目して成されたもので、Ｈ．２６４のＣＡＶＬＣ復号化回路の回路規模削減・高速化を目的とする。
【課題を解決するための手段】
【００１０】
上記の問題を解決するために、本発明の復号化装置は、
非ゼロデータおよびゼロデータの連続数がそれぞれ独立して可変長符号化された符号化ストリームを復号化する復号化装置であって、
前記符号化ストリームに対して可変長復号化を行い、非ゼロデータおよびゼロデータの連続数を含む少なくとも２種類のシンボルを出力する可変長復号化手段と、
Ｎ個のデータ保持手段と、
前記Ｎ個のデータ保持手段に対してゼロデータを設定する初期化手段と、
前記可変長復号化手段から出力された少なくとも２種類のシンボルのうち、シンボル符号化された非ゼロデータを復号化し、データ保持手段に保持させる、第一のシンボル復号化手段と、
前記可変長復号化手段から出力された少なくとも２種類のシンボルのうち、シンボル符号化されたゼロデータの連続数を復号化し、該ゼロデータの連続数に応じて、前記データ保持手段に保持された前記非ゼロデータの位置を変更する、第二のシンボル復号化手段と、
前記データ保持手段に保持されたＮ個のデータを出力するデータ出力手段
から構成される。
【発明の効果】
【００１１】
本願の請求項１記載の発明によれば、
Ｎ個のデータが、所定値以外の値をあらわす第一のシンボルおよび所定値に関する情報をあらわす第二のシンボルを含む少なくとも２種類のシンボルにシンボル符号化され、さらに該少なくとも２種類のシンボルが各々可変長符号化された符号化ストリームの復号化時に、
逐次符号化される第一のシンボルおよび第二のシンボルの対のテーブルを構成するメモリを設け、Ｎ個のデータを符号化したストリーム全ての復号化が終了した後、前記テーブルを順に参照して復号化されたＮ個のデータを得る方式に比べて、回路規模の削減ならびに処理の高速化が実現できる。
【００１２】
また、本願の請求項５記載の発明によれば、Ｈ．２６４符号化方式のような、符合語に対応するシンボルがレベル及びラン情報の組み合わせではなく、レベル情報、ラン情報はそれぞれ独立して可変長符号化されており、ブロック内の各非ゼロデータをレベル情報として一通り全て符号化した後に、ブロック内の連続するゼロデータの個数であるラン情報の符号化を行う符号化ストリームの復号化回路において、従来例に比較して回路規模の削減ならびに処理の高速化が実現できる。
【発明を実施するための最良の形態】
【００１３】
図１は本発明の画像復号化装置におけるブロックデータ復号化部を表す図面であり、本発明の特徴を最もよく表す。図１において、１０１は入力される可変長符号１１１をシンボル１１２に復号化するシンボル復号化手段である。
【００１４】
１０２は、第一のシンボルの復号化で生成される所定値以外の値を保持するデータ保持手段であり、復号化対象ブロック内のＮ個のデータ各々に対応して、データ保持手段＃０（１０２−０），データ保持手段＃１（１０２−１），…，データ保持手段＃Ｎ（１０２−Ｎ）のＮ個で構成される。
【００１５】
１０３は、データ保持手段１０２のＮ個の構成要素（１０２−０，１０２−１，…，１０２−Ｎ）に選択的に所定値１１３を入力することにより保持するデータ値を初期化するデータ初期化手段である。
【００１６】
１０４は、シンボル復号化手段１０１から出力されるシンボル１１２のうち第一のシンボルを復号化して所定値以外の値を生成し、選択的にデータ保持手段１０２に書き込む第一のシンボル復号化手段である。
【００１７】
１０５は、シンボル復号化手段１０１から出力されるシンボル１１２のうち第二のシンボルを復号化して得られる所定値に関する情報に応じて、各々のデータ保持手段（１０２−０，１０２−１，…，１０２−Ｎ）間で保持される値の位置を選択的に変更する第二のシンボル復号化手段である。
【００１８】
１０６は、前記データ保持手段１０２に保持されたＮ個のデータ１１４を出力するデータ出力手段である。
【実施例】
【００１９】
（実施の形態１）
図１は本発明の実施の形態１のブロックデータ復号化部を示すブロック図である。
【００２０】
本実施形態では、図１のとおり構成されたブロックデータ復号化部を使用し、Ｈ．２６４におけるエントロピー復号化処理の１つであるＣＡＶＬＣ方式処理に適用した例を示す。
【００２１】
Ｈ．２６４におけるＣＡＶＬＣ符号化は、図４のような４ｘ４ブロックのＤＣＴ係数を、図５のようにジグザグスキャン順｛＋１２，−４，−６，０，０，＋８，−３，０，０，＋１，０，−１，０，０，０，０｝に読み出し、図２に示すような６種のシンタクス要素、
０でない係数（非ゼロ係数）の個数（ＴｏｔａｌＣｏｅｆｆ）［７］，
最後に連続する、絶対値１となる係数の個数（ＴｒａｉｌｉｎｇＯｎｅｓ）［２］および符号（ｔｒａｉｌｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇ）［−，＋］，
絶対値１でない非ゼロ係数各々の値（ｌｅｖｅｌ）［−３，＋８，−６，−４，＋１２］，
最後の非ゼロ係数より前の、値０となる係数（０係数）の個数（ｔｏｔａｌ＿ｚｅｒｏｓ）［５］，
各非ゼロ係数の前に連続する０係数の個数（ｒｕｎ＿ｂｅｆｏｒｅ）［１，２，０，２，０，０］
として可変長符号化される。
【００２２】
次に、図２のとおりＣＡＶＬＣ方式にて符号化されたシンタクス要素を順次復号化しブロックデータを得る処理について図３を用いて説明する。なお、図３は４×４すなわち１６個の係数を保持するデータ保持手段＃０〜＃１５の遷移を表したものであり、第一のシンボルに相当するシンタクス要素としてｌｅｖｅｌ，第二のシンボルに相当するシンタクス要素としてｒｕｎ＿ｂｅｆｏｒｅを用いる。簡単のため、各データ保持手段の空欄となっている箇所は所定値（ここでは０）が保持されているものとする。あらかじめ各データ保持手段に初期値を入力して初期化しておく。
【００２３】
ステップ１では、可変長復号化によりシンタクス要素としてＴｏｔａｌＣｏｅｆｆ＝７，すなわち非ゼロ係数の個数が求まり、次ステップ以降で最初に書き込む非ゼロ係数の位置（書き込みポインタ）が決まる。非ゼロ係数はブロックスキャンの逆順に符号化されているため、書き込みポインタは７個目の非ゼロ係数の位置、すなわちデータ保持手段＃６にセットされる。この段階ではデータ保持手段への書き込みは行われない。
【００２４】
ステップ２では、可変長復号化によりシンタクス要素としてＴｒａｉｌｉｎｇＯｎｅｓ＝２，すなわち最後に連続する絶対値１となる非ゼロ係数の個数が求まる。ステップ１で非ゼロ係数の個数が７個ということがわかっているため、そのうちの後ろ２つ、すなわちデータ保持手段＃５およびデータ保持手段＃６には絶対値１の非ゼロ係数が書き込まれることが決まるが、ここではまだ係数の符号が決まっていないため、この段階ではデータ保持手段への書き込みは行われない。次ステップ以降でＴｒａｉｌｉｎｇＯｎｅｓの個数だけ、ｔｒａｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇの復号化を行う。
【００２５】
ステップ３では、可変長復号化によりシンタクス要素としてｔｒａｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇ：”−“，すなわちデータ保持手段＃６に書き込まれる７番目の非ゼロ係数（絶対値１）の符号が負と決定され、データ保持手段＃６には値”−１”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段＃５にセットされる。
【００２６】
ステップ４では、可変長復号化によりシンタクス要素としてｔｒａｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇ：“＋”，すなわちデータ保持手段＃５に書き込まれる６番目の非ゼロ係数（絶対値１）の符号が正と決定され、データ保持手段＃６には値“＋１”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段＃４にセットされる。ステップ３、４でＴｒａｉｌｉｎｇＯｎｅｓの個数だけのｔｒａｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇの復号化が終了する。
【００２７】
ステップ５では、可変長復号化によりシンタクス要素としてｌｅｖｅｌ＝−３，すなわち５番目の非ゼロ係数値が決定され、データ保持手段＃４には値“−３”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段＃３にセットされる。
【００２８】
ステップ６では、可変長復号化によりシンタクス要素としてｌｅｖｅｌ＝＋８，すなわち４番目の非ゼロ係数値が決定され、データ保持手段＃３には値“＋８”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段＃２にセットされる。
【００２９】
ステップ７では、可変長復号化によりシンタクス要素としてｌｅｖｅｌ＝−６，すなわち３番目の非ゼロ係数値が決定され、データ保持手段＃２には値“−６”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段＃１にセットされる。
【００３０】
ステップ８では、可変長復号化によりシンタクス要素としてｌｅｖｅｌ＝−４，すなわち２番目の非ゼロ係数値が決定され、データ保持手段＃１には値“−４”が書き込まれる。書き込み完了後、書き込みポインタは一つ前、データ保持手段＃０にセットされる。
【００３１】
ステップ９では、可変長復号化によりシンタクス要素としてｌｅｖｅｌ＝＋１２，すなわち１番目の非ゼロ係数値が決定され、データ保持手段＃０には値“＋１２”が書き込まれる。以上で第１のシンボル復号化による全ての非ゼロ係数の書き込みが終了したので、次ステップ以降の第二のシンボル復号化によるデータ位置の変更処理をおこなうため、書き込みポインタは最後の非ゼロ係数に対応したデータ保持手段＃６にセットされる。
【００３２】
ステップ１０では、可変長復号化によりシンタクス要素としてｔｏｔａｌ＿ｚｅｒｏｓ＝５，すなわち最後の非ゼロ係数より前の０係数の個数が決定される。本ステップではデータ保持手段への書き込みは行われない。
【００３３】
ステップ１１では、可変長復号化によりシンタクス要素としてｒｕｎ＿ｂｅｆｏｒｅ＝１，すなわち７番目の非ゼロ係数の前に連続する０係数の個数として１が決まる。よって７番目の非ゼロ係数に対応するデータ保持手段＃６（およびそれに続くデータ保持手段＃７〜データ保持手段＃１５）の値を、シフト操作により１つずつ後順のデータ保持手段に移動させた後、シフト操作で空きのできたデータ保持手段＃６に値０を書き込む。書き込み完了後、書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段＃５にセットされる。
【００３４】
ステップ１２では、可変長復号化によりシンタクス要素としてｒｕｎ＿ｂｅｆｏｒｅ＝２，すなわち６番目の非ゼロ係数の前に連続する０係数の個数として２が決まる。よって６番目の非ゼロ係数に対応するデータ保持手段＃５（およびそれに続くデータ保持手段＃６〜データ保持手段＃１５）の値を、シフト操作により２つずつ後順のデータ保持手段に移動させた後、シフト操作で空きのできたデータ保持手段＃５〜データ保持手段＃６に値０を書き込む。書き込み完了後、書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段＃４にセットされる。
【００３５】
ステップ１３では、可変長復号化によりシンタクス要素としてｒｕｎ＿ｂｅｆｏｒｅ＝０，すなわち５番目の非ゼロ係数の前に連続する０係数の個数は０となり、シフト操作および値０の書き込みは行われない。書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段＃３にセットされる。
【００３６】
ステップ１４では、可変長復号化によりシンタクス要素としてｒｕｎ＿ｂｅｆｏｒｅ＝２，すなわち４番目の非ゼロ係数の前に連続する０係数の個数として２が決まる。よって４番目の非ゼロ係数に対応するデータ保持手段＃３（およびそれに続くデータ保持手段＃４〜データ保持手段＃１５）の値を、シフト操作により２つずつ後順のデータ保持手段に移動させた後、シフト操作で空きのできたデータ保持手段＃３〜データ保持手段＃４に値０を書き込む。書き込み完了後、書き込みポインタは一つ前の非ゼロ係数に対応したデータ保持手段＃２にセットされる。本ステップでｔｏｔａｌ＿ｚｅｒｏｓ（＝５）の個数分（ステップ１１：１個、ステップ１２：２個、ステップ１４：２個）だけ０係数書き込み処理が終了したため、以降のシンタクス要素ｒｕｎ＿ｂｅｆｏｒｅは（０となる）実際には符号化されていない。したがってステップ１５〜ステップ１７は実際には実行されない。また、最初の初期化動作により、ステップ１〜本ステップまでの間に係数データの書き込まれなかったデータ保持手段＃１２〜データ保持手段＃１５には０係数が格納されている。
【００３７】
上記ステップ１〜ステップ１４までの処理を行った後、データ保持手段を順次読み出すことにより、図４のとおりの元ブロックデータを復号化できる。
【図面の簡単な説明】
【００３８】
【図１】本願の画像復号化装置におけるブロックデータ復号化部のブロック図
【図２】本願の実施の形態１の符号化／復号化対象となるブロックデータのシンタクス要素の一覧図
【図３】本願の実施の形態１におけるデータ保持手段内データの遷移を表す図
【図４】本願の実施の形態１の符号化／復号化対象となるブロックデータの図
【図５】本願の実施の形態１の符号化／復号化対象となるブロックデータのスキャン順序を示す図
【図６】図４のブロックデータに対するランレングス符号化処理の一例を示す図
【図７】従来例１のブロックデータ復号化処理を表す図
【符号の説明】
【００３９】
１０１  シンボル復号化手段
１０２  データ保持手段
１０３  データ初期化手段
１０４  第一のシンボル復号化手段
１０５  第二のシンボル復号化手段
１０６  データ出力手段
【図１】
2006287862.tif 000003
【図２】
2006287862.tif 000004
【図４】
2006287862.tif 000005
【図５】
2006287862.tif 000006
【図６】
2006287862.tif 000007
【図７】
2006287862.tif 000008
【図３】
2006287862.tif 000009