(57)【要約】【課題】ＤＣ／ＡＣ予測符号化を使用して圧縮符号化された画像データの復号化に要する処理時間を短縮する。【解決手段】画像復号化装置１は、逆量子化部３０及び逆ＤＣ／ＡＣ予測処理部４０を備える。逆量子化部３０は、ＤＣ／ＡＣ予測符号化を使用して圧縮符号化された符号化画像信号に対して可変長復号を行った後のデータ列に対する逆スキャン処理、加算処理及び逆量子化処理を実行する。一方、逆ＤＣ／ＡＣ予測処理部４０は、カレントブロック以前のブロックに関する逆量子化部３０によって復元された量子化ＤＣ／ＡＣ係数を用いることにより、カレントブロックに関する逆スキャン処理、加算処理及び逆量子化処理の実行に時間的に並行して、カレントブロックに引き続いて処理すべき次ブロックに関する予測方向の決定処理を実行する。【選択図】図１
2009212900.tif 000002
【特許請求の範囲】
【請求項１】
直交変換、前記直交変換により得られるＤＣ／ＡＣ係数の量子化、前記量子化により得られる量子化ＤＣ／ＡＣ係数のＤＣ／ＡＣ予測符号化、及び前記ＤＣ／ＡＣ予測符号化により得られるＤＣ／ＡＣ差分係数の可変長符号化によって圧縮符号化されている符号化画像信号に対する復号化を行う画像復号化装置であって、
前記符号化画像信号に対して可変長復号を行った後のデータ列から処理対象とするカレントブロックに関する前記ＤＣ／ＡＣ差分係数を取り出す逆スキャン処理、前記カレントブロックの前記ＤＣ／ＡＣ差分係数に前記ＤＣ／ＡＣ予測符号化の予測方向に対応したＤＣ／ＡＣ予測係数を加算して前記量子化ＤＣ／ＡＣ係数を復元する加算処理、及び復元された前記カレントブロックの前記量子化ＤＣ／ＡＣ係数の逆量子化処理を実行する逆量子化部と、
前記加算処理に必要な前記予測方向を決定する逆ＤＣ／ＡＣ予測処理部とを備え、
前記逆ＤＣ／ＡＣ予測処理部は、前記カレントブロック以前のブロックに関する前記逆量子化部によって復元された前記量子化ＤＣ／ＡＣ係数を用いることにより、前記カレントブロックに関する前記逆スキャン処理、前記加算処理及び前記逆量子化処理の実行と時間的に並行して、前記カレントブロックに引き続いて処理すべき次ブロックに関する前記予測方向の決定処理を実行する、
画像復号化装置。
【請求項２】
前記量子化部は、
前記カレントブロックに関する前記ＤＣ／ＡＣ係数のうちの少なくともＤＣ係数の加算処理の結果が前記次ブロックのＤＣ予測係数とされる場合には、前記ＤＣ係数の加算処理の終了に応じて、前記逆ＤＣ／ＡＣ予測処理部に対して処理開始を指示し、
前記ＤＣ係数の加算処理の結果が前記次ブロックのＤＣ予測係数として使用されない場合には、前記ＤＣ係数の加算処理の終了よりも前に前記逆ＤＣ／ＡＣ予測処理部に対して処理開始を指示する、
請求項１に記載の画像復号化装置。
【請求項３】
前記逆量子化部は、前記逆スキャン処理、前記加算処理及び前記逆量子化処理を１ブロック毎にパイプライン処理する、請求項１又は２に記載の画像復号化装置。
【請求項４】
前記逆ＤＣ／ＡＣ予測処理部は、前記ＤＣ／ＡＣ予測係数のスケーリング処理を行うとともに、スケーリング後の前記ＤＣ／ＡＣ予測係数を前記逆量子化部に供給し、
前記逆量子化部は、前記逆ＤＣ／ＡＣ予測処理部から供給されるスケーリング後の前記ＤＣ／ＡＣ予測係数を用いて前記加算処理を実行する、
請求項１乃至３のいずれか１項に記載の画像復号化装置。
【請求項５】
直交変換、前記直交変換により得られるＤＣ／ＡＣ係数の量子化、前記量子化により得られる量子化ＤＣ／ＡＣ係数のＤＣ／ＡＣ予測符号化、及び前記ＤＣ／ＡＣ予測符号化により得られるＤＣ／ＡＣ差分係数の可変長符号化によって圧縮符号化されている符号化画像信号に対する画像復号化方法であって、
前記符号化画像信号に対して可変長復号を行った後のデータ列から処理対象とするカレントブロックに関する前記ＤＣ／ＡＣ差分係数を取り出す逆スキャン処理、前記カレントブロックの前記ＤＣ／ＡＣ差分係数に前記ＤＣ／ＡＣ予測符号化の予測方向に対応したＤＣ／ＡＣ予測係数を加算して前記量子化ＤＣ／ＡＣ係数を復元する加算処理、及び復元された前記カレントブロックの前記量子化ＤＣ／ＡＣ係数の逆量子化処理を実行する工程（ａ）と、
前記カレントブロック以前のブロックに関する前記量子化ＤＣ／ＡＣ係数を用いることにより、前記カレントブロックに関する前記逆スキャン処理、前記加算処理及び前記逆量子化処理の実行と時間的に並行して、前記カレントブロックに引き続いて処理すべき次ブロックに関する前記予測方向の決定処理を実行する工程（ｂ）と、
を備える復号化方法。
【請求項６】
前記カレントブロックに関する前記ＤＣ／ＡＣ係数のうちの少なくともＤＣ係数の加算処理の結果が前記次ブロックのＤＣ予測係数とされる場合には、前記工程（ａ）における前記ＤＣ係数の加算処理の終了に応じて前記工程（ｂ）の並行処理を開始し、
前記ＤＣ係数の加算処理の結果が前記次ブロックのＤＣ予測係数として使用されない場合には、前記工程（ａ）における前記ＤＣ係数の加算処理の終了よりも前に前記工程（ｂ）の並行処理を開始する、
請求項５に記載の画像復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＣＴ変換、量子化、ＤＣ／ＡＣ予測符号化及び可変長符号化を利用して圧縮符号化された画像データの復号化技術に関し、特に復号化処理の高速化に関する。
【背景技術】
【０００２】
次世代ＤＶＤ（Digital Video Disc）やデジタルテレビ放送では、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）、ＶＣ−１及びＭＰＥＧ−４（Moving Picture Experts Group-4）等の新しいコーデックが採用されている。これらの新しいコーデックは、動画像の高画質かつ高圧縮率な符号化を可能とするために、従来のＭＰＥＧ−２では用いられていない新たな手法を利用している。この手法の１つが、ＤＣ／ＡＣ予測符号化である。ＤＣ／ＡＣ予測符号化は、隣接するブロック間の画素相関が高いことに着目し、ＤＣＴ（Discrete Cosine Transform）等の直交変換によって得られたＤＣ係数及びＡＣ係数をフレーム内で予測符号化する技術である。より具体的に述べると、ＤＣ／ＡＣ予測符号化は、適切な予測方向を決定した後に、直交変換により得られたカレントブロックのＤＣ係数及びＡＣ係数と、当該カレントブロックの周辺ブロックに含まれる参照用のＤＣ係数及びＡＣ係数との差分を計算し、得られた差分を可変長符号化の対象とすることで、圧縮後の画像データの情報量を削減する技術である。
【０００３】
ここで、本明細書で使用する用語の定義を行う。ＤＣ／ＡＣ係数は、ＤＣＴ等の直交変換によって得られるＤＣ係数及びＡＣ係数の総称である。
【０００４】
量子化ＤＣ係数は、ＤＣ係数を量子化することで得られる量子化ステップ間隔のいずれかの代表値によって量子化されたＤＣ係数を意味する。また、量子化ＡＣ係数は、ＡＣ係数を量子化することで得られる量子化ステップ間隔のいずれかの代表値によって量子化されたＡＣ係数を意味する。量子化ＤＣ／ＡＣ係数は、量子化ＤＣ係数及び量子化ＡＣ係数の総称である。
【０００５】
復元ＤＣ係数は、量子化ＤＣ係数に量子化ステップを乗算する逆量子化によって復元されるＤＣ係数を意味する。また、復元ＤＣ係数は、量子化ＡＣ係数に量子化ステップを乗算する逆量子化によって復元されるＡＣ係数を意味する。復元ＤＣ／ＡＣ係数は、復元ＤＣ係数及び復元ＡＣ係数の総称である。
【０００６】
ＤＣ予測係数は、ＤＣ／ＡＣ予測符号化において参照される周辺ブロックのＤＣ係数を意味する。ＡＣ予測係数は、ＤＣ／ＡＣ予測符号化において参照される周辺ブロックのＡＣ係数を意味する。ＤＣ／ＡＣ予測係数は、ＤＣ予測係数及びＡＣ予測係数の総称である。
【０００７】
ＤＣ差分係数は、ＤＣ／ＡＣ予測符号化処理で計算される量子化ＤＣ係数とＤＣ予測係数との差分値である。ＡＣ差分係数は、ＤＣ／ＡＣ予測符号化処理で計算される量子化ＡＣ係数とＡＣ予測係数との差分値である。ＤＣ／ＡＣ差分係数は、ＤＣ差分係数及びＡＣ差分係数の総称である。
【０００８】
例えば、特許文献１〜３には、ＤＣ／ＡＣ予測符号化を利用して圧縮符号化された画像データに対する復号化処理を実行する画像復号化装置が開示されている。図５は、特許文献１に開示された画像復号化装置が行う画像復号化手順のうち、可変長復号から逆ＤＣＴまでの手順を示すブロック図である。図５のブロック図による画像復号化手順は、以下のようになる。
【０００９】
まず、可変長復号部９０が、符号化データの可変長復号を行う。次に、逆スキャン部９１が、可変長復号後のデータ列から処理対象とするカレントブロックに関するＤＣ／ＡＣ差分係数を取り出す。
【００１０】
次に、逆ＤＣ／ＡＣ予測部９２は、逆ＤＣ／ＡＣ予測処理を実行する。逆ＤＣ／ＡＣ予測処理には、大きく分けて、周辺ブロックに含まれるＤＣ／ＡＣ予測係数のスケーリング処理、予測方向の判別処理、及び予測方向に応じてＤＣ／ＡＣ予測係数とＤＣ／ＡＣ差分係数を加算する加算処理の３つが含まれる。以下に逆ＤＣ／ＡＣ予測処理手順を順に説明する。まず、逆ＤＣ／ＡＣ予測部９２は、カレントブロックの３つの周辺ブロック、具体的は図６に示すように、上ブロックＡ、左上ブロックＢ及び左ブロックＣの３つのブロックに含まれ、カレントブロックのＤＣ／ＡＣ予測係数として使用される係数群ＱＦＡ［０］［ｉ］、ＱＦＢ［０］［０］及びＱＣＣ［ｊ］［０］のスケーリングを実行する。そして、逆ＤＣ／ＡＣ予測部９２は、スケーリング後のＤＣ係数を用いて予測方向を判別する。具体的には、ブロックＡのＤＣ係数ＱＦＡ［０］［０］及びブロックＢのＤＣ係数ＱＦＢ［０］［０］との差分と、ブロックＣのＤＣ係数ＱＦＣ［０］［０］及びブロックＢのＤＣ係数ＱＦＢ［０］［０］との差分とを比較し、差分が小さい方向を予測方向に決定する。さらに、逆ＤＣ／ＡＣ予測部９２は、決定した予測方向に対応する上ブロックＡ又は左ブロックＣのＤＣ／ＡＣ予測係数とカレントブロックのＤＣ／ＡＣ差分係数とを加算し、カレントブロックの量子化ＤＣ／ＡＣ係数を復元する。
【００１１】
次に、逆量子化部９３は、カレントブロックの量子化ＤＣ／ＡＣ係数の各々に対して各々に対応する量子化ステップを乗算することにより、カレントブロックのＤＣ／ＡＣ係数を復元する。
【００１２】
最後に、逆ＤＣＴ部９４は、カレントブロックの復元ＤＣ／ＡＣ係数を用いて、逆ＤＣＴ演算を実行することにより、カレントブロックの画素値を復元する。
【特許文献１】特開２００１−１０３４７２号公報（図１、図１１）
【特許文献２】特開２００２−１１８８５３号公報（図１、図５、図６）
【特許文献３】特開２００６−２６２１８８号公報（図１７）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ＤＣ／ＡＣ予測符号化を使用して圧縮符号化された画像データを復号化する場合には、復号化に要する処理時間が増大するという問題がある。具体例を示すために、図７に示すＶＣ−１のマクロブロックについて、逆スキャン処理、逆ＤＣ／ＡＣ予測処理、及び逆量子化処理を実行する場合について説明する。
【００１４】
図７に示すようにＶＣ−１のマクロブロックは、１６×１６画素の輝度信号ブロックと、８×８画素の色差信号ブロック（以下、Ｃｂブロック及びＣｒブロックと呼ぶ）を含む。逆ＤＣ／ＡＣ予測を行う際には、１６×１６画素の輝度信号ブロックは、８×８画素の４つのブロック（以下、Ｙ０〜Ｙ３ブロックと呼ぶ）に分割して処理される。マクロブロック全体での逆ＤＣ／ＡＣ予測の処理順序は、Ｙ０、Ｙ１、Ｙ２、Ｙ３、Ｃｂ、Ｃｒの順である。
【００１５】
図８は、ＶＣ−１のマクロブロックに対する逆スキャン処理、逆ＤＣ／ＡＣ予測処理、及び逆量子化処理を実行する場合の処理過程を示す図である。図８から分かるように、先頭のＹ０ブロックの処理を行う場合はもちろんのこと、後続のＹ１〜Ｃｒの５つのブロックの処理においても、ＤＣ予測係数のスケーリング処理及び予測方向の決定処理（図８ではこれらを総じて、"ＤＣ"と表記）並びにＡＣ予測係数のスケーリング処理（図８では"ＡＣ"と表記）を、後続の逆スキャン処理（図８では"ＩＳｃａｎ"と表記）、加算処理（図８では、"Ａｄｄ"と表記）、及び逆量子化処理（図８では、ＩＱと表記）に先行して行なう必要がある。
【００１６】
なお、ここでの加算処理とは、上述した逆ＤＣ／ＡＣ予測部９２により実行される逆ＤＣ／ＡＣ予測処理の一部であって、予測方向に対応するＤＣ／ＡＣ予測係数とカレントブロックのＤＣ／ＡＣ差分係数とを加算する処理を意味する。すなわち、加算処理は、逆ＤＣ／ＡＣ予測処理全体のうちの後半部分の処理に相当する。一方、ＤＣ予測係数のスケーリング処理、予測方向の決定処理、及びＡＣ予測係数のスケーリング処理は、逆ＤＣ／ＡＣ予測処理全体のうちの前半部分の処理に相当する。
【００１７】
このように、ＤＣ／ＡＣ予測符号化を使用して圧縮符号化された画像データの復号化においては、逆スキャン処理及び逆量子化処理に加えて逆ＤＣ／ＡＣ予測処理を追加的に行う必要があるため、復号化に要する処理時間が増大する。
【課題を解決するための手段】
【００１８】
本発明の第１の態様は、直交変換、前記直交変換により得られるＤＣ／ＡＣ係数の量子化、前記量子化により得られる量子化ＤＣ／ＡＣ係数のＤＣ／ＡＣ予測符号化、及び前記ＤＣ／ＡＣ予測符号化により得られるＤＣ／ＡＣ差分係数の可変長符号化によって圧縮符号化されている符号化画像信号を復号化する画像復号化装置である。当該画像復号化装置は、逆量子化部及び逆ＤＣ／ＡＣ予測処理部を備える。
【００１９】
ここで、前記逆量子化部は、前記符号化画像信号に対して可変長復号を行った後のデータ列から処理対象とするカレントブロックに関する前記ＤＣ／ＡＣ差分係数を取り出す逆スキャン処理、前記カレントブロックの前記ＤＣ／ＡＣ差分係数に前記ＤＣ／ＡＣ予測符号化の予測方向に対応したＤＣ／ＡＣ予測係数を加算して前記量子化ＤＣ／ＡＣ係数を復元する加算処理、及び復元された前記カレントブロックの前記量子化ＤＣ／ＡＣ係数の逆量子化処理を実行する。
【００２０】
一方、前記逆ＤＣ／ＡＣ予測処理部は、前記加算処理に必要な前記予測方向を決定する。さらに、前記逆ＤＣ／ＡＣ予測処理部は、前記カレントブロック以前のブロックに関する前記逆量子化部によって復元された前記量子化ＤＣ／ＡＣ係数を用いることにより、前記カレントブロックに関する前記逆スキャン処理、前記加算処理及び前記逆量子化処理の実行に時間的に並行して、前記カレントブロックに引き続いて処理すべき次ブロックに関する前記予測方向の決定処理を実行することを特徴とする。
【００２１】
上述した本発明の第１の態様は、カレントブロックに対する逆量子化部の処理の過程で順次計算される量子化ＤＣ／ＡＣ係数のうち、ＤＣ／ＡＣ予測係数として次ブロックの逆ＤＣ／ＡＣ予測処理にて参照される係数群の逆量子化が完了すれば、次ブロックに対する予測方向の決定処理を開始できることに着目している。すなわち、上述した本発明の第１の態様は、次ブロックに関する予測方向の決定処理をカレントブロックの逆量子化と並行して実行するものである。これによって、次ブロックに対する処理の開始時に予測方向の決定に要する時間を待つことが無くなり、速やかに逆スキャン処理〜逆量子化処理を開始することができる。したがって、本発明の第１の態様は、マクロブロックの逆量子化に要する処理時間を短縮することができる。
【発明の効果】
【００２２】
本発明により、ＤＣ／ＡＣ予測符号化を使用して圧縮符号化された画像データの復号化に要する処理時間を短縮することが可能な画像復号化装置を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００２４】
＜発明の実施の形態１＞
図１は、本発明の実施の形態の１つである画像復号化装置１を示すブロック図である。画像復号化装置１は、ＶＣ−１によりエンコードされた符号化画像データの復号化を行う装置である。図１において、可変長復号部１０は、符号化画像データの可変長復号を行う。可変長復号部１０は、上述した可変長復号部９０に相当する。
【００２５】
入力バッファ１１は、可変長復号部１０によって可変長復号されたＤＣ／ＡＣ係数群（もちろん量子化及びＤＣ／ＡＣ予測符号化がなされたものである）を保持するバッファメモリである。入力バッファ１１は、後述するパイプライン処理部１２に対する処理対象データの供給元である。
【００２６】
パイプライン処理部１２は、シーケンス処理部１３による順序制御のもと、逆スキャン処理、逆ＤＣ／ＡＣ予測処理、及び逆量子化処理を実行する。シーケンス処理部１３は、主にパイプライン処理部１２によるブロック毎のパイプライン処理の実行を制御するためのブロックである。
【００２７】
シーケンス処理部１３は、ブロック毎にパイプラインを起動するためのstart信号、及びブロック毎の逆量子化処理に必要なパラメータを含むparameter信号をパイプライン処理部１２に供給する。また、シーケンス処理部１３は、１ブロック分の逆量子化処理の完了を示すfinish信号をパイプライン処理部１２から受信する。
【００２８】
なお、parameter信号には、マクロブロック毎にＡＣ予測を行なうか否かを示すパラメータ、カレントブロック及び周辺ブロックの量子化ステップサイズに関するパラメータが含まれる。ここで、量子化ステップサイズに関するパラメータは、量子化ステップサイズそのものでもよいし、ＶＣ−１で使用される量子化パラメータMQUANT又はMQUANTを用いて算出されるdobule_quantでもよい。MQUANTは、１〜３１の間の値を持つ量子化ステップサイズに関連付けられたパラメータであり、マクロブロック毎に符号化されている。ＤＣ係数の量子化ステップサイズ（DCStepSize）及びdouble_quantは、量子化パラメータMQUANTを用いて以下の各式により算出できる。
（１）DCStepSize
For MQUANT equal to 1 or 2
DCStepSize = 2 * MQUANT
For MQUANT equal to 3 or 4
DCStepSize = 8
For MQUANT greater than or equal to 5
DCStepSize = MQUANT/2 + 6
（２）double_quant
double_quant = 2 * MQUANT + HALFQP
ここで、HALFQPは、0又は1の1bit値である。
【００２９】
また、シーケンス処理部１３からパイプライン処理部１２に供給されるparameter信号には、上記のマクロブロック毎のパラメータの他に、カレントブロック毎に指定されるパラメータも含まれる。カレントブロック毎に指定されるパラメータは、カレントブロックを指定するインデックス値、周辺ブロックがＡＣ／ＤＣ予測に利用可能であるかを示すパラメータ等である。
【００３０】
パイプライン処理部１２は、逆スキャン処理、逆ＤＣ／ＡＣ予測処理、及び逆量子化処理を実行するために、パイプライン制御部２０、逆量子化部３０、逆ＤＣ／ＡＣ予測処理部４０、及び周辺ＤＣ／ＡＣ係数バッファ５０を備える。このうち、パイプライン制御部２０は、start信号、parameter信号及びfinish信号の送受信のためにシーケンス処理部１３とのインタフェースとして機能するとともに、パイプライン処理部１２の全体制御を行う。
【００３１】
逆量子化部３０は、逆スキャン処理部３０１、加算処理部３０２、及び逆量子化処理部３０３を含む。逆スキャン処理部３０１は、入力バッファ１１からカレントブロックに関するカレントブロックに関するＤＣ／ＡＣ差分係数を取り出す。
【００３２】
加算処理部３０２は、逆ＤＣ／ＡＣ予測処理全体のうちの後半部分の処理に相当する加算処理を実行する。
【００３３】
逆量子化処理部３０３は、加算処理部３０２の出力データ、すなわち逆ＤＣ／ＡＣ予測処理の完了したカレントブロックの量子化ＤＣ／ＡＣ係数を入力して逆量子化を行うことにより、カレントブロックに関する復元ＤＣ／ＡＣ係数を生成する。逆量子化処理部３０３によって生成された復元ＤＣ／ＡＣ係数は、出力バッファ１５に格納される。
【００３４】
逆ＤＣ／ＡＣ予測処理部４０は、逆ＤＣ／ＡＣ予測処理全体のうち前半部分の処理であるパラメータ計算、ＤＣ／ＡＣ係数のスケーリング、及び予測方向の判別を実行する。そのために、逆ＤＣ／ＡＣ予測処理部４０は、制御部４０１、パラメータ計算部４０２、スケーリング部４０３、及び予測方向判別部４０４を備える。また、逆ＤＣ／ＡＣ予測処理部４０は、パイプライン制御部２０、逆量子化部３０、及び周辺ＤＣ／ＡＣ係数バッファ５０とのインタフェースを有する。
【００３５】
制御部４０１は、逆量子化部３０からdcstart信号及acstart信号を受信し、preddir信号及びdcacfinish信号を逆量子化部３０に送信する。ここで、dcstart信号はＤＣ係数の逆予測の開始を指示するための信号であり、acstart信号はＡＣ係数の逆予測の開始を指示するための信号である。また、preddir信号は、予測方向判別部４０４によって判別された予測方向を逆量子化部３０に通知するための信号である。dcacfinish信号は、１ブロック分のＤＣ／ＡＣ係数のスケーリング及び予測方向の判別処理が完了したことを、逆量子化部３０に通知するための信号である。
【００３６】
パラメータ計算部４０２は、ＤＣ係数及びＡＣ係数のスケーリングのためのパラメータを計算する。例えば、上述したparameter信号によってdouble_quant値がパイプライン処理部１２に供給される場合、パラメータ計算部４０２は、double_quant値を用いてMQUANT、ＤＣ係数のステップサイズ（DCStepSize）、ＡＣ係数のステップサイズに関する値STEP(STEP=double_quant-1)、及び量子化スケールを計算する。ここで、量子化スケールの取得は、後述するように、量子化スケール値が格納されたルックアップテーブル（不図示）を参照して取得すればよい。
【００３７】
スケーリング部４０３は、逆量子化部３０の処理対象ブロックであるカレントブロックと周辺ブロック（すなわち、図７に示したブロックＡ〜Ｃ）との間で量子化ステップサイズ又は量子化スケールが異なる場合（言い換えるとMQUANTが異なる場合）、量子化ステップサイズ又は量子化スケールが異なるＤＣ／ＡＣ予測係数に対するスケーリングを実行する。なお、ＡＣ予測係数に対するスケーリングは、予測方向判別部４０４によって判別された予測方向の周辺ブロックについてのみ行えばよい。
【００３８】
例えば、左ブロックＣのＤＣ予測係数ＱＦＣ［０］［０］に対するスケーリングは、以下の（１）式により行えばよい。
【数１】
2009212900.tif 000003
ここで、SQFC[0][0]は、スケーリング後のＤＣ予測係数である。DCSTEPP は、ＤＣ予測係数FC[0][0]の量子化ステップサイズである。DCSTEPC は、カレントブロックのＤＣ係数の量子化ステップサイズである。DQSclale[m]は、mで示されるステップサイズに対応した量子化スケールである。なお、DQSclale[m]は、量子化スケール値を格納したルックアップテーブル（いわゆる量子化スケールテーブル）である。ＶＣ−１の場合、DQSclale[m]には６３通りの量子化ステップサイズに対応した量子化スケール値が格納されている。なお、量子化スケールの具体的な値は、ＶＣ−１（ＳＭＰＴＥ ４２１Ｍ）に定義されているものを使用すればよい。量子化スケールテーブルから対応する１つの値を取得する処理は、上述したパラメータ計算部４０２が行えばよい。演算子"＞＞k"は、右方向へのkビットシフトを表す。
【００３９】
また、左ブロックＣのＡＣ予測係数ＱＦＣ［ｊ］［０］に対するスケーリングは、以下の（２）式により行えばよい。
【数２】
2009212900.tif 000004
ここで、SQFC[ｊ][0]は、スケーリング後のＡＣ予測係数である。ACSTEPP は、ＡＣ予測係数FC[j][0]の量子化ステップサイズである。ACSTEPC は、カレントブロックのＡＣ係数の量子化ステップサイズである。
【００４０】
予測方向判別部４０４は、３つの周辺ブロックＡ〜Ｃのスケーリング後のＤＣ係数の差分値を計算し、カレントブロックの予測方向を判別する。
【００４１】
逆ＤＣ／ＡＣ予測処理部４０は、スケーリング部４０３によるスケーリング後のＤＣ／ＡＣ予測係数を周辺ＤＣ／ＡＣ係数バッファ５０に格納し、予測方向判別部４０４によって判別された予測方向を含むpreddir信号を逆量子化部３０に送信する。
【００４２】
周辺ＤＣ／ＡＣ係数バッファ５０は、カレントブロックの逆ＤＣ／ＡＣ予測に使用するために外部メモリ１４から供給される周辺ブロック（具体的には、上、左上及び左の３ブロック）のＤＣ／ＡＣ予測係数が格納される。また、周辺ＤＣ／ＡＣ係数バッファ５０の格納データは、スケーリング後のＤＣ／ＡＣ予測係数によって更新される。周辺ＤＣ／ＡＣ係数バッファ５０に保持されたＤＣ／ＡＣ予測係数は、上述した加算処理部３０２におけるＤＣ／ＡＣ差分係数との加算処理に利用される。
【００４３】
周辺ＤＣ／ＡＣ係数バッファ５０の具体例を図２に示す。図２のＤＣ／ＡＣ係数バッファ５０は、４つのＤＣ係数バッファ５００〜５０３、及び６つのＤＣＡＣ係数バッファ５１０〜５１５によって構成されている。ＤＣ係数バッファ５００は、輝度信号のカレントブロックの左上ブロックのＤＣ予測係数を格納する。ＤＣ係数バッファ５０１は輝度信号のカレントブロックの左ブロックのＤＣ予測係数を格納する。ＤＣ係数バッファ５０２は、色差信号Ｃｂのカレントブロックの左上ブロックのＤＣ予測係数を格納する。ＤＣ係数バッファ５０３は、色差信号Ｃｒのカレントブロックの左上ブロックのＤＣ予測係数を格納する。
【００４４】
ＡＣＤＣ係数バッファ５１０は、輝度信号のカレントブロックの上ブロックに加えて左上又は右上ブロックのＤＣ／ＡＣ予測係数を格納する。ＡＣＤＣ係数バッファ５１１は、輝度信号のカレントブロックの左ブロックに加えて左上又は左下のＤＣ／ＡＣ予測係数を格納する。ＡＣＤＣ係数バッファ５１２は、色差信号Ｃｂのカレントブロックの上ブロックのＤＣ／ＡＣ予測係数を格納する。ＡＣＤＣ係数バッファ５１３は、色差信号Ｃｂのカレントブロックの左ブロックのＤＣ／ＡＣ予測係数を格納する。ＡＣＤＣ係数バッファ５１４は、色差信号Ｃｒのカレントブロックの上ブロックのＤＣ／ＡＣ予測係数を格納する。最後に、ＡＣＤＣ係数バッファ５１５は、色差信号Ｃｒのカレントブロックの左ブロックのＤＣ／ＡＣ予測係数を格納する。
【００４５】
図１に戻り説明を続ける。外部メモリ１４は、復号化後の画像データを格納するメモリであり、逆ＤＣ／ＡＣ予測処理のために必要なカレント・マクロブロックの上マクロブロックの画素値を格納する。
【００４６】
出力バッファ１５は、パイプライン処理部１２の出力データ、つまり逆量子化後のカレントブロックのＤＣ／ＡＣ係数を格納し、これを逆ＤＣＴ部１６に供給する。
【００４７】
逆ＤＣＴ部１６は、カレントブロックの復元ＤＣ／ＡＣ係数を出力バッファ１５から入力して逆ＤＣＴ演算を実行することにより、カレントブロックの画素値を復元する。
【００４８】
続いて以下では、パイプライン処理部１２が逆スキャン処理から逆量子化処理までを行う際の動作手順について具体的に説明する。
【００４９】
（ＳＴＥＰ０）
パイプライン処理部１２は、マクロブロック内の複数のブロックについて、図７に示した順序、すなわちＹ０、Ｙ１、Ｙ２、Ｙ３、Ｃｂ、Ｃｒの順序でＤＣ／ＡＣ係数の処理を行う。現在のカレントブロックの位置は、シーケンス処理部１３が管理する。
【００５０】
（ＳＴＥＰ１）
シーケンス処理部１３からの指示に応じて、カレントブロックの周辺ブロックの値が外部メモリ１４から周辺ＤＣ／ＡＣ係数バッファ５０に格納される。周辺ＤＣ／ＡＣ係数バッファ５０に格納される周辺ブロックの値のうち左マクロブロックに関するものは、前のマクロブロックの処理結果の結果である。
【００５１】
（ＳＴＥＰ２）
入力バッファ１１にカレントブロック分のデータが蓄積されると、シーケンス処理部１３は、start信号及びparameter信号をパイプライン制御部２０に与え、逆量子化部３０及び逆ＤＣ／ＡＣ予測処理部４０による処理を開始させる。
【００５２】
（ＳＴＥＰ３）
start信号を受信したパイプライン制御部２０は、シーケンス処理部１３から与えられたパラメータを逆量子化部３０及び逆ＤＣ／ＡＣ予測処理部４０に供給するとともに、カレントブロックに対する処理の開始を示すblkstart信号を逆量子化部３０に与える。
【００５３】
（ＳＴＥＰ４）
blkstart信号を受信した逆量子化部３０は、Ｙ０ブロックのＤＣ／ＡＣ予測処理、具体的には係数スケーリング及び予測方向判別処理を行なわせるために、逆ＤＣ／ＡＣ予測処理部４０に対してdcstart信号及びacstart信号を送信する。これは、本実施の形態のパイプライン処理部１２がマクロブロック単位で逆量子化を実行するためであり、１カレントブロック内の先頭ブロックであるＹ０ブロックについては係数スケーリング及び予測方向判別が未実施であるためである。dcstart信号及びacstart信号を受信した逆ＤＣ／ＡＣ予測処理部４０は、パラメータ計算を行い、カレントブロックと周辺ブロックとの量子化スケールが異なる場合にはＤＣ係数のスケーリング処理を実行し、予測方向の判別を行なう。そして、逆ＤＣ／ＡＣ予測処理部４０は、算出した予測方向をpreddir信号に含めて逆量子化部３０に通知する。引き続き、逆ＤＣ／ＡＣ予測処理部４０は、算出した予測方向のＡＣ係数のスケーリングを行い、処理結果を周辺ＤＣ／ＡＣ係数バッファ５０に格納する。逆ＤＣ／ＡＣ予測処理部４０は、Ｙ０ブロックに関するＤＣ／ＡＣ予測処理（ただし、係数スケーリング及び予測方向判別処理）を全て完了すると、dcacfinish信号を逆量子化部３０に通知する。
【００５４】
（ＳＴＥＰ５）
逆量子化部３０は、逆ＤＣ／ＡＣ予測処理部４０におけるＹ０ブロックに関する処理の終了を示すdcacfinish信号を受信すると、逆スキャン、予測方向に従ったＤＣ／ＡＣ予測係数とＤＣ／ＡＣ差分係数の加算処理、及び逆量子化をＹ０ブロック内の６４個の係数について行う。逆量子化部３０は、得られたＹ０ブロックの復元ＤＣ／ＡＣ係数を、出力バッファ１５に格納する。なお、加算処理後のＹ０ブロックの上辺係数と左辺係数は、後続のＹ１ブロック及びＹ２ブロックの周辺予測画素として用いられる。このため、逆量子化部３０は、周辺ＤＣ／ＡＣ係数バッファ５０に含まれるＡＣＤＣ係数バッファ５１０及び５１１にこれらの係数を格納する。
【００５５】
（ＳＴＥＰ６）
逆量子化部３０は、ＳＴＥＰ５におけるＹ０ブロックの逆量子化処理に並行して、Ｙ１ブロックに関する係数スケーリング及び予測方向判別処理を逆ＤＣ／ＡＣ予測処理部４０に開始させるために、以下のように動作する。すなわち逆量子化部３０は、上述したＳＴＥＰ５の実行過程において、Ｙ０ブロックのＤＣ係数に対する加算処理が終了しだい速やかにＹ１ブロックのdcstart信号を逆ＤＣ／ＡＣ予測処理部４０に与える。Ｙ１ブロックのdcstart信号を受信した逆ＤＣ／ＡＣ予測処理部４０は、パラメータ計算を行い、必要に応じてＤＣ係数のスケーリング処理を実行し、Ｙ１ブロックの予測方向の判別を行なう。そして、逆ＤＣ／ＡＣ予測処理部４０は、算出したＹ１ブロックの予測方向をpreddir信号に含めて逆量子化部３０に通知する。
【００５６】
また、Ｙ１ブロックの加算処理の実行に必要なＡＣ係数のスケーリング処理をＹ０ブロックの量子処理と並行して逆ＤＣ／ＡＣ予測処理部４０に行わせるために、逆量子化部３０は以下ように動作する。すなわち、逆量子化部３０は、Ｙ０ブロックの左辺係数（つまり、図３のインデックス８、１６、２４、３２、４０、４８及び５６）に関する加算処理が終了したら速やかに、Ｙ１ブロックのacstart信号を逆ＤＣ／ＡＣ予測処理部４０に送信する。Ｙ０ブロックの左辺係数に関する加算処理の終了は、例えば、インデックス５６番の係数に引き続くインデックス４９番の係数が逆スキャン処理部３０１によって取得されたことにより判定すればよい。Ｙ１ブロックのacstart信号を受信した逆ＤＣ／ＡＣ予測処理部４０は、Ｙ１ブロックの予測方向に対応する周辺ブロックのＡＣ係数（つまり、ＡＣ予測係数）をスケーリングし、その結果を周辺ＤＣ／ＡＣ係数バッファ５０に格納し、dcacfinish信号を逆量子化部３０に送信する。 
【００５７】
（ＳＴＥＰ７）
逆量子化部３０は、Ｙ１ブロックに関するdcacfinish信号を逆ＤＣ／ＡＣ予測処理部４０から受信し、かつＹ０ブロックの逆量子化処理が６４係数全てについて完了した場合に、Ｙ０ブロックの処理が終了したことを通知するために、pipedone信号をパイプライン制御部２０に送信する。
【００５８】
（ＳＴＥＰ８）
パイプライン制御部２０は、pipedone信号の受信によってＹ０ブロックの逆量子化処理が完了したことを認識し、finish信号をシーケンス処理部１３に送信する。
【００５９】
（ＳＴＥＰ９）
シーケンス処理部１３は、finish信号を受信した場合、次の処理対象ブロックであるＹ１ブロックの処理に必要なパラメータを求め、parameter信号及びＹ１ブロックの処理開始を示すstart信号をパイプライン制御部２０に送信する。
【００６０】
（ＳＴＥＰ１０）
Ｙ１ブロックの処理開始を示すstart信号を受信したパイプライン制御部２０は、シーケンス処理部１３から与えられたパラメータを逆量子化部３０及び逆ＤＣ／ＡＣ予測処理部４０に供給するとともに、Ｙ１ブロックに対する処理の開始を示すblkstart信号を逆量子化部３０に送信する。
【００６１】
（ＳＴＥＰ１１）
blkstart信号を受信した逆量子化部３０は、速やかにＤＣ係数の加算処理を開始する。これは、上述したＳＴＥＰ６において既にＹ１ブロックの周辺ブロックに関するＤＣ／ＡＣ係数のスケーリング及び予測方向の判別が終了しているためである。逆量子化部３０は、Ｙ１ブロックに関する逆スキャン、予測方向に従ったＤＣ／ＡＣ予測係数とＤＣ／ＡＣ差分係数の加算処理、及び逆量子化をＹ１ブロック内の６４個の係数について行う。逆量子化部３０は、得られたＹ１ブロックの復元ＤＣ／ＡＣ係数を、出力バッファ１５に格納する。なお、加算処理後のＹ１ブロックの上辺係数は、後続のＹ３ブロックの周辺予測画素として用いられる。このため、逆量子化部３０は、周辺ＤＣ／ＡＣ係数バッファ５０に含まれるＡＣＤＣ係数バッファ５１０にこれらの係数を格納する。
【００６２】
（ＳＴＥＰ１２）
逆量子化部３０は、上述したＳＴＥＰ１１におけるＹ１ブロックの逆量子化処理に並行してＹ２ブロックに関する係数スケーリング及び予測方向判別処理を逆ＤＣ／ＡＣ予測処理部４０に開始させるために、以下のように動作する。すなわち逆量子化部３０は、Ｙ１ブロックのＤＣ係数に対する加算処理が終了しだい速やかにＹ２ブロックのdcstart信号を逆ＤＣ／ＡＣ予測処理部４０に与える。また、逆量子化部３０は、dcstart信号に合わせてacstart信号も送信すればよい。これは、図２からも分かるように、Ｙ１ブロックのＡＣ係数はＹ２ブロックのＡＣ予測係数ではないため、Ｙ１ブロックのＡＣ係数の加算処理を待つ必要がないためである。
【００６３】
Ｙ２ブロックのdcstart信号及びacstart信号を受信した逆ＤＣ／ＡＣ予測処理部４０は、Ｙ２ブロックの周辺ブロックに含まれるＤＣ予測係数を用いて、パラメータ計算、ＤＣ係数スケーリング、Ｙ２ブロックの予測方向判別を実行する。そして、逆ＤＣ／ＡＣ予測処理部４０は、算出したＹ２ブロックの予測方向をpreddir信号に含めて逆量子化部３０に通知する。引き続き、逆ＤＣ／ＡＣ予測処理部４０は、算出したＹ２ブロックの予測方向に対応する周辺ブロックのＡＣ係数（つまり、ＡＣ予測係数）をスケーリングし、その結果を周辺ＤＣ／ＡＣ係数バッファ５０に格納し、dcacfinish信号を逆量子化部３０に送信する。
【００６４】
（ＳＴＥＰ１３）
逆量子化部３０は、Ｙ２ブロックに関するdcacfinish信号を逆ＤＣ／ＡＣ予測処理部４０から受信し、かつＹ１ブロックの逆量子化処理が６４係数全てについて完了した場合に、Ｙ１ブロックの処理が終了したことを通知するために、pipedone信号をパイプライン制御部２０に送信する。
【００６５】
（ＳＴＥＰ１４）
パイプライン制御部２０は、pipedone信号の受信によってＹ１ブロックの逆量子化処理が完了したことを認識し、finish信号をシーケンス処理部１３に送信する。
【００６６】
（ＳＴＥＰ１５）
シーケンス処理部１３は、finish信号を受信した場合、次の処理対象ブロックであるＹ２ブロックの処理に必要なパラメータを求め、parameter信号及びＹ１ブロックの処理開始を示すstart信号をパイプライン制御部２０に送信する。
【００６７】
（ＳＴＥＰ１６）
パイプライン処理部１２及びシーケンス処理部１３は、上述したＹ１ブロックに関するＳＴＥＰ１０〜１４と同様の処理を繰り返すことによって、Ｙ２、Ｙ３、Ｃｂ及びＣｒブロックに対する逆量子化処理を実行する。これにより、１マクロブロックの逆量子化が完了する。
【００６８】
上述したように、本実施の形態の画像復号化装置１に含まれるパイプライン処理部１２は、先頭ブロックＹ０を除く残りのＹ１ブロックからＣｒブロックまでの逆ＡＣ／ＤＣ予測処理に関して、次ブロックに関するＤＣ／ＡＣ係数のスケーリング及び予測方向の判別処理をカレントブロックの逆量子化と並行して実行するよう構成されている。これによって、カレントブロック（例えばＹ０ブロック）の逆量子化の完了後、次ブロック（例えばＹ１ブロック）に対する処理の開始時にＤＣ／ＡＣ係数のスケーリング及び予測方向の決定に要する時間を待つ必要が無くなる。このため、パイプライン処理部１２は、速やかに次ブロックに対する逆スキャン処理、加算処理及び逆量子化処理を開始することができる。したがって、本実施の形態の画像復号化装置１は、１マクロブロックの逆量子化に要する処理時間を短縮することができる。
【００６９】
ここで、本実施の形態による処理時間の短縮効果を図４と図８の対比により説明する。図４は、本実施の形態にかかる画像復号化装置１において、ＶＣ−１マクロブロックの逆スキャン処理、逆ＤＣ／ＡＣ予測処理、及び逆量子化処理を実行した場合の処理時間を説明するための図である。
【００７０】
図４及び図８を対比すると、先頭のＹ０ブロックの処理時間に差はない。なお、図４及び図８において、時間ＴＡは、ＤＣ係数スケーリング及び予測方向の判別処理に要する処理時間である。また、時間ＴＢは、ＡＣ係数スケーリングに要する処理時間である。また、時間ＴＣは、逆スキャン処理、加算処理及び逆量子化処理に要する処理時間である。
【００７１】
しかしながら、後続のＹ１〜Ｃｒブロックの処理に関して図４と図８には相違がある。上述した画像復号化装置１の動作及び図４から明らかなように、画像復号化装置１は、Ｙ１〜Ｃｒブロックの逆ＤＣ／ＡＣ予測処理の一部であるＤＣ係数スケーリング、予測方向の判別、及びＡＣ係数のスケーリングを各々のブロックの先行ブロック（Ｙ１ブロックの場合であればＹ０ブロック）の逆スキャン処理、加算処理及び逆量子化処理と時間的に並行して実行する。このため、図４では、Ｙ１〜Ｃｒブロックの逆量子化を完了するまでの処理時間が図８に比べて短縮されている。
【００７２】
例えば、ＤＣ係数スケーリング及び予測方向の判別の処理クロック数ＣＡ、ＤＣ係数スケーリングの処理クロック数ＣＢ、並びに逆スキャン処理、加算処理及び逆量子化処理の処理クロック数ＣＣをそれぞれ以下の値と仮定する。
ＣＡ：９クロック
ＣＢ：１１クロック
ＣＣ：４２クロック
この場合、図８に示した従来の１マクロブロックの処理に要するクロック数は、６（ＣＡ＋ＣＢ＋ＣＣ）、すなわち３７２クロックとなる。一方、図４に示した画像復号化装置１による１マクロブロックの処理に要するクロック数は、ＣＡ＋ＣＢ＋６ＣＣ、すなわち２７２クロックとなる。
【００７３】
このように逆符号化に要する処理クロック数を削減できるということは、画像復号化装置の動作周波数を低減させることにも寄与する。例えば、上述したＣＡ、ＣＢ及びＣＣの値によって１９２０×１０８０画素のフルＨＤ（High-Definition）サイズの画像データを１倍速でデコードするために必要な動作周波数は、図８の例では91.0MHzであるのに対して、図4の例では66.6MHzに低減される。
【００７４】
なお、上述した実施の形態では、次ブロックのＤＣ係数スケーリング、予測方向の判別及びＡＣ係数スケーリングをカレントブロックの逆量子化処理と並行して実行する例を示した。しかしながら、例えば、次ブロックのＤＣ係数スケーリング及び予測方向の判別までを、カレントブロックの逆量子化処理と並行して実行するよう構成してもよい。このような構成によっても、ＤＣ係数の逆予測処理を並列化する分だけマクロブロックの逆量子化の完了に要する全体的な処理時間を短縮可能である。
【００７５】
また、上述した実施の形態では、ＶＣ−１、ＭＰＥＧ−４等の多くのコーデックで使用されているＤＣＴを用いて符号化された画像の復号化について説明した。しかしながら、ＤＣＴは画像信号を空間周波数で表現するための１つの手法に過ぎず、本発明はＤＣＴに限らず他の直交変換手法を用いて符号化された画像の復号化処理にも適用可能である
【００７６】
また、上述した画像復号化装置１は、ＶＣ−１に限らずＡＣ／ＤＣ予測符号化を行なう他のコーデック技術を用いて圧縮符号化された画像データの復号にも適用可能である。
【００７７】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の形態にかかる画像復号化装置のブロック図である。
【図２】周辺ＤＣ／ＡＣ係数バッファの具体例を示す図である。
【図３】８×８画素のブロックと当該ブロックの圧縮符号化時のジグザグスキャンによるスキャン方向を示す図である。
【図４】本発明の実施の形態にかかる画像復号化装置において、ＶＣ−１マクロブロックの逆スキャン処理、逆ＤＣ／ＡＣ予測処理、及び逆量子化処理を実行した場合の処理時間を説明するための図である。
【図５】従来の画像復号化装置のブロック図である。
【図６】ＤＣ／ＡＣ予測の予測方向を決めるための周辺ロックとカレントブロックとの位置関係を示す図である。
【図７】ＶＣ−１マクロブロック内の複数のブロックとこれらのブロックに対する処理順序を示す図である。
【図８】従来の画像復号化装置において、ＶＣ−１マクロブロックの逆スキャン処理、逆ＤＣ／ＡＣ予測処理、及び逆量子化処理を実行した場合の処理時間を説明するための図である。
【符号の説明】
【００７９】
１  画像復号化装置
１０  可変長復号部
１１  入力バッファ
１２  パイプライン処理部
１３  シーケンス処理部
１４  外部メモリ
１５  出力バッファ
１６  逆ＤＣＴ部
２０  パイプライン制御部
３０  逆量子化部
３０１  逆スキャン処理部
３０２  加算処理部
３０３  逆量子化部
４０  逆ＤＣ／ＡＣ予測処理部
４０１  制御部
４０２  パラメータ計算部
４０３  スケーリング部
４０４  予測方向判別部
５０  周辺ＤＣ／ＡＣ係数バッファ
【図１】
2009212900.tif 000005
【図２】
2009212900.tif 000006
【図３】
2009212900.tif 000007
【図４】
2009212900.tif 000008
【図５】
2009212900.tif 000009
【図６】
2009212900.tif 000010
【図７】
2009212900.tif 000011
【図８】
2009212900.tif 000012