(57)【要約】【課題】ＭＰＥＧ４−ＡＶＣの復号に使用される可変長復号において、回路規模を小さくすることを目的とする。【解決手段】ブロックの値を出力するブロック指定手段と、ブロック指定手段からのブロック値により記憶手段の記憶領域を指示する記憶領域指示手段と、記憶手段の２つの領域の値を演算し結果を出力するパラメータ演算手段と、符号化された信号とパラメータ演算手段からの信号により非ゼロの係数の数量を抽出する係数数量抽出手段と、パラメータ演算手段が演算に用いた２つの領域へ係数数量抽出手段からの値を記憶手段へ書き込む記憶手段制御手段とを備えることにより、可変長復号装置を構成する。【選択図】図１
2005318056.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段の２つの領域の値を演算し結果を出力するパラメータ演算手段と、
符号化された信号とパラメータ演算手段からの信号により非ゼロの係数の数量を抽出する係数数量抽出手段と、
パラメータ演算手段が演算に用いた２つの領域へ係数数量抽出手段からの値を記憶手段へ書き込む記憶手段制御手段と
を備えることを特徴とする可変長復号装置。
【請求項２】
デコードする処理ブロック位置を示す値を出力するブロック指定手段を備え、
前記記憶手段が左隣のブロックの係数数量を記憶する記憶手段Ａと、上隣のブロックの係数数量を記憶する記憶手段Ｂで構成されることを特徴とする請求項１記載の可変長復号装置。
【請求項３】
８個の係数数量を記憶できる前記記憶手段Ａと、
８個の１倍以上の係数数量を記憶できる前記記憶手段Ｂと
を備えることを特徴とする請求項２記載の可変長復号装置。
【請求項４】
デコードするマクロブロックが２つ以上で、
２つ目のマクロブロックのデコードを開始するときに、左隣のマクロブロックの可変長復号処理を終えたときの前記記憶手段Ａの８個の係数数量の値を用いることを特徴とする請求項３記載の可変長復号装置。
【請求項５】
ピクチャの水平方向のマクロブロック数を設定する制御手段と、
現在デコードしているマクロブロックの水平方向の位置を管理している水平位置管理手段とを備え
水平位置管理手段はピクチャの水平方向のマクロブロック数と現在デコードしているマクロブロックの水平方向の位置が同じとなると、次のマクロブロックはピクチャの左端と判断し、次のマクロブロックのデコードを開始するときに、記憶手段Ａの８個の係数数量の値に無効データを設定することを特徴とする請求項３記載の可変長復号装置。
【請求項６】
ピクチャの水平方向のマクロブロック数を設定する制御手段と、
現在デコードしているマクロブロックの水平方向の位置を管理している水平位置管理手段と、
デコード処理を完了したマクロブロックの数を出力する処理ＭＢ数生成手段と、
水平方向のマクロブロック数の８倍の個数の係数数量を記憶できる係数数量記憶手段Ｂとを備え
処理ＭＢ数生成手段がピクチャのマクロブロック数と同じとなった次のマクロブロックのデコード処理の時は、上隣のマクロブロックの８個の係数数量を記憶した記憶手段Ｂの値を用いて処理を実行することを特徴とする請求項３または請求項５記載の可変長復号装置。
【請求項７】
請求項１から６のいずれか記載のＭＰＥＧ−４  ＡＶＣの可変長復号装置。
【請求項８】
請求項１から７のいずれか記載の可変長復号装置を備えた画像復号装置。
【請求項９】
記憶手段の２つの領域の値を演算し結果を出力するパラメータ演算手段と、
符号化された信号とパラメータ演算手段からの信号により非ゼロの係数の数量を抽出する係数数量抽出手段と、
パラメータ演算手段が演算に用いた２つの領域へ係数数量抽出手段からの値を記憶手段へ書き込む記憶手段制御手段と
を備えることを特徴とする可変長復号方法。
【請求項１０】
デコードする処理ブロック位置を示す値を出力するブロック指定手段を備え、
前記記憶手段が左隣のブロックの係数数量を記憶する記憶手段Ａと、上隣のブロックの係数数量を記憶する記憶手段Ｂで構成されることを特徴とする請求項９記載の可変長復号方法。
【請求項１１】
８個の係数数量を記憶できる前記記憶手段Ａと、
８個の１倍以上の係数数量を記憶できる前記記憶手段Ｂと
を備えることを特徴とする請求項１０記載の可変長復号方法。
【請求項１２】
デコードするマクロブロックが２つ以上で、
２つ目のマクロブロックのデコードを開始するときに、左隣のマクロブロックの可変長復号処理を終えたときの前記記憶手段Ａの８個の係数数量の値を用いることを特徴とする請求項１１記載の可変長復号方法。
【請求項１３】
ピクチャの水平方向のマクロブロック数を設定する制御手段と、
現在デコードしているマクロブロックの水平方向の位置を管理している水平位置管理手段とを備え
水平位置管理手段はピクチャの水平方向のマクロブロック数と現在デコードしているマクロブロックの水平方向の位置が同じとなると、次のマクロブロックはピクチャの左端と判断し、次のマクロブロックのデコードを開始するときに、記憶手段Ａの８個の係数数量の値に無効データを設定することを特徴とする請求項１１記載の可変長復号方法。
【請求項１４】
ピクチャの水平方向のマクロブロック数を設定する制御手段と、
現在デコードしているマクロブロックの水平方向の位置を管理している水平位置管理手段と、
デコード処理を完了したマクロブロックの数を出力する処理ＭＢ数生成手段と、
水平方向のマクロブロック数の８倍の個数の係数数量を記憶できる係数数量記憶手段Ｂとを備え
処理ＭＢ数生成手段がピクチャのマクロブロック数と同じとなった次のマクロブロックのデコード処理の時は、上隣のマクロブロックの８個の係数数量を記憶した記憶手段Ｂの値を用いて処理を実行することを特徴とする請求項１１または請求項１３記載の可変長復号方法。
【請求項１５】
請求項９から１４のいずれか記載のＭＰＥＧ−４  ＡＶＣの可変長復号方法。
【請求項１６】
請求項９から１５のいずれか記載の可変長復号方法を備えた画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧ−４  ＡＶＣの復号装置において、可変長復号に関するものである。
【背景技術】
【０００２】
従来のＭＰＥＧ−４  ＡＶＣの可変長復号はＩＳＯ／ＩＥＣ１４４９６−１０  ＪＶＴ−Ｇ０５０に記載されている。図３は画像を復号する画像復号装置のブロックを示し、以下図３を用いて説明する。
【０００３】
制御手段３２１は、画像復号装置を初期化した後、デコード開始を設定すると、画像データの復号を開始し、放送波やＤＶＤ等の記録メディアからトランスポート・デコーダによりエレメンタリーストリームへ変換されたビットストリームを記憶するストリーム記憶手段３０１のビットストリームを可変長復号手段３０２で復号し、可変長復号された信号は、逆量子化手段３０３により量子化前の値へ復号され、逆量子化した信号は逆整数変換手段３０４により整数変換前の値へ変換される。ループ・フィルタ３２３によりブロック・ノイズを低減する処理を施し、フレーム記憶手段３２２に記憶し、フレーム記憶手段の値により動き検出と動き補償を行い、その結果と逆整数変換した結果を加算器３１２で加算し、画像のデコードの一連の処理をする。
【０００４】
図２は従来例の可変長復号装置のブロック図を示し、図４は係数数量を求めるブロックの処理順とマクロブロックにおける位置を示し、図４（ａ）は輝度成分であり、図４（ｂ）は色差Ｃｂ−ＡＣ成分、図４（ｃ）は色差Ｃｒ−ＡＣ成分を示す。図５はパラメータとビットストリームから係数数量を抽出するテーブルを示す。また、図７は、係数数量を求めるブロックが演算に必要とする２つのパラメータである左部の係数数量領域Ａと上部の係数数量領域Ｂの関係を示す。図１５はパラメータ演算手段の演算式を示す。前記図３の可変長復号手段３０２の詳細な処理について、以下図２と図４、図５、図７、図１５を用いて説明する。
【０００５】
１つのマクロブロックの可変長復号処理を開始する前に、制御手段２２１から、記憶手段Ａ２１１へは輝度成分用（図４（ａ）４１１）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２１）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３１）の２個に初期値を設定し、記憶手段Ｂ２１２へは輝度成分用（図４（ａ）４１２）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２２）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３２）の２個の初期値を設定する。さらに記憶手段２１３へは輝度成分用（図４（ａ）４１０）の１６個と色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２０）の４個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３０）の４個の領域に初期値‘０’を設定する。また、ブロックの値を出力するブロック指定手段２０７に対しては、初期化の設定、つまり最初のブロックである輝度成分の図４（ａ）ＢＬＫ０（図７：輝度成分のＢＬＫ０）を設定する。図４（ａ）ＢＬＫ０の係数数量を求めるため、左部の係数数量領域Ａは図４（ａ）４１１（図７：輝度成分）のＡ０と、上部の係数数量領域Ｂは図４（ａ）４１２（図７：輝度成分）のＢ０の２つの領域から値を読み込む。現在のマクロブロックがピクチャの開始やスライスの開始位置である場合には、図４（ａ）４１１のＡ０と、図４（ａ）４１２のＢ０の２つの領域は、制御手段２２１から無効を示す値を設定されているため、この場合には、図１５によりパラメータ演算手段１０３により演算した結果は‘０’となる。
【０００６】
係数数量抽出手段２０４はパラメータ演算手段２０３からの値と、記憶手段２０１に記憶したビットストリームを出力するビットストリームＩＦ手段２０２と、図５のテーブルから係数数量を求め、図４（ａ）ＢＬＫ０に該当する記憶手段２１３に係数数量を保存する。係数デコード手段２０５は、係数数量抽出手段２０４で求めた係数数量とビットストリームにより係数デコードし、デコードが終了するとブロック指定手段２０７に処理終了を通知する。ブロック指定手段２０７は係数デコード手段２０５の終了通知を受けると図７の７０１から７０２、７０３、・・・、７２６の順に変化する。同様にして、図７の順に処理し、記憶手段Ｃ２１３の輝度成分用（図４（ａ）４１０）の１６個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２０）の４個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３０）の４個の記憶領域に係数数量を保存して１マクロブロックのデコードを完了するものである。
【非特許文献１】ＩＳＯ／ＩＥＣ１４４９６−１０  ＪＶＴ−Ｇ０５０、２００３年３月、９．２節
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来の構成では、記憶領域を多く必要としているため、回路規模が大きくなるという課題を有していた。また、隣接するマクロブロックの復号結果を次のマクロブロックの復号で使用するため２マクロブロック以上で係数数量の初期値を与えられず２マクロブロック以上の突き放し処理ができないという課題を有していた。
【０００８】
本発明は、前記従来の課題を解決するもので、より小さい記憶領域と１マクロブロック以上の突き放し処理を可能とする可変長復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記従来の課題を解決するために、本発明の可変長復号装置および方法は、デコードする処理ブロック位置を示す値を出力するブロック指定手段と、左隣のブロックの係数数量を８個記憶する記憶手段Ａと、上隣のブロックの係数数量を８個記憶する記憶手段Ｂと、記憶手段ＡとＢの２つの領域の値を演算し結果を出力するパラメータ演算手段と、符号化された信号とパラメータ演算手段からの信号により非ゼロの係数の数量を抽出する係数数量抽出手段と、パラメータ演算手段が演算に用いた２つの領域へ係数数量抽出手段からの値を記憶手段へ書き込む記憶手段制御手段とを備えるものである。
【００１０】
また、本発明の可変長復号装置および方法は、デコードする処理ブロック位置を示す値を出力するブロック指定手段と、ピクチャの水平方向のマクロブロック数を設定する制御手段と、デコード処理を完了したマクロブロックの数を出力する処理ＭＢ数生成手段と、現在デコードしているマクロブロックの水平方向の位置を管理している水平位置管理手段と、左隣のブロックの係数数量を８個記憶する記憶手段Ａと、水平方向のマクロブロック数の８倍の個数の上隣のブロックの係数数量を記憶できる係数数量記憶手段Ｂと、記憶手段ＡとＢの２つの領域の値を演算し結果を出力するパラメータ演算手段と、符号化された信号とパラメータ演算手段からの信号により非ゼロの係数の数量を抽出する係数数量抽出手段と、パラメータ演算手段が演算に用いた２つの領域へ係数数量抽出手段からの値を記憶手段へ書き込む記憶手段制御手段とを備え、デコードするマクロブロックが２つ以上で、２つ目のマクロブロックのデコードを開始するときに、左隣のマクロブロックの可変長復号処理を終えたときの前記記憶手段Ａの８個の係数数量の値を用いて、さらに、水平位置管理手段はピクチャの水平方向のマクロブロック数と現在デコードしているマクロブロックの水平方向の位置が同じとなると、次のマクロブロックはピクチャの左端と判断し、次のマクロブロックのデコードを開始するときに、記憶手段Ａの８個の係数数量の値に無効データを設定し、処理ＭＢ数生成手段がピクチャのマクロブロック数と同じとなった次のマクロブロックのデコード処理の時は、上隣のマクロブロックの８個の係数数量を記憶した記憶手段Ｂの値を用いて処理を実行するものである。
【発明の効果】
【００１１】
本発明の可変長復号装置によれば、記憶領域の削減と１マクロブロック以上の突き放し処理ができる。
【発明を実施するための最良の形態】
【００１２】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１３】
（実施の形態１）
図３は画像を復号する画像復号装置のブロックを示し、以下図３を用いて説明する。
【００１４】
制御手段３２１は、画像復号装置を初期化した後、デコード開始を設定すると、画像データの復号を開始し、放送波やＤＶＤ等の記録メディアからトランスポート・デコーダによりエレメンタリーストリームへ変換されたビットストリームを記憶するストリーム記憶手段３０１のビットストリームを可変長復号手段３０２で復号し、可変長復号された信号は、逆量子化手段３０３により量子化前の値へ復号され、逆量子化した信号は逆整数変換手段３０４により整数変換前の値へ変換される。ループ・フィルタ３２３によりブロック・ノイズを低減する処理を施し、フレーム記憶手段３２２に記憶し、フレーム記憶手段の値により動き検出と動き補償を行い、その結果と逆整数変換した結果を加算器３１２で加算し、画像のデコードの一連の処理をする。
【００１５】
図１は本発明の実施の形態による可変長復号装置を示す。図４は係数数量を求めるブロックの処理順とマクロブロックにおける位置を示し、図４（ａ）は輝度成分であり、図４（ｂ）は色差Ｃｂ−ＡＣ成分、図４（ｃ）は色差Ｃｒ−ＡＣ成分を示す。図５はパラメータとビットストリームから係数数量を抽出するテーブルを示す。また、図６は、係数数量を求めるブロックが演算に必要とする２つのパラメータである左部の係数数量領域Ａと上部の係数数量領域Ｂの関係を示す。実施の形態１における前記図３の可変長復号装置３０２の詳細な処理について、以下図１と図４、図５、図６を用いて説明する。また以下の説明ではピクチャ・フォーマットは４：２：０フォーマットで、ＭＰＥＧ−４  ＡＶＣのイントラ１６×１６が‘０’である場合とする。
【００１６】
１つのマクロブロックの可変長復号処理を開始する前に、制御手段１２１から、記憶手段Ａ１１１へは輝度成分用（図４（ａ）４１１）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２１）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３１）の２個に初期値を設定し、記憶手段Ｂ１１２へは輝度成分用（図４（ａ）４１２）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２２）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３２）の２個の初期値を設定する。また、ブロックの値を出力するブロック指定手段１０７に対しては、初期化の設定、つまり最初のブロックである輝度成分の図４（ａ）ＢＬＫ０（図６：輝度成分のＢＬＫ０）を設定する。
【００１７】
図４（ａ）ＢＬＫ０の係数数量を求めるため、左部の係数数量領域Ａは図４（ａ）３１１（図６：輝度成分）のＡ０と、上部の係数数量領域Ｂは図４（ａ）４１２（図６：輝度成分）のＢ０の２つの領域から値を読み込む。現在のマクロブロックがピクチャの開始やスライスの開始位置である場合には、図４（ａ）４１１のＡ０と、図４（ａ）４１２のＢ０の２つの領域は、制御手段１２１から無効を示す値を設定されているため、この場合には、図１５によりパラメータ演算手段１０３により演算した結果は‘０’となる。ここで、係数数量は０から１６までの値となり、通常５ビットで表現でき、無効の値とは０から１６以外の値、例えば３１となる。係数数量抽出手段１０４はパラメータ演算手段２０３からの値と、ストリーム記憶手段１０１に記憶したビットストリームを出力するビットストリームＩＦ手段１０２と、図５のテーブルから係数数量を求め、値を読み出した図４（ａ）のＡ０、Ｂ０へ係数数量を保存する。係数デコード手段１０５は、係数数量抽出手段１０４で求めた係数数量とビットストリームにより係数デコードし、デコードが終了するとブロック指定手段１０７に処理終了を通知する。ブロック指定手段１０７は係数デコード手段１０５の終了通知を受けると図６の６０１、６０２、・・・、６２６の順に変化する。同様にして、図６の６０２から６０３、６０４、・・・、６２６まで順に処理し、記憶手段Ａ１１１の輝度成分用（図４（ａ）４１１）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２１）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３１）の２個と、記憶手段Ｂ１１２の輝度成分用（図４（ａ）４１２）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２２）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３２）の２個の記憶領域に係数数量を保存して１マクロブロックのデコードを完了するものである。
【００１８】
図１０は本発明の実施の形態による可変長復号装置のフローチャートを示す。以下図１０を用いて説明する。
【００１９】
可変長復号処理は、まず輝度成分用の記憶領域Ａ０〜Ａ３とＢ０〜Ｂ３、色差Ｃｂ−ＡＣ成分用の記憶領域ＣｂＡ０、ＣｂＡ１、ＣｒＡ０、ＣｒＡ１と色差Ｃｒ−ＡＣ成分用の記憶領域ＣｂＢ０、ＣｂＢ１、ＣｒＢ０、ＣｒＢ１へ初期値を設定（Ｓ１０１）し、ブロック指定手段に対し最初のブロックへと初期化（Ｓ１０２）する。輝度成分の１マクロブロックは４×４ブロックが１６個で構成されているので、最大１６回の繰り返し処理（Ｓ１０３）となる。当該ブロックで使用する上と左部係数数量記憶領域をブロック指定手段１０７で指定（Ｓ１０４）し、ブロックデコード処理（Ｓ１０５）を開始する。
【００２０】
ブロックデコード処理は、パラメータ演算処理（Ｓ１２１）で、まず、左部の係数数量初期値Ａ０が有効かの判定（Ｓ２０１）を行い、有効であれば次に上部の係数数量初期値Ｂ０が有効かの判定（Ｓ２０２）を行い、有効であればＳ２０４の式に従い演算する。Ｂ０が無効であれば、求めるパラメータはＡ０となる。Ａ０が無効で、Ｂ０が有効（Ｓ２０３）であれば求めるパラメータはＢ０となる。また、Ａ０が無効で、Ｂ０も無効であれば求めるパラメータは‘０’となる。次にテーブル選択処理（Ｓ１２２）を実施し、色差Ｃｂ／ＣｒのＤＣ成分の場合（Ｓ２０８）にはパラメータに関係なく図５のｔａｂｌｅ５を選択（Ｓ２０９）することになる。
【００２１】
輝度成分の場合には、パラメータの値によりｔａｂｌｅが切り替わり、パラメータが２より小さい（Ｓ２１０）場合には、ｔａｂｌｅ１を使用（Ｓ２１３）し、パラメータが２以上でかつ４より小さい（Ｓ２１１）場合には、ｔａｂｌｅ２を使用（Ｓ２１４）し、パラメータが４以上でかつ８より小さい（Ｓ２１２）場合には、ｔａｂｌｅ３を使用（Ｓ２１５）し、それ以外の場合にはｔａｂｌｅ４（Ｓ２１６）を使用する。今処理するＡ０とＢ０が無効であれば、パラメータ演算処理の結果は‘０’となりｔａｂｌｅ１が選択される。使用するｔａｂｌｅが選択されたので係数数量抽出処理（Ｓ１２３）ではビットストリームＩＦ手段１０２からのビットストリームが２進数で、‘０００１０１・・・’であれば（Ｓ３０３）、図５（ａ）ｔａｂｌｅ１より係数数量（ｔｏｔａｌＣｏｅｆｆ）‘１’が得られる（Ｓ３０４）。この得られた係数数量をＡ０とＢ０へ保存（Ｓ１２４）し、係数デコード処理（Ｓ１２５）でデコード処理を行う。４×４ブロックの処理が完了したらブロックを次のブロックの値にする（Ｓ１０６）。このＳ１０３からＳ１０７までの処理を繰り返し実行し、輝度成分の処理を完了する。輝度成分が完了すると次に色差Ｃｂ／ＣｒのＤＣ成分のデコード処理Ｓ１０８を実行する。
【００２２】
色差Ｃｂ／ＣｒのＤＣ成分の場合には、隣接する上部、左部からの係数数量を参照する必要がなく、Ｓ２０８の処理でｔａｂｌｅ５が選択され前記と同様にデコード処理が実行される。色差Ｃｂ／ＣｒのＤＣ成分のデコード処理の完了後は色差ＡＣ成分の処理が実行される。色差ＡＣ成分のデコード処理では１マクロブロックは４×４ブロックがＣｂで４個、Ｃｒで４個で構成されているので、最大８回の繰り返し処理（Ｓ１０９）となる。当該ブロックで使用する上と左部係数数量記憶領域をブロック指定手段１０７で指定（Ｓ１１０）し、ブロックデコード処理（Ｓ１１０）を開始する。
【００２３】
ブロックデコード処理は、輝度成分のデコード処理と同様であり、パラメータ演算処理（Ｓ１２１）で、まず、左部の係数数量初期値ＣｂＡ０が有効かの判定（Ｓ２０１）を行い、有効であれば次に上部の係数数量初期値ＣｂＢ０が有効かの判定（Ｓ２０２）を行い、有効であればＳ２０４の式に従い演算する。ＣｂＢ０が無効であれば、求めるパラメータはＣｂＡ０となる。ＣｂＡ０が無効で、ＣｂＢ０が有効（Ｓ２０３）であれば求めるパラメータはＣｂＢ０となる。また、ＣｂＡ０が無効で、ＣｂＢ０も無効であれば求めるパラメータは‘０’となる。次にテーブル選択処理（Ｓ１２２）を実施し、パラメータの値によりｔａｂｌｅが切り替わり、パラメータが２より小さい（Ｓ２１０）場合には、ｔａｂｌｅ１を使用（Ｓ２１３）し、パラメータが２以上でかつ４より小さい（Ｓ２１１）場合には、ｔａｂｌｅ２を使用（Ｓ２１４）し、パラメータが４以上でかつ８より小さい（Ｓ２１２）場合には、ｔａｂｌｅ３を使用（Ｓ２１５）し、それ以外の場合にはｔａｂｌｅ４（Ｓ２１６）を使用する。今処理するＣｂＡ０とＣｂＢ０が無効であれば、パラメータ演算処理の結果は‘０’となりｔａｂｌｅ１が選択される。
【００２４】
使用するｔａｂｌｅが選択されたので係数数量抽出処理（Ｓ１２３）ではビットストリームＩＦ手段１０２からのビットストリームが２進数で、‘００００  ００００  ００００  １０００  ・・・’であれば（Ｓ３０７）、図５（ａ）ｔａｂｌｅ１より係数数量（ｔｏｔａｌＣｏｅｆｆ）‘１６’が得られる（Ｓ３０９）。この得られた係数数量をＣｂＡ０とＣｂＢ０へ保存（Ｓ１２４）し、係数デコード処理（Ｓ１２５）でデコード処理を行う。４×４ブロックの処理が完了したらブロックを次のブロックの値にする（Ｓ１１２）。このＳ１１０からＳ１１２までの処理を繰り返し実行し、色差ＡＣ成分の処理を完了する。この輝度成分、色差成分のデコード処理によりマクロブロックのデコード処理が完了する。
【００２５】
尚、上記実施の形態１ではＭＰＥＧ−４  ＡＶＣのイントラ１６×１６が‘０’である場合で説明したが、イントラ１６×１６が‘１’の場合でも同様である。
【００２６】
（実施の形態２）
図３は画像を復号する画像復号装置のブロックを示し、以下図３を用いて説明する。
【００２７】
制御手段３２１は、画像復号装置を初期化した後、デコード開始を設定すると、画像データの復号を開始し、放送波やＤＶＤ等の記録メディアからトランスポート・デコーダによりエレメンタリーストリームへ変換されたビットストリームを記憶するストリーム記憶手段３０１のビットストリームを可変長復号手段３０２で復号し、可変長復号された信号は、逆量子化手段３０３により量子化前の値へ復号され、逆量子化した信号は逆整数変換手段３０４により整数変換前の値へ変換される。ループ・フィルタ３２３によりブロック・ノイズを低減する処理を施し、フレーム記憶手段３２２に記憶し、フレーム記憶手段の値により動き検出と動き補償を行い、その結果と逆整数変換した結果を加算器３１２で加算し、画像のデコードの一連の処理をする。
【００２８】
図９は本発明の実施の形態２の可変長復号装置を示すブロック図である。図４は係数数量を求めるブロックの処理順とマクロブロックにおける位置を示し、図４（ａ）は輝度成分であり、図４（ｂ）は色差Ｃｂ−ＡＣ成分、図４（ｃ）は色差Ｃｒ−ＡＣ成分を示す。図５はパラメータとビットストリームから係数数量を抽出するテーブルを示す。また、図６は、係数数量を求めるブロックが演算に必要とする２つのパラメータである左部の係数数量領域Ａと上部の係数数量領域Ｂの関係を示す。実施の形態２における前記図３の可変長復号装置３０２の詳細な処理について、以下図９と図４、図５、図６を用いて説明する。また以下の説明ではピクチャ・フォーマットは４：２：０フォーマットで、ＭＰＥＧ−４  ＡＶＣのイントラ１６×１６が‘０’である場合とする。
【００２９】
１つのマクロブロックの可変長復号処理を開始する前に、制御手段９２１から、記憶手段Ａ１１１へは輝度成分用（図４（ａ）４１１）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２１）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３１）の２個の合計８個に初期値を設定し、記憶手段Ｂ１１２へは輝度成分用（図４（ａ）４１２）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２２）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３２）の２個の合計８個に、水平方向マクロブロック数もしくは処理マクロブロック数の少ない値を掛けた個数分に初期値を設定する。また、ブロックの値を出力するブロック指定手段９０７に対しては、初期化の設定、つまり最初のブロックである輝度成分の図４（ａ）ＢＬＫ０（図６：輝度成分のＢＬＫ０）を設定する。また、制御手段９２１は、１ピクチャの水平マクロブロック数を記憶する水平ＭＢ数記憶手段９２３へ値を設定し、処理するマクロブロックの水平位置の初期値を水平位置生成手段９２４へ設定する。制御手段９２１は、処理するマクロブロック数を、処理ＭＢ数生成手段に設定する。
【００３０】
図４（ａ）ＢＬＫ０の係数数量を求めるため、左部の係数数量領域Ａは図４（ａ）４１１（図６：輝度成分）のＡ０と、上部の係数数量領域Ｂは図４（ａ）４１２（図６：輝度成分）のＢ０の２つの領域から値を読み込む。現在のマクロブロックがピクチャの開始やスライスの開始位置である場合には、図４（ａ）４１１のＡ０と、図４（ａ）４１２のＢ０の２つの領域は、制御手段９２１から無効を示す値を設定されているため、この場合には、図１５によりパラメータ演算手段９０３により演算した結果は‘０’となる。ここで、係数数量は０から１６までの値となり、通常５ビットで表現でき、無効の値とは０から１６以外の値、例えば３１となる。係数数量抽出手段９０４はパラメータ演算手段２０３からの値と、記憶手段９０１に記憶したビットストリームを出力するビットストリームＩＦ手段９０２と、図５のテーブルから係数数量を求め、値を読み出した図４（ａ）のＡ０、Ｂ０へ係数数量を保存する。係数デコード手段９０５は、係数数量抽出手段９０４で求めた係数数量とビットストリームにより係数デコードし、デコードが終了するとブロック指定手段９０７に処理終了を通知する。ブロック指定手段９０７は係数デコード手段９０５の終了通知を受けると図６の上段から下段の順に変化する。同様にして、図６の順に処理し、記憶手段Ａ９１１の輝度成分用（図４（ａ）４１１）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２１）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３１）の２個と、記憶手段Ｂ１１２の輝度成分用（図４（ａ）４１２）の４個と、色差Ｃｂ−ＡＣ成分用（図４（ｂ）４２２）の２個と、色差Ｃｒ−ＡＣ成分用（図４（ｃ）４３２）の２個の記憶領域に係数数量を保存して１マクロブロックのデコードを完了する。
【００３１】
１マクロブロックのデコード処理が完了すると、ブロック指定手段９０７は水平位置生成手段９２４と処理ＭＢ数生成手段９２５へ１マクロブロックのデコード処理完了を通知する。水平位置生成手段９２４は水平ＭＢ数記憶手段９２３のマクロブロック数の値と比較し、マクロブロック数が右端と判定されたなら、次の水平位置はピクチャの左端‘０’を設定し、記憶手段Ａ９１１の初期化要求信号を記憶手段Ａ／Ｂ制御手段９０６へ出力する。記憶手段Ａ／Ｂ制御手段９０６は、初期化要求信号を受けて、記憶手段Ａ９０６の初期化を行う。処理ＭＢ数生成手段９２５はブロック指定手段９０７からの１マクロブロック・デコード処理完了毎に値を１減らす等して処理するマクロブロック数を管理して、処理するマクロブロックの完了となれば１連のデコード処理が完了となる。
【００３２】
図８は本発明を説明するために簡略化したピクチャの例であり、１つのピクチャが、垂直方向に２、水平方向に３の合計６個のマクロブロックで構成され、さらに最初の２つのマクロブロックで１つのスライス８０１、残りの４つのマクロブロックで１つのスライス８１１で構成された４：２：０フォーマットの場合である。以下図８を用いて説明する。
【００３３】
スライス８０１の係数数量抽出を実施する場合には、先ず輝度成分の左部８０４の４つの領域と上部８０５、８０６の８個の領域の係数数量と色差ＡＣ成分Ｃｂ／Ｃｒ合わせて、左部４個と上部８個の領域の初期化をする。この初期化では左部８０４の値はピクチャの左端であるため無効データが設定され、上部８０５、８０６の値もピクチャの上端であるため無効データが設定される。実施の形態１で示した様に１つのマクロブロック８０２処理を完了すると、実施の形態１では再度係数数量の初期化をするが、制御手段から与えられた水平方向のマクロブロック数と処理マクロブロック数から水平マクロブロック位置から、次のマクロブロックでは左部係数数量の初期化の必要性がないことが判別でき、マクロブロック８０２で処理を終えた後に記憶された左部８０４の値と、最初に設定した上部８０６の値により２つ目のマクロブロック８０３の処理を同様にして実施できる。
【００３４】
２つ目のスライス８１１の係数数量抽出を実施する場合には、先ず左部８１６の４個の領域と上部８２２、８１７、８１８の１２個の領域と、色差ＡＣ成分Ｃｂ／Ｃｒ合わせて、左部４個と上部１２個の領域の初期化をする。この初期化では左部８１６の値はスライスの左端であるため無効データが設定され、上部８２２、８１７、８１８の値もピクチャの上端またはスライスの上端であるため無効データが設定される。
【００３５】
実施の形態１で示した様に１つのマクロブロック８１２処理を完了すると、実施の形態１では再度係数数量の初期化をするが、マクロブロック８１２で処理を終えた後に、制御手段が設定した水平方向のマクロブロック数と処理マクロブロック数から水平マクロブロック位置が求めることでき、次の処理マクロブロックがピクチャの左端になることが自動的に判別でき左部８１９の記憶領域４個と色差ＡＣ成分Ｃｂ／Ｃｒ合わせて４個の初期化をし、実施の携帯１の処理と同様にして実施できる。マクロブロック８１４の処理は、左部の係数数量はマクロブロック８１３で処理した結果を使用し、上部は輝度成分４個の無効データと色差ＡＣ成分Ｃｂ／Ｃｒ合わせて４個の無効データにより処理をすることになる。さらにマクロブロック８１５の処理の場合には、左部の係数数量はマクロブロック８１４で処理した結果得られた左部の４個（輝度成分）と色差ＡＣ成分Ｃｂ／Ｃｒ合わせて４個の領域に保存している値を使用し、上部の係数数量はマクロブロック８１２で処理した結果得られた上部の４個（輝度成分）と色差ＡＣ成分Ｃｂ／Ｃｒ合わせて４個の領域に保存している値を使用することになる。
【００３６】
図１４は本発明の処理の一例を示すフローチャートである。以下図１４を用いて説明する。
【００３７】
可変長復号処理の開始時に処理マクロブロック数（Ｓ４０１）、マクロブロックの水平方向のマクロブロック数と水平方向の位置（Ｓ４０２）を設定する。ここで、処理マクロブロック数は必ずしも１スライスに含まれるマクロブロック数と同じとは限らない。次に輝度成分と左部４個と上部４個の係数数量記憶領域の初期値と色差Ｃｂ−ＡＣ成分の左部２個と上部２個、および色差Ｃｒ−ＡＣ成分の左部２個と上部２個の係数数量記憶領域の初期値を設定（Ｓ４０３）する。デコードするマクロブロックがピクチャの左端（Ｓ４０５）またはスライスの左端（Ｓ４０６）であれば、輝度成分の左部係数数量記憶領域４個（Ａ０〜Ａ３）と色差ＡＣ成分の左部係数数量記憶領域４個（ＣｂＡ０、ＣｂＡ１、ＣｒＡ０、ＣｒＡ１）に無効データを設定する（Ｓ４０７、Ｓ４０８）。
【００３８】
また、デコードするマクロブロックがピクチャの上端（Ｓ４０９）またはスライスの上端（Ｓ４１０）であれば、輝度成分の上部係数数量記憶領域４個（Ｂ０〜Ｂ３）と色差ＡＣ成分の上部係数数量記憶領域４個（ＣｂＢ０、ＣｂＢ１、ＣｒＢ０、ＣｒＢ１）に無効データを設定する（Ｓ４１１、Ｓ４１２）。得られた係数数量から実施の形態１と同様にマクロブロックのデコード処理（Ｓ４１３）を実施、マクロブロックのデコード処理が完了したら現在の水平マクロブロック位置と水平方向のマクロブロック数を比較し、水平マクロブロック位置が水平方向のマクロブロック数と同じになれば、水平方向のマクロブロック位置を左端を示す‘１‘に設定し、そうでなければ水平方向のマクロブロック位置を１増加させてマクロブロック位置を更新し、繰り返し処理（Ｓ４０４）を実施することになる。
【００３９】
また、本発明は、コンピュータとプログラムで実施されることがあり、そのプログラムは記録媒体に記録されることがある。
【産業上の利用可能性】
【００４０】
本発明にかかる可変長復号装置および方法は、より少ない記憶領域で実現でき、また１マクロブロック以上の突き放し処理を可能とする効果を有し、システムＬＳＩ等でのハードウェアのエンジンの一部のみでなく、小型化が望まれる携帯向けの商品や、ＨＤＴＶ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  ＴｅｌｅＶｉｓｉｏｎ）等の突き放し処理が必要な場合にも適用できる。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態１における可変長復号装置のブロック図
【図２】従来の可変長復号装置のブロック図
【図３】画像を復号する画像復号装置のブロック図
【図４】（ａ）輝度成分のマクロブロックの係数数量記憶領域と処理順序を示す図（ｂ）色差Ｃｂ−ＡＣ成分のマクロブロックの係数数量記憶領域と処理順序を示す図（ｃ）色差Ｃｒ−ＡＣ成分のマクロブロックの係数数量記憶領域と処理順序を示す図
【図５】（ａ）色差ＤＣ成分以外のパラメータとビットストリームと係数数量の関係を示す図（ｂ）色差ＤＣ成分のパラメータとビットストリームと係数数量の関係を示す図
【図６】従来例のブロック位置と左部／上部の係数数量参照領域の関係を示す図
【図７】本発明の実施の形態１におけるブロック位置と左部／上部の係数数量参照領域の関係を示す図
【図８】（ａ）本発明の実施の形態２におけるスライスがピクチャの開始の場合のスライスと参照係数数量領域の関係を示す図（ｂ）本発明の実施の形態２におけるスライスがピクチャの途中の場合のスライスと参照係数数量領域の関係を示す図
【図９】本発明の実施の形態２における可変長復号装置のブロック図
【図１０】本発明の実施の形態１における可変長復号処理のフローチャート
【図１１】本発明の実施の形態１におけるパラメータ演算処理のフローチャート
【図１２】本発明の実施の形態１におけるとテーブル選択処理のフローチャート
【図１３】本発明の実施の形態１における係数数量抽出処理のフローチャート
【図１４】本発明の実施の形態２における可変長復号処理のフローチャート
【図１５】左部／上部の係数数量とパラメータ演算手段の演算式の関係を示す図
【符号の説明】
【００４２】
１０１    ストリーム記憶手段
１０２    ビットストリーム・インタフェース手段
１０３    パラメータ演算手段
１０４    係数数量抽出手段
１０５    係数デコード手段
１０６    記憶手段Ａ／Ｂ制御手段
１０７    ブロック指定手段
１０８    記憶領域指示手段
１１０    可変長復号手段
１１１    記憶手段Ａ
１１２    記憶手段Ｂ
１２１    制御手段
３０１    ストリーム記憶手段
３０２    可変長復号手段
３０３    逆量子化手段
３０４    逆整数変換手段
３１０    画像復号装置
３１１    動き検出と動き補償手段
３１２    加算器
３２１    制御手段
３２２    フレーム記憶手段
３２３    ループ・フィルタ
３３１    復号化された画像データ
９０１    記憶手段１
９０２    ビットストリーム・インタフェース手段
９０３    パラメータ演算手段
９０４    係数数量抽出手段
９０５    係数デコード手段
９０６    記憶手段Ａ／Ｂ制御手段
９０７    ブロック指定手段
９０８    記憶領域指示手段
９１０    可変長復号手段
９１１    記憶手段Ａ
９１２    記憶手段Ｂ
９２１    制御手段
９２３    水平ＭＢ数記憶手段
９２４    水平位置生成手段
９２５    処理ＭＢ数生成手段
【図１】
2005318056.tif 000003
【図２】
2005318056.tif 000004
【図３】
2005318056.tif 000005
【図４】
2005318056.tif 000006
【図５】
2005318056.tif 000007
【図６】
2005318056.tif 000008
【図７】
2005318056.tif 000009
【図８】
2005318056.tif 000010
【図９】
2005318056.tif 000011
【図１０】
2005318056.tif 000012
【図１１】
2005318056.tif 000013
【図１２】
2005318056.tif 000014
【図１３】
2005318056.tif 000015
【図１４】
2005318056.tif 000016
【図１５】
2005318056.tif 000017