(57)【要約】  単一回路で各種の画像符号化方式に対応した復号化を行うとともに、汎用性を向上させる。  係数選択処理部１１は、復号化対象ブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択し、係数演算処理部１２は、選択されたＤＣ係数及びＡＣ係数に演算処理を施し、係数比較処理部１３は、演算処理が施されたＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求め、方向判定処理部１４は、ブロック間相関関係を用いて予測方法を判定し、予測処理部１５は、判定された予測方法を用いて、演算処理が施されたＤＣ係数及びＡＣ係数を符号化データに加算し、制御部７は、符号化データの内容に応じて、係数選択処理部１１における選択方法、係数演算処理部１２における演算処理方法、方向判定処理部１４における判定方法及び予測処理部１５における予測処理方法のうちの一つ又は複数の方法を制御する。
2008136164.tif 000002
【特許請求の範囲】
【請求項１】
画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化回路であって、
供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部と、
前記復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理部と、
前記係数選択処理部によって選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理部と、
前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理部と、
前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理部と、
前記判定処理部によって判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理部と、
供給される前記符号化データの内容に応じて、前記係数選択処理部における選択方法、前記係数演算処理部における演算処理方法、前記判定処理部における判定方法及び前記予測処理部における予測処理方法のうちの一つ又は複数の方法を制御する制御部とを備えることを特徴とする復号化回路。
【請求項２】
前記係数選択処理部は、前記隣接ブロックが利用可能であるか否かを示す情報に基づいて、前記隣接ブロック情報から得られるＤＣ係数及びＡＣ係数と、所定の定数値とのうちのいずれかの値を選択することを特徴とする請求項１記載の復号化回路。
【請求項３】
前記係数選択処理部によって選択される前記定数値は、設定可能であることを特徴とする請求項２記載の復号化回路。
【請求項４】
前記係数演算処理部は、
前記係数選択処理部によって選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、前記隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す第１の量子化スケール値を乗算する第１の乗算処理部と、
前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す第２の量子化スケール値を除算する除算処理部とを含むことを特徴とする請求項１記載の復号化回路。
【請求項５】
前記除算処理部は、
前記第２の量子化スケール値に応じた複数の逆数値を格納する逆数値格納部と、
前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して前記逆数値を乗算する第２の乗算処理部と、
前記第２の乗算処理部によって前記逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理を行う丸め処理部と、
前記丸め処理部によって前記丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理を行うシフト処理部とを含むことを特徴とする請求項４記載の復号化回路。
【請求項６】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかを選択することを特徴とする請求項５記載の復号化回路。
【請求項７】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記係数値の種類に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することを特徴とする請求項６記載の復号化回路。
【請求項８】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の量子化スケール値と前記第２の量子化スケール値との関係に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することを特徴とする請求項６記載の復号化回路。
【請求項９】
前記除算処理部は、前記逆数値格納部に格納された前記逆数値を補正する逆数値補正部をさらに含むことを特徴とする請求項５記載の復号化回路。
【請求項１０】
前記逆数値補正部は、前記逆数値格納部に格納されているあらかじめ定められた複数の逆数値に補正値を加算することを特徴とする請求項９記載の復号化回路。
【請求項１１】
前記第２の乗算処理部における前記逆数値、前記丸め処理部における丸め値、及び前記シフト処理部における右ビットシフト量は、符号化方式に応じてそれぞれ設定可能であることを特徴とする請求項５〜１０のいずれかに記載の復号化回路。
【請求項１２】
前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定し、前記ブロック間相関関係を用いて予測方法を判定するか否かを示す情報に基づいて、判定した予測方法と、あらかじめ設定された所定の予測方法とのうちのいずれかを選択することを特徴とする請求項１記載の復号化回路。
【請求項１３】
前記判定処理部は、復号化対象となるブロックに隣接する隣接ブロックが予測に利用できるか否かに応じて予測方法を判定することを特徴とする請求項１２記載の復号化回路。
【請求項１４】
前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかを選択することを特徴とする請求項１２記載の復号化回路。
【請求項１５】
前記予測処理部は、前記係数値の種類に応じて前記予測処理部における演算を行うか否かを示す情報に基づいて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する演算を行った演算済み値と、前記演算を行わない非演算値とのいずれかを選択することを特徴とする請求項１に記載の復号化回路。
【請求項１６】
前記予測処理部によって得られるＤＣ係数及びＡＣ係数が所定の値以上又は所定の値以下である場合、前記ＤＣ係数及び前記ＡＣ係数を前記所定の値にクリッピングする飽和処理を行う飽和処理部をさらに備えることを特徴とする請求項１〜１５のいずれかに記載の復号化回路。
【請求項１７】
前記飽和処理部におけるクリッピングの範囲は、設定可能であることを特徴とする請求項１６記載の復号化回路。
【請求項１８】
前記飽和処理部は、前記ＤＣ係数に対して所定の演算を施すことで奇数化処理を行い、前記奇数化処理を行うか否かを示す情報に基づいて、前記奇数化処理を行った処理済み値と、前記奇数化処理を行っていない非処理値とのいずれかを選択することを特徴とする請求項１６記載の復号化回路。
【請求項１９】
画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化方法であって、
供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理ステップと、
前記係数選択処理ステップにおいて選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理ステップと、
前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理ステップと、
前記係数比較処理ステップにおいて求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理ステップと、
前記判定処理ステップにおいて判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理ステップと、
供給される前記符号化データの内容に応じて、前記係数選択処理ステップにおける選択方法、前記係数演算処理ステップにおける演算処理方法、前記判定処理ステップにおける判定方法及び前記予測処理ステップにおける予測処理方法のうちの一つ又は複数の方法を制御する制御ステップとを含むことを特徴とする復号化方法。
【請求項２０】
符号化データを取得する符号化データ取得部と、
前記符号化データ取得部によって取得された符号化データを復号化する前記請求項１記載の復号化回路と、
前記復号化回路によって復号化された画像データを出力する出力部とを備えることを特徴とする画像再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の圧縮符号化処理によって生成された符号化データを復号化する復号化回路に関し、特に、符号化データに含まれる係数データに対して、直流成分であるＤＣ係数と交流成分であるＡＣ係数との両方に対して適応的に予測し、復号化を行う復号化回路、復号化方法及び画像再生装置に関するものである。
【背景技術】
【０００２】
近年、ネットワークの高速化や、パーソナルコンピュータ及びデジタルテレビジョン受信機などの一般家庭への急速な普及により、各種マルチメディアサービスが広く実用化されている。とりわけ、デジタル放送システムやインターネットを利用したコンテンツ配信システムなどでは、映像や音声などのコンテンツデータをＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式などの規格に基づいて圧縮符号化し、圧縮符号化したコンテンツデータである符号化データの断片をパケットとし、パケットの集合をストリーム信号として伝送したり、あるいはハードディスク、ＤＶＤ又はメモリカードなどに記録するような形態が一般的となっている。また、このようなストリーム信号を受け取る、パーソナルコンピュータ、セットトップボックス、携帯情報端末装置又は携帯電話機などの情報機器は、ストリーム信号に含まれる符号化データを抽出し、抽出した符号化データに対して復号化処理を施すことで、コンテンツデータを復元する。【０００３】
このような、画像を圧縮符号化する方式として、静止画像を圧縮符号化する方式では、デジタルカメラなどに広く利用されているＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式がある。また、動画像を圧縮符号化する方式では、ＣＤ−ＲＯＭなどへ動画像を記録するＭＰＥＧ−１方式がある。これによって、例えば離散コサイン変換に基づく画像圧縮符号化手法などの基本技術が確立された。このような基本技術に基づき、例えばデジタル放送で利用されているＭＰＥＧ−２方式、インターネットを利用したコンテンツなどに利用されるＭＰＥＧ−４方式、そしてさらに高圧縮符号化を目的としたＭＰＥＧ−４ＡＶＣ方式などが画像信号を扱う分野で標準方式として利用されている。【０００４】
このような画像圧縮符号化の基本アルゴリズムは、動き補償予測方式に、直交変換方式の１つである上述の離散コサイン変換方式を組み合わせたハイブリッド圧縮符号化方式である。ハイブリッド圧縮符号化方式では、画像に対して１画面内データそのものを離散コサイン変換したデータと、動き補償画面間予測したデータに対して離散コサイン変換したデータとの両方を組み合わせて画像圧縮符号化が行われる。【０００５】
このような画像圧縮符号化において、離散コサイン変換は、所定数の画素で構成されるブロック単位で行われる。このブロックを構成する各画素データは、離散コサイン変換により、直流成分から高周波成分までの周波数ごとの振幅強度を示す複数の係数値へと変換される。このような各係数値は、まず、各圧縮符号化方式に基づいた手法で量子化されることで、量子化係数値へと変換される。さらに、各量子化係数値は、可変長符号化による圧縮率を向上させるため、各データの順序を示すスキャンパターンに応じて並び替えられる。その後、並び替えられた各量子化係数値は、順次、スキャンパターンの順序に従って可変長符号化処理が施される。【０００６】
なお、このような可変長符号化として、先行するゼロの量子化係数値の個数であるランと、非ゼロの量子化係数値であるレベルとを組として一意的な符号を割り当ててデータの圧縮を図るランレベル符号化が用いられる。このようなアルゴリズムを基本として画像の圧縮符号化が行われ、上述のように圧縮された係数データを含む符号化データが生成される。【０００７】
また、圧縮符号化により生成された符号化データに対し、その圧縮符号化に対応した復号化処理を行うことで元の画像を復元することができる。すなわち、符号化データに含まれるランとレベルとのデータから、スキャンパターンの順序に従った量子化係数値が復元される。さらに、圧縮符号化におけるスキャンパターンに対応したスキャンパターンデータに従って量子化係数値が並び替えられる。これにより、ブロック上の所定位置に配置されたそれぞれの量子化係数値が復元される。さらに、これら量子化係数値に対して逆量子化が行われ、逆量子化により復元された各係数値に対して逆離散コサイン変換が施されることで、ブロック単位の画素データが復元される。【０００８】
また、ＭＰＥＧ−４方式などでは、これらの符号化処理に加え、さらに画面内予測を行うブロックの発生符号量を削減するための技術としてＤＣ／ＡＣ予測符号化と呼ばれる技術が採用されている。【０００９】
図９は、ＤＣ／ＡＣ予測符号化について説明するための概念図である。図９に示すように、ＤＣ／ＡＣ予測符号化では、符号化対象ブロックの直流成分であるＤＣ係数と、交流成分である第１行又は第１列のＡＣ係数とを、符号化対象ブロックの上方に隣接するブロック（上隣接ブロック）、符号化対象ブロックの左方に隣接するブロック（左隣接ブロック）、又は上隣接ブロック及び左隣接ブロックの両方のブロックに基づいて予測し、その予測誤差のみを符号化することで符号化データ量を抑えている。このようなＤＣ／ＡＣ予測符号化の技術は、ＭＰＥＧ−４方式の他にもＨ．２６３方式など、複数の符号化方式で用いられている。【００１０】
このようなＤＣ／ＡＣ予測符号化された符号化データに対してＤＣ／ＡＣ予測復号化を行うための様々な装置が提案されている。例えば、特許文献１では、ＭＰＥＧ−４方式に対応したＤＣ／ＡＣ予測処理を行うためのハードウェア装置が提案されている。【００１１】
しかしながら、従来の復号化回路のように、各種の画像符号化方式に対応させてそれぞれ個別に復号化回路を構成するような手法の場合、各画像符号化方式に対し個別にＤＣ／ＡＣ予測回路を設計する必要がある。そのため、回路規模が大きくなるとともに、例えば新たな画像符号化方式が提案された場合、迅速に対応することが難しく、復号化処理を行うためのＬＳＩ（大規模集積回路）の再設計が必要となるなどの課題があった。
【特許文献１】特開２００１−１０３４７２号公報
【発明の開示】
【００１２】
本発明は、上記の問題を解決するためになされたもので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化装置、復号化方法及び画像再生装置を提供することを目的とするものである。
【００１３】
本発明の一局面に係る復号化回路は、画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化回路であって、供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部と、前記復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理部と、前記係数選択処理部によって選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理部と、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理部と、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理部と、前記判定処理部によって判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理部と、供給される前記符号化データの内容に応じて、前記係数選択処理部における選択方法、前記係数演算処理部における演算処理方法、前記判定処理部における判定方法及び前記予測処理部における予測処理方法のうちの一つ又は複数の方法を制御する制御部とを備える。
【００１４】
この構成によれば、復号化データ格納部には、供給される符号化データに対してブロック単位で復号化処理を行った復号化データが隣接ブロック情報として一時的に格納される。そして、係数選択処理部によって、復号化データ格納部に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数が選択される。係数演算処理部によって、係数選択処理部により選択されたＤＣ係数及びＡＣ係数に所定の演算処理が施され、係数比較処理部によって、係数演算処理部により所定の演算処理が施されたＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係が求められる。続いて、判定処理部によって、係数比較処理部により求められたブロック間相関関係を用いて予測方法が判定され、予測処理部によって、判定処理部により判定された予測方法を用いて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数が加算される。また、制御部によって、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御される。
【００１５】
本発明によれば、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御されるので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化装置を提供することができる。また、新たなＤＣ／ＡＣ予測処理方法を用いた符号化方式が提案されたとしても、符号化データに応じて各処理部の処理方法を変更することにより、新たなＤＣ／ＡＣ予測処理方法に迅速に対応することができ、復号化処理を行うためのＬＳＩなどの再設計も不要となる。
【００１６】
本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１における復号化回路の構成を示すブロック図である。
【図２】図１に示すＤＣ／ＡＣ予測処理部の構成を示すブロック図である。
【図３】ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。
【図４】ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。
【図５】Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。
【図６】Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。
【図７】本発明の実施の形態２におけるＤＣ／ＡＣ予測処理部の構成を示すブロック図である。
【図８】本発明の実施の形態３における画像再生装置の構成を示すブロック図である。
【図９】ＤＣ／ＡＣ予測符号化処理について説明するための概念図である。
【発明を実施するための最良の形態】
【００１８】
以下添付図面を参照しながら、本発明の実施の形態について説明する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。【００１９】
（実施の形態１）
図１は、本発明の実施の形態１における復号化回路の構成を示すブロック図である。本実施の形態では、画像データを圧縮符号化することにより生成された符号化データを含む符号化ストリームを取得し、符号化データから元の画像データを復元する復号化回路の一例について説明する。【００２０】
図１に示すように、復号化回路には、符号化データを含む符号化ストリームが供給される。復号化回路に供給される符号化データは、画像の圧縮符号化処理により生成される。画像の圧縮符号化処理では、画像データが所定画素数のブロック単位で離散コサイン変換され、離散コサイン変換により生成されたブロックごとの各係数値が量子化される。そして、量子化により生成された各量子化係数値に対し、ＤＣ／ＡＣ予測符号化が行われる。すなわち、直流成分であるＤＣ係数と、交流成分である第１列又は第１行のＡＣ係数値とが、符号化対象ブロックの上方に隣接するブロック、符号化対象ブロックの左方に隣接するブロック、又は符号化対象ブロックの上方に隣接するブロック及び左方に隣接するブロックの両方のブロックに基づいて、予測される。生成された各量子化係数値は、所定のスキャンパターンに従って並び替えられ、並び替えられた量子化係数値に対して可変長符号化が施される。【００２１】
本実施の形態における復号化回路は、このような画像圧縮符号化処理により生成された符号化データに対して、可変長符号化されたデータからスキャンパターンの順序に従った量子化係数値に対応する係数データを復元する。そして、復号化回路は、復元した係数データをスキャンパターンに従って並び替えることにより、ブロック上の所定位置に配置されたそれぞれの係数データを復元する。【００２２】
また、復号化回路は、復元された係数データに対してＤＣ／ＡＣ予測処理を行う。すなわち、復号化回路は、復号化対象ブロックの直流成分であるＤＣ係数と、交流成分である第１列又は第１行のＡＣ係数とを、復号化対象ブロックの上方に隣接するブロック、復号化対象ブロックの左方に隣接するブロック、又は復号化対象ブロックの上方に隣接するブロック及び左方に隣接するブロックの両方のブロックに基づいて、予測する。【００２３】
復号化回路は、このように復元したブロック内の各係数データに対して、逆量子化及び逆変換を施すことで、ブロック内の各画素に対応した画像データを復元する。復号化回路は、復元した画像データを復号化データとして出力する。【００２４】
特に、本実施の形態における復号化回路は、画像の符号化方式として国際標準化機関で規格化された、動画像を対象としたＭＰＥＧ−４及びＨ．２６３方式などに対応可能な構成としている。また、本実施の形態における復号化回路は、特定の企業や国が独自に開発した画像符号化方式にも対応可能な構成としている。さらに、これらの画像符号化方式に加えて、本実施の形態における復号化回路は、将来提案される画像符号化方式に対しても対応可能な構成としている。【００２５】
また、本実施の形態では、直交変換の１つである離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を用いる画像符号化方式により符号化された符号化データを復号化する例について説明するが、画像データから周波数ごとの成分を求めるような手法を用いた他の変換を利用する画像符号化方式に対しても対応可能であり、このような離散コサイン変換以外の変換を利用した符号化データを復号化する復号化回路であってもよい。【００２６】
図１に示す復号化回路は、ＤＣ／ＡＣ予測処理部１、可変長復号化部２、符号化情報抽出部３、逆スキャン処理部４、逆量子化部５、逆変換部６及び制御部７を備える。【００２７】
図１において、復号化回路に入力された符号化ストリームは、まず可変長復号化部２に供給される。可変長復号化部２は、供給された符号化ストリームに含まれる符号化データから量子化係数値及び以下で説明する抽出情報などを復元する。すなわち、供給された符号化データのうち、例えば量子化係数値は一般的にランレベル符号化されたデータで構成されている。そのため、まず、可変長復号化部２は、ゼロの量子化係数値の個数であるランデータと、非ゼロの量子化係数値であるレベルデータとを復元する。次に、可変長復号化部２は、復元したランデータとレベルデータとから、符号化処理におけるスキャンパターンの順序に従った１次元の量子化係数列を復元する。【００２８】
可変長復号化部２は、このように復元した量子化係数値を係数データとして、順次、符号化情報抽出部３に供給する。同様に、可変長復号化部２は、量子化係数値以外の抽出情報についても復元し、符号化情報抽出部３に供給する。【００２９】
次に、符号化情報抽出部３は、可変長復号化部２において復元したデータから、復号化処理を行うための符号化データに関する情報を抽出情報として抽出する。符号化情報抽出部３は、このような抽出情報として、符号化データの種別に関した情報としての符号化種別情報、ピクチャ情報及びマクロブロック情報などを抽出する。【００３０】
このような抽出情報において、符号化種別情報は、符号化データを生成するのに用いられた画像符号化方式を示す情報である。ピクチャ情報は、現在供給されている符号化ピクチャの符号化方法などを示した情報であり、例えばピクチャ種別情報などが含まれる。ここでのピクチャ種別情報とは、現在供給されている符号化データが、例えばＭＰＥＧ方式において、Ｉピクチャと呼ばれる画面内符号化処理、Ｐピクチャと呼ばれる画面間前方予測符号化処理、及びＢピクチャと呼ばれる画面間双方向予測符号化処理のうちのどの処理により生成されたデータであるかを示す情報である。【００３１】
同様に、マクロブロック情報は、現在供給されているマクロブロックの符号化方法などを示した情報である。マクロブロック情報には、例えば現在処理中のマクロブロックが画面内符号化であるイントラであるか、あるいは画面間符号化であるインター又は非イントラであるかを示す情報であるイントラ／インター符号化種別情報などが含まれる。【００３２】
符号化情報抽出部３は、符号化ストリームから抽出した抽出情報を制御部７に通知する。また、符号化情報抽出部３は、可変長復号化部２が復元した係数データを順次、逆スキャン処理部４に供給する。【００３３】
逆スキャン処理部４は、スキャンパターンの順序に従った１次元の係数データ列に対して、そのスキャンパターンに従って並び替えを行うことにより、２次元のブロック上の所定位置に配置された係数データを復元する。逆スキャン処理部４は、並び替えた係数データをＤＣ／ＡＣ予測処理部１に供給する。【００３４】
ＤＣ／ＡＣ予測処理部１は、特にＭＰＥＧ−４方式及びＨ．２６３方式などに対応させるために設けている。ＭＰＥＧ−２方式などでは、イントラでの処理における各ブロックの直流成分（以下、ＤＣ成分と呼ぶ）だけを差分符号化する。これに対し、ＭＰＥＧ−４方式及びＨ．２６３方式では、ＤＣ成分と交流成分（以下、ＡＣ成分と呼ぶ）の両方に対して適応的に、復号化対象ブロックの上方に隣接するブロック、復号化対象ブロックの左方に隣接するブロック、又は復号化対象ブロックの上方に隣接するブロック及び左方に隣接するブロックの両方のブロックに基づいて予測符号化する。これにより、ＭＰＥＧ−４方式及びＨ．２６３方式では、イントラの各ブロックの符号化効率の改善を図っている。【００３５】
このため、本実施の形態の復号化回路では、ＭＰＥＧ−４方式及びＨ．２６３方式のようにＤＣ／ＡＣ予測処理を利用した符号化方式の符号化データが供給されたとき、ＤＣ／ＡＣ予測処理部１は、まず、復号化処理の対象となるブロックに対する予測方向を判定するとともに、予測値を求める。【００３６】
さらに、ＤＣ／ＡＣ予測処理部１は、予測方向及び予測値を利用して、供給された係数データのＤＣ成分及びＡＣ成分を復元する。その際、ＤＣ／ＡＣ予測処理部１は、制御部７によって設定された制御情報に従って予測符号化を行う。そして、ＤＣ／ＡＣ予測処理部１は、このようなＤＣ／ＡＣ予測処理を行った係数データを逆量子化部５に供給する。また、ＤＣ／ＡＣ予測処理部１は、ＤＣ／ＡＣ予測処理を利用していない符号化方式の符号化データが供給された時には、このようなＤＣ／ＡＣ予測処理を実施せず、逆スキャン処理部４から読み出した係数データを逆量子化部５に供給する。【００３７】
次に、逆量子化部５は、ＤＣ／ＡＣ予測処理部１から供給された各係数データに対して逆量子化を行う。これによって、逆量子化部５は、各ブロックのブロック要素に対応づけられた係数値を復元する。逆量子化部５は、このように復元した係数値を順次、逆変換部６に供給する。【００３８】
次に、逆変換部６は、逆量子化部５によって逆量子化された各係数値に対して、ブロック単位で、逆離散コサイン変換（以下、逆ＤＣＴ変換と呼ぶ）を施すことで、ブロック内の各画素に対応した画像データを復元する。このようにして逆変換部６により復元された画像データが復号化データとして出力される。【００３９】
また、本実施の形態の復号化回路は、上記に記したように、各種の画像符号化方式に対応したＤＣ／ＡＣ予測処理を行う。そのため、制御部７は、符号化情報抽出部３によって抽出された抽出情報に基づいて、ＤＣ／ＡＣ予測処理に必要となる制御情報を生成するとともに、生成した制御情報をＤＣ／ＡＣ予測処理部１に設定する。【００４０】
制御部７は、符号化情報抽出部３によって抽出された、符号化データに関する符号化種別情報、ピクチャ情報及びマクロブロック情報等の抽出情報に基づいて、ＤＣ／ＡＣ予測処理部１が各種の画像符号化方式に対応した処理を行うために必要となる、各種の制御情報を生成し、生成した各種の制御情報をＤＣ／ＡＣ予測処理部１に設定する。【００４１】
このようにして、本実施の形態の復号化回路は、各種の符号化方式におけるＤＣ／ＡＣ予測処理に対応させた復号化処理を実行している。【００４２】
次に本実施の形態の復号化回路におけるＤＣ／ＡＣ予測処理部１の構成の詳細について説明する。図２は、図１に示すＤＣ／ＡＣ予測処理部１の構成を示すブロック図である。【００４３】
図２に示すように、ＤＣ／ＡＣ予測処理部１は、隣接ブロック情報バッファ１０と、係数選択処理部１１と、係数演算処理部１２と、係数比較処理部１３と、方向判定処理部１４と、予測処理部１５と、飽和処理部１６とを備える。【００４４】
隣接ブロック情報バッファ１０は、すでに復号化されたブロックの情報を、以降に復号化するブロックのＤＣ／ＡＣ予測処理に用いるために一時的に保存する。すなわち、隣接ブロック情報バッファ１０は、供給される符号化データに対してブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する。【００４５】
係数選択処理部１１は、隣接ブロック情報バッファ１０に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する。すなわち、係数選択処理部１１は、すでに復号化されたブロックの係数データあるいは所定の定数値の中から、復号化対象となるブロックに隣接するブロック（以下、隣接ブロックと呼ぶ）のＤＣ係数及びＡＣ係数として用いるデータを選択する。【００４６】
係数演算処理部１２は、係数選択処理部１１から供給されるＤＣ係数及びＡＣ係数に所定の演算処理を施す。係数比較処理部１３は、係数演算処理部１２によって所定の演算処理が施されたＤＣ係数値に基づいて、水平方向及び垂直方向のブロック間相関関係を求める。すなわち、係数比較処理部１３は、係数演算処理部１２から供給された演算済みの隣接ブロックのＤＣ係数値から水平方向及び垂直方向のＤＣ係数値の勾配を求める。【００４７】
方向判定処理部１４は、係数比較処理部１３によって求められたブロック間相関関係を用いて予測方法を判定する。すなわち、方向判定処理部１４は、係数比較処理部１３で求めたＤＣ係数の勾配などを用いて予測方法（予測方向）を判定する。【００４８】
予測処理部１５は、方向判定処理部１４で判定した予測方法（予測方向）を用いて、逆スキャン処理部４から供給された符号化データに対し、係数演算処理部１２から供給される演算済みの隣接ブロックのＤＣ係数値及びＡＣ係数値を選択し加算することで係数を復元する。飽和処理部１６は、予測処理部１５から供給される係数値に対し、飽和処理などの後段処理を行う。【００４９】
制御部７は、供給される符号化データの符号化方式に応じて、係数選択処理部１１における選択方法、係数演算処理部１２における演算処理方法、方向判定処理部１４における判定方法及び予測処理部１５における予測処理方法のうちの一つ又は複数の方法を制御する。それぞれの処理部は、選択方法、判定方法、演算処理方法又は予測処理方法を選択可能とした構成としている。【００５０】
以下、図２に示されたＤＣ／ＡＣ予測処理部１を構成する各処理部の詳細な構成について説明する。【００５１】
隣接ブロック情報バッファ１０は、ＤＣ／ＡＣ予測処理部１により、すでに復号化されたブロックの情報を一時的に保存するためのバッファである。隣接ブロック情報バッファ１０は、復号化対象となるブロックに隣接するブロックの情報を格納する。すなわち、隣接ブロック情報バッファ１０は、すでに復号化されたブロックの係数データ、及びマクロブロックなどのブロックごとに定めた量子化幅を示す量子化スケール値などを隣接ブロック情報として格納する。【００５２】
係数選択処理部１１は、ＤＣ／ＡＣ予測処理に用いる隣接ブロックのＤＣ係数値及びＡＣ係数値として、隣接ブロック情報バッファ１０から読み出したＤＣ係数値及びＡＣ係数値、又は所定の定数値から選択する。すなわち、係数選択処理部１１は、特に、ＭＰＥＧ−４方式などにおいて、隣接ブロックが利用できなかった場合、隣接ブロックのＤＣ係数値及びＡＣ係数値の代わりに所定の定数値を代用する処理を実現するために設けられている。係数選択処理部１１には、制御部７によって制御情報として係数選択情報が設定される。【００５３】
係数選択情報は、復号化対象となるブロックの上、左及び左上に隣接するブロックが予測情報として利用可能か否かを示す隣接ブロック利用可能情報、及び、利用不可能であった場合、参照するブロックのＤＣ係数値及びＡＣ係数値の代用として使用する所定の定数値を示す既定ＤＣ係数値情報及び既定ＡＣ係数値情報などを含む。【００５４】
係数選択処理部１１は、これら係数選択情報に従い、隣接ブロックが利用可能であれば隣接ブロック情報バッファ１０から読み出したＤＣ係数値及びＡＣ係数値を隣接ブロックのＤＣ係数値及びＡＣ係数値として選択し、隣接ブロックが利用不可能であれば既定ＤＣ係数値情報及び既定ＡＣ係数値情報を隣接ブロックのＤＣ係数値及びＡＣ係数値として選択する。選択された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数演算処理部１２に供給される。このとき制御部７は、係数選択処理部１１に対し、隣接ブロックが利用可能であるか否かを指示する。【００５５】
上記のように、係数選択処理部１１によって選択される定数値は、制御部７からの指示に基づき、設定可能である。すなわち、隣接ブロックが利用できなかった場合、隣接ブロックのＤＣ係数値及びＡＣ係数値の代わりに所定の定数値が代用されるが、この所定の定数値は、符号化方式に応じて異なる値が適用される可能性がある。そこで、制御部７は、係数選択処理部１１において選択される所定の定数値を、符号化方式に応じた値（既定ＤＣ係数値及び既定ＡＣ係数値）に設定する。【００５６】
このように、係数選択処理部１１によって選択される定数値が設定可能であるので、符号化方式に応じた所定の定数値をＤＣ係数及びＡＣ係数の代わりとして設定することができる。なお、係数選択処理部１１は、ＤＣ係数及びＡＣ係数のそれぞれに対応する定数値を設定することが可能である。【００５７】
係数演算処理部１２は、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値に対し、所定の演算処理を施す。ＤＣ／ＡＣ予測処理を行う際に、隣接ブロックの量子化スケール値と、復号化対象であるブロックの量子化スケール値とが異なる場合、隣接するブロックから復号化対象ブロックのＤＣ係数及びＡＣ係数を効率よく予測復号化することができない。そのため、係数演算処理部１２は、それぞれのブロックの係数のスケールを合わせるための演算（以下、“スケーリング演算”と呼ぶ）を施す。スケーリング演算は、隣接ブロックのＤＣ係数値及びＡＣ係数値に対し、隣接ブロックの量子化スケール値を乗算した後、復号化対象ブロックの量子化スケール値で除算することで行われる。【００５８】
このようなスケーリング演算を実現するための一例として、本実施の形態の復号化回路における係数演算処理部１２は、第１の乗算器１２０と、除算処理部１２５とを備える。第１の乗算器１２０は、係数選択処理部によって選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す量子化スケール値（以下、第１の量子化スケール値と呼ぶ）を乗算する。除算処理部１２５は、第１の乗算器１２０によって第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す量子化スケール値（以下、第２の量子化スケール値と呼ぶ）で除算する。【００５９】
除算処理部１２５は、第２の乗算器１２１と、丸め演算器１２２と、シフト演算器１２３と、逆数テーブル１２４とを備える。第２の乗算器１２１は、第１の乗算器１２０によって第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象ブロックの第２の量子化スケール値の逆数値を乗算する。丸め演算器１２２は、第２の乗算器１２１によって逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理を行う。【００６０】
シフト演算器１２３は、丸め演算器１２２によって丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理を行う。逆数テーブル１２４は、復号化対象ブロックの第２の量子化スケール値に応じた複数の逆数値を格納する。このように、本実施の形態の復号化回路における係数演算処理部１２では、スケーリング演算における除算処理を、除数の逆数を乗算することで実現している。【００６１】
係数演算処理部１２には、制御部７によって制御情報として係数演算情報が設定される。係数演算情報は、スケーリング演算における各演算を実施するか否かを示すスケーリング演算実施有無情報、量子化スケール値が取りうる範囲のそれぞれの値の逆数を示す逆数値情報、及び逆数値の精度を示す逆数値精度情報などを含む。係数演算処理部１２は、係数演算情報に従い、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値に対しスケーリング演算を施す。【００６２】
制御部７は、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３に対して、それぞれ所定の演算を行うか否かを指示する。第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３は、演算を行った演算済み値と、演算を行わない非演算値とのいずれかを選択する。【００６３】
また、制御部７は、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３に対して、係数値（係数データ）の種類に応じて、それぞれ所定の演算を行うか否かを指示する。そして、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３は、係数値（係数データ）の種類に応じて、演算済み値と非演算値とのいずれかを選択する。例えば、Ｈ．２６３方式ではＭＰＥＧ−４方式と異なり、隣接ブロックに対するスケーリング演算は行われない。そのため、係数データの種類、すなわち、係数データがどのような符号化方式で符号化されているかに応じて、係数演算処理部１２内の各処理部が演算処理を行うか否かを選択することができる。【００６４】
すなわち、第１の乗算器１２０は、スケーリング演算実施有無情報により隣接ブロックの第１の量子化スケール値による乗算処理を行うと設定された場合、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値に対し、隣接ブロック情報バッファ１０から読み出した隣接ブロックの第１の量子化スケール値を乗算し、第２の乗算器１２１へ出力する。また逆に、第１の乗算器１２０は、スケーリング演算実施有無情報により隣接ブロックの第１の量子化スケール値による乗算処理を行わないと設定された場合、何も演算処理を行わず、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値を、第２の乗算器１２１へそのまま出力する。【００６５】
第２の乗算器１２１は、スケーリング演算実施有無情報により復号化対象ブロックの第２の量子化スケール値による除算処理を行うと設定された場合、第１の乗算器１２０から供給されたＤＣ係数値及びＡＣ係数値に対し、復号化対象ブロックの第２の量子化スケール値に従い逆数テーブル１２４から読み出した逆数値を乗算し、丸め演算器１２２へ出力する。また逆に、第２の乗算器１２１は、スケーリング演算実施有無情報により復号化対象ブロックの第２の量子化スケール値による除算処理を行わないと設定された場合、何も演算処理を行わず、第１の乗算器１２０から供給されたＤＣ係数値及びＡＣ係数を、丸め演算器１２２へそのまま出力する。【００６６】
丸め演算器１２２は、スケーリング演算実施有無情報により丸め処理を行うと設定された場合、第２の乗算器１２１から供給されたＤＣ係数値及びＡＣ係数値に対し、逆数値精度情報に従った丸め値を加算し、シフト演算器１２３へ出力する。また逆に、丸め演算器１２２は、スケーリング演算実施有無情報により丸め処理を行わないと設定された場合、何も演算処理を行わず、第２の乗算器１２１から供給されたＤＣ係数値及びＡＣ係数値を、シフト演算器１２３へそのまま出力する。【００６７】
シフト演算器１２３は、スケーリング演算実施有無情報により右ビットシフト処理を行うと設定された場合、丸め演算器１２２から供給されたＤＣ係数値及びＡＣ係数値に対し、逆数値精度情報に従った右ビットシフト処理を行う。また逆に、シフト演算器１２３は、スケーリング演算実施有無情報により右ビットシフト処理を行わないと設定された場合、何も演算処理を行わず、丸め演算器１２２から供給されたＤＣ係数値及びＡＣ係数値をそのまま出力する。【００６８】
逆数テーブル１２４は、例えばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリで構成され、逆数値情報によって設定された第２の量子化スケール値の逆数値が格納される。例えば、ＭＰＥＧ−４方式などでは、第２の量子化スケール値として用いられるｄｃ＿ｓｃａｌｅｒの値は“１”〜“４６”までの値を取りうる。そのため、逆数テーブル１２４には、これらの値の逆数値がそれぞれ格納される。また、ここで用いる第２の量子化スケール値の逆数値は、符号化方式などに応じて必要な演算精度が異なる場合があるため、必要な演算精度を満たすように逆数値情報により設定が行われる。逆数テーブル１２４は、復号化対象ブロックの第２の量子化スケール値に応じた逆数値を、第２の乗算器１２１へ供給する。【００６９】
以上のように係数演算処理部１２では、スケーリング演算における隣接ブロックの第１の量子化スケール値による乗算処理と、復号化対象ブロックの第２の量子化スケール値による除算処理とが実現される。係数演算処理部１２によってスケーリング演算が施された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数比較処理部１３及び予測処理部１５に供給される。【００７０】
なお、本実施の形態では、係数演算処理部１２における各演算は、係数演算情報（スケーリング演算実施有無情報）により演算するか否かを切り替える構成としているが、本発明は特にこれに限定されない。制御部７は、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３に対して、第１の量子化スケール値と第２の量子化スケール値との関係に応じて所定の演算を行うか否かを指示してもよい。第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３は、第１の量子化スケール値と第２の量子化スケール値との関係に応じて、演算済み値と非演算値とのいずれかを選択してもよい。【００７１】
具体的には、復号化対象となるブロックの第２の量子化スケール値と、隣接ブロックの第１の量子化スケール値とが等しい場合、スケーリング演算を行わなくても復号化効率が低下することはない。そのため、係数演算処理部１２は、復号化対象となるブロックの第２の量子化スケール値及び隣接ブロックの第１の量子化スケール値、又はそれらに準じる情報の内容に応じて、各演算を行うか否かを切り替える構成であってもよい。【００７２】
また、制御部７は、第２の乗算器１２１における逆数値、丸め演算器１２２における丸め値、及びシフト演算器１２３における右ビットシフト量をそれぞれ設定してもよい。この場合、制御部７は、係数値（係数データ）の種類に応じて、逆数値、丸め値及び右ビットシフト量を決定し、第２の乗算器１２１、丸め演算器及びシフト演算器１２３に設定する。【００７３】
係数比較処理部１３は、係数演算処理部１２から供給されるスケーリング演算が施された複数の隣接ブロックのＤＣ係数値を比較することで、水平方向及び垂直方向のブロック間の相関関係を求める。【００７４】
具体的には、係数比較処理部１３は、まず復号化対象となるブロックの左上に隣接するブロックのＤＣ係数値と、復号化対象となるブロックの左に隣接するブロックのＤＣ係数値との差分を求めた後、その差分の絶対値を求めることで、垂直方向相関度を求める。垂直方向相関度は、復号化対象となるブロックの周辺が垂直方向にどれだけ強い相関関係を持つかを表しており、値が小さいほど相関関係が強いことを示している。【００７５】
次に、係数比較処理部１３は、復号化対象となるブロックの左上に隣接するブロックのＤＣ係数値と、復号化対象となるブロックの上に隣接するブロックのＤＣ係数値との差分を求めた後、その差分の絶対値を求めることで、水平方向相関度を求める。水平方向相関度は、復号化対象となるブロックの周辺が水平方向にどれだけ強い相関関係を持つかを表しており、値が小さいほど相関関係が強いことを示している。【００７６】
さらに、係数比較処理部１３は、このようにして求めた垂直方向相関度と水平方向相関度とを比較することで、垂直方向と水平方向のどちらの方向の相関関係が強いかを判定する。すなわち、垂直方向相関度よりも水平方向相関度の方が小さければ水平方向の相関関係が強く、また逆に、水平方向相関度よりも垂直方向相関度の方が小さければ垂直方向の相関関係が強いことが分かる。また、水平方向相関度と垂直方向相関度が同じ値であれば、水平方向と垂直方向で同程度の相関関係を持つことが分かる。判定結果は、係数比較結果情報として方向判定処理部１４に供給される。【００７７】
方向判定処理部１４は、係数比較処理部１３から供給される係数比較結果情報、及び制御部７より制御情報として設定される方向判定情報などから、ＤＣ／ＡＣ予測処理における予測方向及び予測方法を判定する。制御部７より設定される方向判定情報は、係数比較処理部１３で求めた係数比較結果情報を用いて予測方向及び予測方法を決定するのか、あるいは所定の定められた予測方向及び予測方法に従ってＤＣ／ＡＣ予測処理を行うのかを示す予測方法決定情報、及び、係数比較処理部１３で求めた係数比較結果情報を用いて予測方向及び予測方法を決定する場合、どのような法則に従って予測方向及び予測方法を決定するかを示す予測方法判定情報などを含む。【００７８】
方向判定処理部１４は、方向判定情報の内容に従い、係数比較処理部１３で求めた係数比較結果情報から予測方向及び予測方法を判定するのか、あるいはＨ．２６３方式で規定されるＩＮＴＲＡ＿ＭＯＤＥシンタックスのような抽出情報により直接指定された予測方向及び予測方法を用いるかの切り替え制御が可能なように構成されている。【００７９】
例えば、係数比較処理部１３で求めた係数比較結果情報を用いず、直接指定された予測方向及び予測方法を用いると予測方法決定情報によって設定された場合、方向判定処理部１４は、予測方法決定情報で設定された内容を、そのまま予測方向及び予測方法として決定する。このとき制御部７は、方向判定処理部１４に対し、予測方法決定情報として、予測方向及び予測方法を直接指示する。【００８０】
また、例えば逆に、係数比較処理部１３で求めた係数比較結果情報から予測方向及び予測方法を判定すると予測方法決定情報によって設定された場合、方向判定処理部１４は、係数比較処理部１３で求めた係数比較結果情報と、制御部７より設定された予測方向判定情報とを用いて予測方向及び予測方法の判定を行うように動作する。この場合、例えば係数比較結果情報において垂直方向相関度よりも水平方向相関度の方が小さかった場合、方向判定処理部１４は、垂直方向よりも水平方向の相関関係が強いとして、復号化対象となるブロックの左に隣接するブロックより予測するよう予測方向を決定する。また、係数比較結果情報において水平方向相関度よりも垂直方向相関度の方が小さかった場合、方向判定処理部１４は、水平方向よりも垂直方向の相関関係が強いとして、復号化対象となるブロックの上に隣接するブロックより予測するよう予測方向を決定する。【００８１】
また、係数比較結果情報において水平方向相関度と垂直方向相関度が等しかった場合は、水平方向と垂直方向の相関関係は同程度であり、例えばＭＰＥＧ−４方式などにおいては、水平方向と垂直方向との相関関係が等しい場合は左方向から予測を行うように規定されている。しかしながら、将来提案されるような符号化方式においては、水平方向と垂直方向との相関関係が等しい場合、別の予測方向及び予測方法を用いる可能性が考えられる。このような将来の符号化方式に対応するための一例として、本実施の形態の復号化回路における方向判定処理部１４は、水平方向と垂直方向との相関関係が等しい場合、制御部７から設定される予測方法判定情報に従って予測方向及び予測方法を決定する構成としている。【００８２】
このとき制御部７は、方向判定処理部１４に対し、予測方法決定情報として、係数比較処理部１３によって求められたブロック間相関関係を用いて予測方法を判定するよう指示する。また、制御部７は、方向判定処理部１４に対し、予測方法決定情報として、係数比較処理部１３によって求められたブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかを指示する。【００８３】
なお、復号化対象となるブロックの上又は左に隣接するブロックが利用できない場合、該当のブロックから効率よく予測することができない。そのため、将来提案される符号化方式においては、利用可能な隣接ブロックから固定的に予測方法を決定することも考えられる。このような符号化方式に対応可能とするため、予測方法判定情報は隣接ブロックが利用できない場合の予測方向及び予測方法を指定するような構成であってもよい。【００８４】
このように決定された予測方向及び予測方法は、予測情報として予測処理部１５に供給される。【００８５】
予測処理部１５は、逆スキャン処理部４から供給された係数データに対して、係数演算処理部１２から供給される隣接ブロックのＤＣ係数値及びＡＣ係数値を加算し、復号化対象となるブロックのＤＣ係数及びＡＣ係数を復元する。予測処理部１５には、制御部７より制御情報として予測制御情報が設定される。予測制御情報は、ＡＣ係数値に対して予測処理を行うか否かを示すＡＣ係数予測実施有無情報などを含む。予測処理部１５は、予測制御情報及び方向判定処理部１４から供給される予測情報に従い、ＤＣ係数及びＡＣ係数を復元する。このとき制御部７は、予測処理部１５に対し、係数値の種類に応じて予測処理部１５における演算を行うか否かを指示する。【００８６】
すなわち、例えば予測情報により、復号化対象となるブロックの上に隣接するブロックから予測を行うと指定された場合、予測処理部１５は、まず逆スキャン処理部４から供給された係数データのＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数値を加算し、ＤＣ係数を復元する。【００８７】
またさらに、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施すると設定された場合、予測処理部１５は、続けて逆スキャン処理部４から供給された係数データの第１行のＡＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックの第１行のＡＣ係数値を加算し、ＡＣ係数を復元する。また逆に、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施しないと設定された場合、予測処理部１５は、逆スキャン処理部４から供給された係数データの第１行のＡＣ係数に対しては何も処理を行わない。【００８８】
以上、その他の予測情報が指定された場合の詳細な説明については省略するが、上述の説明と同様に、制御部７より設定された予測制御情報及び方向判定処理部１４から供給される予測情報に従い、ＤＣ係数及びＡＣ係数の復元が行われる。このようにして復元されたＤＣ係数及びＡＣ係数は、飽和処理部１６へ供給される。【００８９】
以上のように、予測処理部１５は、供給された符号化データに対して、係数演算処理部１２によって所定の演算処理が施されたＤＣ係数及びＡＣ係数を加算する演算を行った演算済み値と、演算を行わない非演算値とのいずれかを係数値の種類に応じて選択する。【００９０】
飽和処理部１６は、予測処理部１５より供給されたＤＣ係数値及びＡＣ係数値が所定の値以上又は所定の値以下である場合、ＤＣ係数値及びＡＣ係数値を所定の値にクリッピングする飽和処理を行う。【００９１】
加えて、本実施の形態の飽和処理部１６は、予測処理部１５より供給されたＤＣ係数値に対して所定の演算を施すことで奇数化処理を行う。これは特に、Ｈ．２６３方式で規定されているｏｄｄｉｆｙｃｌｉｐＤＣ（）関数にて行われる奇数化処理を実現するために設けている。この奇数化処理は、符号化器と復号化器との逆ＤＣＴの演算方式の違いによって、それぞれで復号化した画像が異なり、その結果誤りが蓄積する逆ＤＣＴミスマッチ問題に対応するために行われる処理である。例えばＨ．２６３方式の場合では、復元されたＤＣ係数値が偶数の場合、その値に１を加算して奇数化する演算処理が行われる。【００９２】
飽和処理部１６には、制御部７より制御情報として飽和制御情報が設定される。飽和制御情報は、クリッピングの範囲及びクリッピングを実施するか否かを示すクリッピング制御情報、及び奇数化処理を行うか否かを示す奇数化処理実施有無情報などを含む。このとき制御部７は、クリッピング制御情報により飽和処理部におけるクリッピングの範囲を設定する。また、制御部７は、飽和処理部１６に対し、ＤＣ係数に対して所定の演算を施すことで奇数化処理を行うか否かを指示する。【００９３】
例えば、奇数化処理実施有無情報により奇数化処理を行わないと設定された場合、飽和処理部１６は、奇数化処理を行わないように動作する。また、例えば逆に、奇数化処理実施有無情報により奇数化処理を行うと設定された場合、飽和処理部１６は、復元されたＤＣ係数値に対して奇数化処理を行う。また、例えば、クリッピング制御情報により、クリッピング処理を行わないと設定された場合、飽和処理部１６は、飽和処理を行わず、予測処理部１５より供給されたＤＣ係数値及びＡＣ係数値をそのまま出力する。また、例えば、クリッピング制御情報により、所定の範囲にクリッピング処理を行うと設定された場合、飽和処理部１６は、予測処理部１５より供給されたＤＣ係数値及びＡＣ係数値が設定された範囲内に収まるように飽和処理を行う。【００９４】
以上のように、飽和処理部１６は、ＤＣ係数に対して所定の演算を施すことで奇数化処理を行い、奇数化処理を行った処理済み値と、奇数化処理を行っていない非処理値とのいずれかを選択してもよい。【００９５】
以上のように飽和処理部１６にて処理が行われたＤＣ係数値及びＡＣ係数値は、ＤＣ／ＡＣ予測処理部１から逆量子化部５に供給されるとともに、復号化対象となるブロック以降のブロックにおいて隣接ブロック情報として用いるため、隣接ブロック情報バッファ１０に書き込まれる。【００９６】
また、制御部７は、ＤＣ／ＡＣ予測処理部１に対して、別途、復号化対象となるマクロブロック又はブロックがイントラ符号化されているかインター符号化されているかを表す制御情報として、イントラ／インター情報を設定する。【００９７】
イントラ／インター情報に従い、復号化対象となるマクロブロック又はブロックがイントラ符号化されている場合、ＤＣ／ＡＣ予測処理部１は、各処理部におけるＤＣ／ＡＣ予測処理を行うように動作する。一方、復号化対象となるマクロブロック又はブロックがインター符号化されている場合、ＤＣ／ＡＣ予測処理部１は、各処理部におけるＤＣ／ＡＣ予測処理を行わず、逆スキャン処理部４から供給されたＤＣ係数及びＡＣ係数を、そのまま逆量子化部５へ出力する。【００９８】
本実施の形態の復号化回路は、以上説明したような構成であり、このような構成により、単一の回路で各種の画像符号化方式におけるＤＣ／ＡＣ予測処理に対応させて復号化処理を行うことができる。【００９９】
なお、本実施の形態において、隣接ブロック情報バッファ１０が復号化データ格納部の一例に相当し、係数選択処理部１１が係数選択処理部の一例に相当し、係数演算処理部１２が係数演算処理部の一例に相当し、係数比較処理部１３が係数比較処理部の一例に相当し、方向判定処理部１４が判定処理部の一例に相当し、予測処理部１５が予測処理部の一例に相当し、制御部７が制御部の一例に相当し、第１の乗算器１２０が第１の乗算処理部の一例に相当し、除算処理部１２５が除算処理部の一例に相当し、逆数テーブル１２４が逆数値格納部の一例に相当し、第２の乗算器１２１が第２の乗算処理部の一例に相当し、丸め演算器１２２が丸め処理部の一例に相当し、シフト演算器１２３がシフト処理部の一例に相当し、飽和処理部１６が飽和処理部の一例に相当する。【０１００】
次に、各画像符号化方式において規定されるＤＣ／ＡＣ予測処理の詳細について図３から図６を用いて説明する。まず、ＭＰＥＧ−４方式におけるＤＣ／ＡＣ予測処理の詳細について説明する。【０１０１】
図３は、ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。図３に示すように、ＭＰＥＧ−４方式では、復号化対象となるブロックを“ブロックＸ”と定義し、復号化対象となるブロックの左に隣接するブロックを“ブロックＡ”と定義し、左上に隣接するブロックを“ブロックＢ”と定義し、上に隣接するブロックを“ブロックＣ”と定義している。復号化対象となるブロックＸのＤＣ係数及び第１列又は第１行のＡＣ係数は、ブロックＡ又はブロックＣに基づいて予測が行われる。【０１０２】
図４は、ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。図４において、記号ＰＱＦはＤＣ／ＡＣ予測処理を行う前の係数値を表し、記号ＱＦはＤＣ／ＡＣ予測処理を行った後の係数値を表し、記号ＦはＤＣ／ＡＣ予測処理後の係数値に対し、さらに逆量子化処理を行った後の係数値を表し、記号ｄｃ＿ｓｃａｌｅｒはＤＣ係数に対する量子化スケール値を表し、記号ＱＰはＡＣ係数に対する量子化スケール値を表している。また、それぞれの記号に付与された添え字はそれがどのブロックに属しているかを表し、その後に続くインデックスは係数値のブロック内での位置を表している。例えば、ＦＡ［０］［０］は、ブロックＡにおける逆量子化後のＤＣ係数値を示している。【０１０３】
ＭＰＥＧ−４方式では、復号化対象となるブロックＸを上方向すなわちブロックＣから予測するか、左方向すなわちブロックＡから予測するかは、すでに復号化された隣接ブロックの逆量子化済みのＤＣ係数値から、垂直方向及び水平方向の相関関係を求めることで判定される。すなわち、（｜ＦＡ［０］［０］−ＦＢ［０］［０］｜＜｜ＦＢ［０］［０］−ＦＣ［０］［０］｜）であれば、垂直方向の相関関係が強いとしてブロックＣから予測する。【０１０４】
また、それ以外、すなわち、（｜ＦＡ［０］［０］−ＦＢ［０］［０］｜≧｜ＦＢ［０］［０］−ＦＣ［０］［０］｜）であれば、ブロックＡから予測する。このように、ＭＰＥＧ−４方式では（｜ＦＡ［０］［０］−ＦＢ［０］［０］｜＝｜ＦＢ［０］［０］−ＦＣ［０］［０］｜）である場合、左方向であるブロックＡから予測するように規定されている。このようにして判定された予測方向に従い、ブロックＸのＤＣ係数及び第１列又は第１行のＡＣ係数の予測が行われる。【０１０５】
ＤＣ係数の予測は、ブロックＡ又はブロックＣの逆量子化済みのＤＣ係数値ＦＡ［０］［０］又はＦＣ［０］［０］をブロックＸの量子化スケール値ｄｃ＿ｓｃａｌｅｒで除算した値を、ブロックＸのＤＣ係数値ＰＱＦＸ［０］［０］に加算することで行われる。ブロックＡ又はブロックＣの逆量子化済みのＤＣ係数値ＦＡ［０］［０］又はＦＣ［０］［０］は、ＤＣ／ＡＣ予測処理後の係数値であるＱＦＡ［０］［０］又はＱＦＣ［０］［０］に対しブロックＡ又はブロックＣの量子化スケール値ｄｃ＿ｓｃａｌｅｒを乗算することで得られる値である。すなわち、ブロックＡ又はブロックＣのＤＣ／ＡＣ予測処理後の係数値であるＱＦＡ［０］［０］又はＱＦＣ［０］［０］に対してスケーリング演算が行われることを意味している。なお、図４における記号“／／”は丸め付きの除算であることを示している。【０１０６】
一方、ＡＣ係数値の予測は、ブロックＡ又はブロックＣのＤＣ／ＡＣ予測処理後のＡＣ係数値ＱＦＡ［ｖ］［０］又はＱＦＣ［０］［ｕ］にブロックＡ又はブロックＣの量子化スケール値ＱＰＡ又はＱＰＣを乗算し、かつブロックＸの量子化スケール値ＱＰＸで除算した値を、ブロックＸのＡＣ係数値ＰＱＦＸ［ｖ］［０］又はＰＱＦＸ［０］［ｕ］に加算することで行われる。このように、ＤＣ係数値の予測と同様、ブロックＡ又はブロックＣのＤＣ／ＡＣ予測処理後の係数値ＱＦＡ［ｖ］［０］又はＱＦＣ［０］［ｕ］に対しても、スケーリング演算が行われる。ただし、符号化ストリームに含まれるａｃ＿ｐｒｅｄ＿ｆｌａｇ情報が“０”の場合、ＡＣ係数に対する予測は行われず、ＤＣ係数の予測のみが行われる。なお、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報は、ＡＣ係数に対する予測を行うか否かを表す情報である。【０１０７】
なお、復号化対象となるブロックに隣接するブロックが利用できない場合、逆量子化処理を行った後のＤＣ係数値を表す記号Ｆ［０］［０］の代わりに、定数値（２ｂｉｔｓ＿ｐｅｒ＿ｐｉｘｅｌ＋２）が用いられる。ｂｉｔｓ＿ｐｅｒ＿ｐｉｘｅｌは多くの場合、“８”であるため、ここでは“１０２４”が定数値として用いられる。また同様に、ＤＣ／ＡＣ予測処理を行った後のＡＣ係数値ＱＦＡ［ｖ］［０］及びＱＦＣ［０］［ｕ］の代わりに、定数値“０”が用いられる。ここで、隣接ブロックが利用できない場合とは、隣接ブロックがＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）又はビデオパケットの境界外にある場合、あるいは隣接ブロックがイントラ符号化されていない場合を示している。【０１０８】
このようにしてＤＣ／ＡＣ予測処理が行われた係数値に対し、最後に飽和処理が行われる。ＭＰＥＧ−４方式における飽和処理は、係数値を−２０４８〜２０４７の範囲にクリッピングすることで行われる。【０１０９】
なお、ＭＰＥＧ−４方式では符号化ストリームを復号化した結果、ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報と呼ばれる内部フラグの導出が行われる。ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報は、ＤＣ／ＡＣ予測処理を行うか否かを表す情報を含む。ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“１”であった場合、ここで説明したＤＣ／ＡＣ予測処理は行われない。ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“０”であった場合、ＤＣ／ＡＣ予測処理は行われる。【０１１０】
次に、Ｈ．２６３方式におけるＤＣ／ＡＣ予測処理の詳細について説明する。【０１１１】
Ｈ．２６３方式では、符号化のための基本となる技術に加え、性能向上や機能向上を目的とした複数の選択可能なオプションツールが規定されており、そのオプションツールのひとつとして、拡張イントラ符号化モードがＡＮＮＥＸ  Ｉとして定義されている。拡張イントラ符号化モードは、イントラ符号化されたマクロブロックの符号化方法に修正を加えることで符号化効率の向上を図ったもので、ＤＣ／ＡＣ予測処理を含む複数の手法が用いられている。この拡張イントラ符号化モードの使用が通知された場合にＤＣ／ＡＣ予測処理が行われる。【０１１２】
図５は、Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。図３に示すように、Ｈ．２６３方式では、復号化対象となるブロックを“ブロックＣ”と定義し、復号化対象となるブロックの左に隣接するブロックを“ブロックＢ”と定義し、上に隣接ブロックを“ブロックＡ”と定義している。復号化対象となるブロックＣのＤＣ係数及び第１列又は第１行のＡＣ係数は、ブロックＡ又はブロックＢから予測される。【０１１３】
図６は、Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。図６において、記号ＲｅｃＣはＤＣ／ＡＣ予測処理を行う前のブロックＣの係数値を示し、記号ＲｅｃＣ’はＤＣ／ＡＣ予測処理を行った後のブロックＣの係数値を示している。同様に、記号ＲｅｃＡ’はＤＣ／ＡＣ予測処理を行った後のブロックＡの係数値を示し、記号ＲｅｃＢ’はＤＣ／ＡＣ予測処理を行った後のブロックＢの係数値を示している。また、記号ｃｌｉｐＡＣ（）は−２０４８〜２０４７の範囲にクリッピングを行う関数を示している。さらに、記号ｏｄｄｉｆｙｃｌｉｐＤＣ（）は、対象の値が偶数だった場合に１を加算する奇数化処理を行ってから０〜２０４７の範囲にクリッピングを行い、対象の値が奇数だった場合にそのまま０〜２０４７の範囲にクリッピングを行う関数を示している。【０１１４】
Ｈ．２６３方式では、復号化対象となるブロックＣのＤＣ係数及び第１列又は第１行のＡＣ係数をどのように予測するかの予測方法がＩＮＴＲＡ＿ＭＯＤＥ情報と呼ばれる抽出情報によって与えられる。このＩＮＴＲＡ＿ＭＯＤＥ情報としては、予測モード０〜予測モード２の３つのモードが規定されており、マクロブロック内の各ブロックは指定された予測モードでＤＣ／ＡＣ予測処理が行われる。【０１１５】
予測モード０は、ＤＣ係数のみを予測するモードであり、ブロックＡのＤＣ係数とブロックＢのＤＣ係数との平均値からブロックＣのＤＣ係数が予測される。なお、図６に示されるように、ブロックＡのみが利用できない場合はブロックＣから予測が行われ、ブロックＣのみが利用できない場合はブロックＡから予測が行われ、ブロックＡとブロックＣとがともに利用できない場合は定数値“１０２４”を用いて予測が行われる。ここで、隣接ブロックが利用できない場合とは、隣接ブロックが同じビデオピクチャセグメントに含まれていない場合、あるいは隣接ブロックがイントラ符号化されていない場合を示している。【０１１６】
予測モード１は、ＤＣ係数及び第１行のＡＣ係数をブロックＡから予測するモードである。なお、ブロックＡが利用できない場合、ブロックＡのＤＣ係数として定数値“１０２４”を、ブロックＡのＡＣ係数として定数値“０”を用いて予測が行われる。【０１１７】
予測モード２は、ＤＣ係数及び第１列のＡＣ係数をブロックＢから予測するモードである。予測モード１同様に、ブロックＢが利用できない場合、ブロックＢのＤＣ係数として定数値“１０２４”を、ブロックＢのＡＣ係数として定数値“０”を用いて予測が行われる。【０１１８】
ここまでで見たように、Ｈ．２６３方式ではＭＰＥＧ−４方式と異なり、隣接ブロックに対するスケーリング演算は行われない。これは、Ｈ．２６３方式におけるＤＣ／ＡＣ予測処理が逆量子化を行った後に行われ、ブロック間の量子化スケールの差を考慮する必要がないためである。【０１１９】
このようにしてＤＣ／ＡＣ予測処理が行われた係数値に対し、最後に飽和処理が行われる。Ｈ．２６３方式における飽和処理は、上述したｏｄｄｉｆｙｃｌｉｐＤＣ（）関数及びｃｌｉｐＡＣ（）関数により行われる。【０１２０】
次に、本実施の形態の復号化回路の詳細な動作について説明する。【０１２１】
まず、ＭＰＥＧ−４方式に基づいて符号化された符号化データに対しての復号化処理の動作例について説明する。【０１２２】
まず、復号化回路に符号化ストリームが供給されると、可変長復号化部２は、符号化ストリームに含まれている符号化データを復元する。符号化情報抽出部３は、システムデータなどから復号化処理を行うための符号化データに関する情報を抽出情報として抽出する。すなわち、この動作例の場合、符号化情報抽出部３は、まず、供給される符号化データがＭＰＥＧ−４方式に基づき生成された符号化データであることを検出し、符号化種別がＭＰＥＧ−４方式であるとする符号化種別情報を制御部７に通知する。また、符号化情報抽出部３は、符号化ストリームの内容からｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報、及びイントラ／インター情報などを抽出し、抽出した情報を制御部７に通知する。【０１２３】
制御部７は、このような符号化情報抽出部３からの抽出情報に応じて、ＤＣ／ＡＣ予測処理に必要となる制御情報を生成し、生成した制御情報を各部に設定する。この動作例では、ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“０”であると判定された場合、ＤＣ／ＡＣ予測処理を行うものとして、制御部７は、ＤＣ／ＡＣ予測処理部１に対してイントラ／インター情報を設定するとともに、動作を指定する制御情報を各処理部に対して設定する。【０１２４】
すなわち、制御部７は、復号化対象となるブロックの上、左及び左上に隣接するブロックがＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）又はビデオパケットの境界外にあるか否か、あるいは隣接ブロックがイントラ符号化されているか否かに基づいて、該当の隣接ブロックが利用可能か否かを判定する。制御部７は、判定結果を隣接ブロック利用可能情報として係数選択処理部１１に設定する。【０１２５】
また、制御部７は、隣接ブロックが利用できない場合に係数値の代用として使用する所定の定数値として、“１０２４”を既定ＤＣ係数値情報として設定し、“０”を既定ＡＣ係数値情報として設定する。【０１２６】
また、制御部７は、予測方向の判定に用いるＤＣ係数に対するスケーリング演算、及び、予測処理に用いるＤＣ係数及びＡＣ係数に対するスケーリング演算を実施するか否かを表すスケーリング実施有無情報を係数演算処理部１２に設定する。すなわち、制御部７は、予測方向の判定に用いるＤＣ係数に対しては、第１の乗算器１２０における乗算処理を行うとし、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算を行わないとするスケーリング実施有無情報を設定する。【０１２７】
一方、制御部７は、予測処理に用いるＤＣ係数及びＡＣ係数に対しては、第１の乗算器１２０における乗算処理、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算をいずれも行うとするスケーリング実施有無情報を設定する。また、詳細な値についての説明は省略するが、制御部７は、スケーリング演算に用いる量子化スケール値として取りうる“１”〜“４６”の値の逆数を逆数値情報として設定し、スケーリング演算における除算に必要なビット精度を逆数値精度情報として設定する。【０１２８】
また、制御部７は、係数比較処理部１３で求めた係数比較結果情報を用いて予測方向を決定するとした予測方法決定情報を方向判定処理部１４に設定し、水平方向と垂直方向との相関関係が等しい場合、左方向から予測を行うとする予測方向判定情報を方向判定処理部１４に設定する。【０１２９】
また、制御部７は、符号化ストリームから抽出したａｃ＿ｐｒｅｄ＿ｆｌａｇ情報に基づいて、ＡＣ係数の予測を行うか否かを表すＡＣ係数予測実施有無情報を予測処理部１５に設定する。すなわち、制御部７は、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報が“０”の場合にはＡＣ係数の予測を行わないとするＡＣ係数予測実施有無情報を設定し、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報が“１”の場合にはＡＣ係数の予測を行うとするＡＣ係数予測実施有無情報を設定する。【０１３０】
また、制御部７は、奇数化処理を行うための奇数化処理実施有無情報を飽和処理部１６に設定するとともに、ＤＣ係数値及びＡＣ係数値を“−２０４８”から“２０４７”の範囲に収まるようにクリッピングするためのクリッピング制御情報を飽和処理部１６に設定する。【０１３１】
一方、ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“１”であると判定された場合、詳細な設定内容の説明は省略するが、制御部７は、ＤＣ／ＡＣ予測処理を行わないようＤＣ／ＡＣ予測処理部１に対して制御情報の設定を行う。ここまで説明したように、まず制御部７は、ＤＣ／ＡＣ予測処理部１がＭＰＥＧ−４方式に基づき生成された符号化データを処理するように制御情報を設定する。【０１３２】
次に、上述したように制御情報が設定されたＤＣ／ＡＣ予測処理部１の詳細な動作について説明する。なお、ここでは特にｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“０”であると判定され、かつイントラ／インター情報により復号化対象となるマクロブロック又はブロックがイントラ符号化されていると設定された場合の動作について説明する。【０１３３】
まず、係数選択処理部１１に、符号化対象であるブロックの上、左及び左上に隣接するブロックのＤＣ係数及びＡＣ係数が供給される。係数選択処理部１１は、制御部７によって設定された隣接ブロック利用可能情報に従い、供給された隣接ブロックのＤＣ係数値及びＡＣ係数値、又は、既定ＤＣ係数値情報又は既定ＡＣ係数値情報として設定された定数値“１０２４”又は“０”を選択する。すなわち、隣接ブロック利用可能情報により隣接ブロックが利用可能であると設定されている場合、係数選択処理部１１は、該当ブロックのＤＣ係数及びＡＣ係数を選択する。また、隣接ブロック利用可能情報により隣接ブロックが利用不可能であると設定されている場合、係数選択処理部１１は、定数値“１０２４”又は“０”を、該当ブロックのＤＣ係数又はＡＣ係数として選択する。このようにして選択された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数演算処理部１２に供給される。【０１３４】
係数演算処理部１２は、スケーリング実施有無情報、逆数値情報及び逆数値精度情報に従い、供給される隣接ブロックのＤＣ係数及びＡＣ係数に対してスケーリング演算処理を行う。すなわち、予測方向の判定に用いるＤＣ係数を求める際は、第１の乗算器１２０における乗算処理のみが行われる。これは、ＤＣ／ＡＣ予測処理後の係数値に対し、さらに逆量子化処理を行った後の係数値を求める処理に相当する。【０１３５】
同様に、予測処理に用いるＤＣ係数及びＡＣ係数を求める際は、第１の乗算器１２０における乗算処理、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算を全て行う。ここで、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算では、逆数値情報と逆数値精度情報とを用いて、量子化スケールによる除算に相当する処理が行われる。このようにして得られた予測方向の判定に用いるＤＣ係数は係数比較処理部１３に供給され、予測処理に用いるＤＣ係数及びＡＣ係数は予測処理部１５に供給される。【０１３６】
係数比較処理部１３は、復号化対象のブロックの左、左上及び上に隣接するブロックのスケーリング演算済みのＤＣ係数値に基づいて、水平方向及び垂直方向のブロック間の相関関係を係数比較結果情報として求める。求められた係数比較結果情報は、方向判定処理部１４に供給される。【０１３７】
方向判定処理部１４は、制御部７によって設定された予測方法決定情報に従い、係数比較処理部１３で求めたＤＣ係数値の差分値から予測方向の判定を行う。すなわち、係数比較結果情報において垂直方向相関度よりも水平方向相関度の方が小さかった場合、方向判定処理部１４は、垂直方向よりも水平方向の相関関係が強いとして、復号化対象となるブロックの左に隣接するブロックに基づいて予測するよう予測方向を決定する。また、係数比較結果情報において水平方向相関度よりも垂直方向相関度の方が小さかった場合、方向判定処理部１４は、水平方向よりも垂直方向の相関関係が強いとして、復号化対象となるブロックの上に隣接するブロックに基づいて予測するよう予測方向を決定する。【０１３８】
また、係数比較結果情報において水平方向相関度と垂直方向相関度とが等しかった場合、方向判定処理部１４は、制御部７によって設定された予測方向判定情報により、復号化対象となるブロックの左に隣接するブロックに基づいて予測するよう予測方向を決定する。このようにして決定した予測方向は、予測情報として予測処理部１５に供給される。【０１３９】
予測処理部１５は、逆スキャン処理部４から供給された符号化データに対して、方向判定処理部１４で決定された予測情報及び制御部７によって設定されたＡＣ係数予測実施有無情報に従い、係数演算処理部１２から供給される隣接するブロックのＤＣ係数値及びＡＣ係数値を選択して加算することで、ＤＣ係数及びＡＣ係数を復元する。具体的には、方向判定処理部１４より供給された予測情報によって、復号化対象となるブロックの上に隣接するブロックから予測を行うと指定された場合、予測処理部１５は、まず逆スキャン処理部４から供給されたＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数値を加算し、ＤＣ係数を復元する。【０１４０】
またさらに、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施すると設定された場合、予測処理部１５は、続けて逆スキャン処理部４から供給された第１行のＡＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックの第１行のＡＣ係数の値を加算し、ＡＣ係数を復元する。【０１４１】
また逆に、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施しないと設定された場合、予測処理部１５は、逆スキャン処理部４から供給された第１行のＡＣ係数に対して何も処理を行わない。一方、方向判定処理部１４より供給された予測情報によって、復号化対象となるブロックの左に隣接するブロックから予測を行うと指定された場合、予測処理部１５は、同様に復号化対象となるブロックの左に隣接するブロックからＤＣ係数及び第１列のＡＣ係数の復元を行う。このようにして復元されたＤＣ係数値及びＡＣ係数値は、飽和処理部１６に供給される。【０１４２】
飽和処理部１６は、制御部７によって設定された奇数化処理実施有無情報に従い奇数化処理は行わない。飽和処理部１６は、制御部７によって設定されたクリッピング制御情報に従い、予測処理部１５によって復元されたＤＣ係数値及びＡＣ係数値がそれぞれ所定の定数値内に収まるようにクリッピングする飽和処理のみを行う。すなわち、飽和処理部１６は、ＤＣ係数値及びＡＣ係数値が“−２０４８”以下の場合には、“−２０４８”とする値にクリッピングし、“２０４７”以上の場合には、“２０４７”とする値にクリッピングする飽和処理を行う。【０１４３】
なお、本実施の形態では、予測方向の判定に用いるための、逆量子化処理を行った後のＤＣ係数値を得るため、ＤＣ／ＡＣ予測処理部１内の第１の乗算器１２０は乗算処理を行っているが、逆量子化部５の出力結果を受け取って使用するような構成としてもよい。【０１４４】
次に、Ｈ．２６３方式に基づいて符号化された符号化データに対しての復号化処理の動作例について説明する。【０１４５】
ＭＰＥＧ−４方式と同様、まず本復号化回路に符号化ストリームが供給されると、可変長復号化部２は、符号化ストリームに含まれている符号化データを復元する。符号化情報抽出部３は、システムデータなどから復号化処理を行うための符号化データに関する情報を抽出情報として抽出する。すなわち、この動作例の場合、符号化情報抽出部３は、まず、供給される符号化データがＨ．２６３方式に基づき生成された符号化データであることを検出し、符号化種別がＨ．２６３方式であるとする符号化種別情報を制御部７に通知する。また、符号化情報抽出部３は、符号化ストリームの内容からＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用するか否かを表す情報や、ＩＮＴＲＡ＿ＭＯＤＥ情報、及びイントラ／インター情報などを抽出し、抽出した情報を制御部７に通知する。【０１４６】
制御部７は、このような符号化情報抽出部３からの抽出情報に応じて、ＤＣ／ＡＣ予測処理に必要となる制御情報を生成し、生成した制御情報を各部に設定する。この動作例では、ＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用すると通知された場合、ＤＣ／ＡＣ予測処理を行うものとして、制御部７は、ＤＣ／ＡＣ予測処理部１に対してイントラ／インター情報を設定するとともに、動作を指定する制御情報を各処理部に対して設定する。【０１４７】
すなわち、制御部７は、復号化対象となるブロックの上及び左に隣接するブロックが同じビデオピクチャセグメントに含まれているか否か、あるいは隣接ブロックがイントラ符号化されているか否かに基づいて、該当の隣接ブロックが利用可能か否かを判定する。制御部７は、判定結果を隣接ブロック利用可能情報として係数選択処理部１１に設定する。【０１４８】
また、制御部７は、隣接ブロックが利用できない場合に係数値の代用として使用する所定の定数値として、“１０２４”を既定ＤＣ係数値情報として設定し、“０”を既定ＡＣ係数値情報として設定する。【０１４９】
また、制御部７は、いずれの係数についてもスケーリング演算を行わないとする情報をスケーリング実施有無情報として係数演算処理部１２に設定する。また、制御部７は、係数比較処理部１３で求めた係数比較結果情報を用いず、符号化ストリームから抽出したＩＮＴＲＡ＿ＭＯＤＥ情報に従った予測を行うとする情報を予測方法決定情報として方向判定処理部１４に設定する。【０１５０】
また、制御部７は、符号化ストリームから抽出したＩＮＴＲＡ＿ＭＯＤＥ情報に基づいて、ＡＣ係数の予測を行うか否かを表すＡＣ係数予測実施有無情報を予測処理部１５に設定する。すなわち、制御部７は、ＩＮＴＲＡ＿ＭＯＤＥ情報が予測モード０の場合にはＡＣ係数の予測を行わないとするＡＣ係数予測実施有無情報を予測処理部１５に設定し、ＩＮＴＲＡ＿ＭＯＤＥ情報が予測モード１又は予測モード２の場合にはＡＣ係数の予測を行うとするＡＣ係数予測実施有無情報を予測処理部１５に設定する。【０１５１】
また、制御部７は、奇数化処理を行うための奇数化処理実施有無情報を飽和処理部１６に設定するとともに、ＤＣ係数値を“０”から“２０４７”の範囲に、ＡＣ係数値を“−２０４８”から“２０４７”の範囲に収まるようにクリッピングするためのクリッピング制御情報を飽和処理部１６に設定する。【０１５２】
一方、ＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用しないと通知された場合、制御部７は、ＤＣ／ＡＣ予測処理を行わないようＤＣ／ＡＣ予測処理部１に対して制御情報の設定を行う。ここまで説明したように、まず制御部７は、ＤＣ／ＡＣ予測処理部１がＨ．２６３方式に基づき生成された符号化データを処理するように制御情報を設定する構成になっている。【０１５３】
次に、上述したように制御情報が設定されたＤＣ／ＡＣ予測処理部１の詳細な動作について説明する。なお、ここでは特にＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用し、かつイントラ／インター情報により復号化対象となるマクロブロック又はブロックがイントラ符号化されていると設定された場合の動作について説明する。【０１５４】
まず、係数選択処理部１１に、符号化対象であるブロックの上及び左に隣接するブロックのＤＣ係数及びＡＣ係数が供給される。係数選択処理部１１は、制御部７によって設定された隣接ブロック利用可能情報に従い、供給された隣接ブロックのＤＣ係数値及びＡＣ係数値、又は、既定ＤＣ係数値情報又は既定ＡＣ係数値情報として設定された定数値“１０２４”又は“０”を選択する。すなわち、隣接ブロック利用可能情報により隣接ブロックが利用可能であると設定されている場合、係数選択処理部１１は、該当ブロックのＤＣ係数及びＡＣ係数を選択する。また、隣接ブロック利用可能情報により隣接ブロックが利用不可能であると設定されている場合、係数選択処理部１１は、定数値“１０２４”又は“０”を、該当ブロックのＤＣ係数又はＡＣ係数として選択する。このようにして選択された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数演算処理部１２に供給される。【０１５５】
係数演算処理部１２は、スケーリング実施有無情報によってスケーリング演算を行わないと設定されているため、係数選択処理部１１から供給されたＤＣ係数及びＡＣ係数に対して何も処理を行わず、そのまま予測処理部１５に供給する。【０１５６】
係数比較処理部１３は、予測方法決定情報によってＩＮＴＲＡ＿ＭＯＤＥ情報で指定される予測モードを用いて予測方向を決定すると設定されているため、水平方向及び垂直方向のブロック間の相関関係を求めない。従って、Ｈ．２６３方式の場合、係数比較処理部１３の動作は未定義である。【０１５７】
方向判定処理部１４は、制御部７によって設定された予測方法決定情報に従い、ＩＮＴＲＡ＿ＭＯＤＥ情報に従って予測を行うとする予測情報を予測処理部１５に供給する。【０１５８】
予測処理部１５は、逆スキャン処理部４から供給された符号化データに対して、方向判定処理部１４で決定された予測情報及び制御部７によって設定されたＡＣ係数予測実施有無情報に従い、係数演算処理部１２から供給される隣接するブロックのＤＣ係数値及びＡＣ係数値を選択して加算することで、ＤＣ係数及びＡＣ係数を復元する。具体的には、方向判定処理部１４より供給された予測情報により、ＩＮＴＲＡ＿ＭＯＤＥ情報における予測モード０で予測を行うと指定された場合、予測処理部１５は、逆スキャン処理部４から供給されたＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数と左に隣接するブロックのＤＣ係数との平均値を加算し、ＤＣ係数を復元する。【０１５９】
なお、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施しないと設定されているため、予測処理部１５は、逆スキャン処理部４から供給されたＡＣ係数に対して何も処理を行わない。【０１６０】
また、ＩＮＴＲＡ＿ＭＯＤＥ情報における予測モード１で予測を行うと指定された場合、予測処理部１５は、まず逆スキャン処理部４から供給されたＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数値を加算し、ＤＣ係数を復元する。また、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を行うと設定されているため、予測処理部１５は、続けて逆スキャン処理部４から供給された第１行のＡＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックの第１行のＡＣ係数値を加算し、ＡＣ係数を復元する。【０１６１】
また、ＩＮＴＲＡ＿ＭＯＤＥ情報における予測モード２で予測を行うと指定された場合、予測処理部１５は、上記と同様に、逆スキャン処理部４から供給されたＤＣ係数及び第１列のＡＣ係数に対して、復号化対象となるブロックの左に隣接するブロックのＤＣ係数値及び第１列のＡＣ係数値を加算し、ＤＣ係数及び第１列のＡＣ係数を復元する。このようにして復元されたＤＣ係数値及びＡＣ係数値は、飽和処理部１６に供給される。【０１６２】
飽和処理部１６は、制御部７によって設定された奇数化処理実施有無情報に従いＤＣ係数に対する奇数化処理を行う。また、飽和処理部１６は、制御部７によって設定されたクリッピング制御情報に従い、復元されたＤＣ係数値及びＡＣ係数値がそれぞれ所定の定数値内に収まるようにクリッピングする飽和処理を行う。すなわち、飽和処理部１６は、ＤＣ係数値が“０”以下の場合には、“０”とする値にクリッピングし、“２０４７”以上の場合には、“２０４７”とする値にクリッピングする飽和処理を行う。また、飽和処理部１６は、ＡＣ係数値が“−２０４８”以下の場合には、“−２０４８”とする値にクリッピングし、“２０４７”以上の場合には、“２０４７”とする値にクリッピングする飽和処理を行う。【０１６３】
本実施の形態の復号化回路におけるＤＣ／ＡＣ予測処理部１は上記に説明したような構成であり、符号化情報抽出部３によって抽出された抽出情報に基づいて、制御部７によって各種の画像符号化方式に応じた制御情報が生成され、その制御情報が係数選択処理部１１、係数演算処理部１２、係数比較処理部１３、方向判定処理部１４、予測処理部１５及び飽和処理部１６の各処理部に設定される。そして、各処理部は、その設定された制御情報に従って処理を行うように動作する。【０１６４】
このような構成により、単一の回路で各種の画像符号化方式におけるＤＣ／ＡＣ予測処理に対応させて復号化処理を行うことができるＤＣ／ＡＣ予測回路を実現している。【０１６５】
なお、以上の説明では、ＤＣ／ＡＣ予測処理部１に設定する制御情報を、制御部７ですべて生成し、その制御情報が各処理部に設定されるような実施の形態について説明している。しかしながら、このような実施の形態では制御部７の処理量が増大する虞がある。そのため、例えば、符号化情報抽出部３によって抽出される抽出情報のうち、ピクチャレベルなどの比較的低頻度で出現する情報のみを制御部７に供給し、マクロブロックレベルなどの比較的高頻度で出現する情報は、ＤＣ／ＡＣ予測処理部１あるいはそれに準じる処理部に供給し、制御部７を介することなく制御情報を生成及び設定する構成であってもよい。【０１６６】
（実施の形態２）
次に、本発明の実施の形態２における復号化回路について説明する。図７は、本発明の実施の形態２におけるＤＣ／ＡＣ予測処理部の構成を示すブロック図である。なお、図７に示す実施の形態２における復号化回路について、図２に示す実施の形態１における復号化回路と同じ構成については同じ符号を付して説明を省略し、異なる構成についてのみ説明する。また、実施の形態２における復号化回路全体の構成は、図１に示す復号化回路全体の構成と同じである。【０１６７】
実施の形態１では、逆数テーブル１２４をＳＲＡＭなどのメモリで構成し、テーブルの内容を逆数値情報によって設定するとしているが、本発明は特にこれに限定されない。本実施の形態では、あらかじめ定められた十分な精度を有する逆数値をＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：読み出し専用メモリ）に保持する構成としている。また、逆数テーブル１２４は、保持された逆数値を、逆数値精度情報に従って有限の桁数で切り出して出力する構成としている。これは、符号化方式に応じてスケーリング演算で行う除算に必要な演算精度が異なる場合があるためである。【０１６８】
ただし、この場合、逆数値を有限の桁数で切り出すことによる演算誤差が発生する可能性がある。そこで、その演算誤差を補正するため、除算処理部１２５は、逆数値補正部１２６をさらに備える。逆数値補正部１２６は、例えば加算器で構成され、逆数テーブル１２４に格納された逆数値を補正する。具体的に、逆数値補正部１２６は、逆数テーブル１２４で格納されているあらかじめ定められた逆数値を読み出し、読み出した逆数値に補正値を加算する。逆数値補正部１２６は、補正値が加算された逆数値を新たな逆数値として第２の乗算器１２１へ出力する。補正値は、係数演算情報の一部として、制御部７によって設定される。【０１６９】
このように、逆数値補正部１２６によって、逆数テーブル１２４に格納された逆数値が補正されるので、補正された逆数値を用いて高精度に演算処理を行うことができる。また、逆数テーブル１２４をＲＡＭではなくＲＯＭで構成することにより、回路規模の削減を図ることができる。【０１７０】
なお、本実施の形態において、逆数値補正部１２６が逆数値補正部の一例に相当する。【０１７１】
また、実施の形態２における復号化回路の動作は、係数選択処理部１１において定数値が変更可能であること、及び逆数テーブル１２４に格納される逆数値が補正可能であること以外は、実施の形態１における復号化回路の動作と同じであるので説明を省略する。【０１７２】
（実施の形態３）
図８は、本発明の実施の形態３における画像再生装置の構成を示すブロック図である。なお、画像再生装置は、例えば、パーソナルコンピュータ、セットトップボックス、光ディスクレコーダ、光ディスクプレーヤ、テレビ、携帯情報端末装置及び携帯電話機を含む。【０１７３】
図８に示す画像再生装置１００は、符号化ストリーム取得部１０１、復号化回路１０２及び出力部１０３を備える。符号化ストリーム取得部１０１は、符号化ストリームを取得する。なお、符号化ストリーム取得部１０１は、ネットワークを介して符号化ストリームを取得したり、ＤＶＤ、Ｂｌｕ−ｒａｙディスク等の光ディスクを読み取ることにより符号化ストリームを取得したり、アンテナを介して放送波から符号化ストリームを取得したりする。【０１７４】
復号化回路１０２は、実施の形態１又は２で述べた復号化回路である。復号化回路１０２は、符号化ストリーム取得部１０１によって取得された符号化ストリームから画像圧縮符号化処理により生成された符号化データを抽出し、抽出した符号化データを復号化する。出力部１０３は、復号化回路１０２によって復号化された画像データをモニタ１１０に出力する。モニタ１１０は、出力部１０３によって出力された画像データを表示する。【０１７５】
画像再生装置１００は、実施の形態１又は２で述べたいずれかの復号化回路を搭載しているので、本実施の形態における画像再生装置１００は、単一回路で各種の符号化方式に対応した復号化を行うことができる。【０１７６】
また、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。【０１７７】
すなわち、本実施の形態の復号化回路を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）に含まれるとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩである。【０１７８】
また、上記の回路を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全てを含むように１チップ化されてもよい。【０１７９】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＬＳＩ、スーパーＬＳＩ又はウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。【０１８０】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。【０１８１】
また、本発明は、上記に示す復号化方法であるとしてもよい。また、この復号化方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、上記コンピュータプログラムからなるデジタル信号であるとしてもよい。【０１８２】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）及び半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。【０１８３】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線通信回線、有線通信回線、インターネットを代表とするネットワーク又はデータ放送等を経由して伝送するものとしてもよい。【０１８４】
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしてもよい。【０１８５】
また、上記プログラム又は上記デジタル信号を上記記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。【０１８６】
また、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。【０１８７】
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。【０１８８】
本発明の一局面に係る復号化回路は、画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化回路であって、供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部と、前記復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理部と、前記係数選択処理部によって選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理部と、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理部と、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理部と、前記判定処理部によって判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理部と、供給される前記符号化データの内容に応じて、前記係数選択処理部における選択方法、前記係数演算処理部における演算処理方法、前記判定処理部における判定方法及び前記予測処理部における予測処理方法のうちの一つ又は複数の方法を制御する制御部とを備える。【０１８９】
この構成によれば、復号化データ格納部には、供給される符号化データに対してブロック単位で復号化処理を行った復号化データが隣接ブロック情報として一時的に格納される。そして、係数選択処理部によって、復号化データ格納部に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数が選択される。係数演算処理部によって、係数選択処理部により選択されたＤＣ係数及びＡＣ係数に所定の演算処理が施され、係数比較処理部によって、係数演算処理部により所定の演算処理が施されたＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係が求められる。続いて、判定処理部によって、係数比較処理部により求められたブロック間相関関係を用いて予測方法が判定され、予測処理部によって、判定処理部により判定された予測方法を用いて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数が加算される。また、制御部によって、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御される。【０１９０】
したがって、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御されるので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化装置を提供することができる。また、新たなＤＣ／ＡＣ予測処理方法を用いた符号化方式が提案されたとしても、符号化データに応じて各処理部の処理方法を変更することにより、新たなＤＣ／ＡＣ予測処理方法に迅速に対応することができ、復号化処理を行うためのＬＳＩなどの再設計も不要となる。【０１９１】
また、上記の復号化回路において、前記係数選択処理部は、前記隣接ブロックが利用可能であるか否かを示す情報に基づいて、前記隣接ブロック情報から得られるＤＣ係数及びＡＣ係数と、所定の定数値とのうちのいずれかの値を選択することが好ましい。【０１９２】
この構成によれば、係数選択処理部によって、隣接ブロックが利用可能であるか否かを示す情報に基づいて、隣接ブロック情報から得られるＤＣ係数及びＡＣ係数と、所定の定数値とのうちのいずれかの値が選択されるので、隣接ブロックが利用できなかった場合に所定の定数値をＤＣ係数及びＡＣ係数の代わりとして用いて復号化処理を行うことができる。【０１９３】
また、上記の復号化回路において、前記係数選択処理部によって選択される前記定数値は、設定可能であることが好ましい。この構成によれば、係数選択処理部によって選択される定数値が設定可能であるので、符号化方式に応じた所定の定数値をＤＣ係数及びＡＣ係数の代わりとして設定することができる。【０１９４】
また、上記の復号化回路において、前記係数演算処理部は、前記係数選択処理部によって選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、前記隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す第１の量子化スケール値を乗算する第１の乗算処理部と、前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す第２の量子化スケール値を除算する除算処理部とを含むことが好ましい。【０１９５】
この構成によれば、第１の乗算処理部によって、係数選択処理部により選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す第１の量子化スケール値が乗算される。そして、除算処理部によって、第１の乗算処理部により第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す第２の量子化スケール値が除算される。【０１９６】
したがって、スケーリング演算における、隣接ブロックの第１の量子化スケール値による乗算処理と、復号化対象ブロックの第２の量子化スケール値による除算処理とを実現することができる。【０１９７】
また、上記の復号化回路において、前記除算処理部は、前記第２の量子化スケール値に応じた複数の逆数値を格納する逆数値格納部と、前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して前記逆数値を乗算する第２の乗算処理部と、前記第２の乗算処理部によって前記逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理を行う丸め処理部と、前記丸め処理部によって前記丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理を行うシフト処理部とを含むことが好ましい。【０１９８】
この構成によれば、逆数値格納部には、第２の量子化スケール値に応じた複数の逆数値が格納されている。そして、第２の乗算処理部によって、第１の乗算処理部により第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して逆数値が乗算される。次に、丸め処理部によって、第２の乗算処理部により逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理が行われる。その後、シフト処理部によって、丸め処理部により丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理が行われる。【０１９９】
したがって、ＤＣ係数及びＡＣ係数に対して、第２の量子化スケール値に応じた逆数値を乗算し、丸め処理を行い、右ビットシフト処理を行うことにより、復号化対象ブロックの第２の量子化スケール値による除算処理を実現することができる。【０２００】
また、上記の復号化回路において、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかを選択することが好ましい。【０２０１】
この構成によれば、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部において、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかが選択される。すなわち、複数の演算処理の中でも、符号化方式によっては、必要な演算処理と不要な演算処理とがあり、必要な演算処理のみを施すことができる。【０２０２】
また、上記の復号化回路において、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記係数値の種類に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することが好ましい。【０２０３】
この構成によれば、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部において、係数値の種類に応じて決定される、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかが選択されるので、各種の符号化方式に応じた演算処理を施すことができる。【０２０４】
また、上記の復号化回路において、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の量子化スケール値と前記第２の量子化スケール値との関係に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することが好ましい。【０２０５】
この構成によれば、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部において、第１の量子化スケール値と第２の量子化スケール値との関係に応じて決定される、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算済み値と非演算値とのいずれかが選択される。【０２０６】
すなわち、第１の量子化スケール値と第２の量子化スケール値とが等しい場合、スケーリング演算を行わなくても符号化効率が低下することはない。そのため、第１の量子化スケール値と第２の量子化スケール値とが等しい場合、演算処理が不要となるので、第１の量子化スケール値と第２の量子化スケール値との関係に応じて、各演算処理を行うか否かを選択することができる。【０２０７】
また、上記の復号化回路において、前記除算処理部は、前記逆数値格納部に格納された前記逆数値を補正する逆数値補正部をさらに含むことが好ましい。この構成によれば、逆数値補正部によって、逆数値格納部に格納された逆数値が補正されるので、補正された逆数値を用いて高精度に演算処理を行うことができる。【０２０８】
また、上記の復号化回路において、前記逆数値補正部は、前記逆数値格納部に格納されているあらかじめ定められた複数の逆数値に補正値を加算することが好ましい。【０２０９】
この構成によれば、逆数値格納部に格納されているあらかじめ定められた複数の逆数値に補正値が加算され、補正値が加算された逆数値が新たな逆数値として第２の乗算処理部に出力される。したがって、予め定められた複数の逆数値に補正値を加算することにより、高精度に演算処理を行うことができる。【０２１０】
また、上記の復号化回路において、前記第２の乗算処理部における前記逆数値、前記丸め処理部における丸め値、及び前記シフト処理部における右ビットシフト量は、符号化方式に応じてそれぞれ設定可能であることが好ましい。【０２１１】
この構成によれば、第２の乗算処理部における逆数値、丸め処理部における丸め値、及びシフト処理部における右ビットシフト量が符号化方式に応じてそれぞれ設定可能であるので、符号化方式に応じて除算の演算精度を選択することができる。【０２１２】
また、上記の復号化回路において、前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定し、前記ブロック間相関関係を用いて予測方法を判定するか否かを示す情報に基づいて、判定した予測方法と、あらかじめ設定された所定の予測方法とのうちのいずれかを選択することが好ましい。【０２１３】
この構成によれば、判定処理部によって、係数比較処理部により求められたブロック間相関関係を用いて予測方法が判定される。また、判定処理部によって、ブロック間相関関係を用いて予測方法を判定するか否かを示す情報に基づいて、判定された予測方法と、あらかじめ設定された所定の予測方法とのうちのいずれかが選択される。したがって、ブロック間相関関係を用いて予測方法を判定することができない場合であっても、あらかじめ設定された所定の予測方法を用いて復号化処理を行うことができる。【０２１４】
また、上記の復号化回路において、前記判定処理部は、復号化対象となるブロックに隣接する隣接ブロックが予測に利用できるか否かに応じて予測方法を判定することが好ましい。【０２１５】
この構成によれば、判定処理部によって、復号化対象となるブロックに隣接する隣接ブロックが予測に利用できるか否かに応じて予測方法が判定されるので、隣接ブロックが予測に利用できる場合は、予測方法を判定し、隣接ブロックが予測に利用できない場合は、あらかじめ設定された所定の予測方法を選択することができる。【０２１６】
また、上記の復号化回路において、前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかを選択することが好ましい。【０２１７】
この構成によれば、判定処理部によって、係数比較処理部により求められたブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかが選択される。したがって、水平方向及び垂直方向の相関関係が等しい場合、符号化方式に応じて、水平方向又は垂直方向のどちらから予測するかを選択することができる。【０２１８】
また、上記の復号化回路において、前記予測処理部は、前記係数値の種類に応じて前記予測処理部における演算を行うか否かを示す情報に基づいて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する演算を行った演算済み値と、前記演算を行わない非演算値とのいずれかを選択することが好ましい。【０２１９】
この構成によれば、予測処理部によって、係数値の種類に応じて予測処理部における演算を行うか否かを示す情報に基づいて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数を加算する演算を行った演算済み値と、演算を行わない非演算値とのいずれかが選択される。したがって、係数値の種類に応じて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数を加算するか否かを選択することができる。【０２２０】
また、上記の復号化回路において、前記予測処理部によって得られるＤＣ係数及びＡＣ係数が所定の値以上又は所定の値以下である場合、前記ＤＣ係数及び前記ＡＣ係数を前記所定の値にクリッピングする飽和処理を行う飽和処理部をさらに備えることが好ましい。【０２２１】
この構成によれば、予測処理部により得られるＤＣ係数及びＡＣ係数が所定の値以上又は所定の値以下である場合、飽和処理部によって、ＤＣ係数及びＡＣ係数が所定の値にクリッピングされる。したがって、ＤＣ係数及びＡＣ係数を所定の範囲内の値にすることができる。【０２２２】
また、上記の復号化回路において、前記飽和処理部におけるクリッピングの範囲は、設定可能であることが好ましい。この構成によれば、飽和処理部におけるクリッピングの範囲が設定可能であるので、符号化方式に応じてクリッピングの範囲を変更することができる。【０２２３】
また、上記の復号化回路において、前記飽和処理部は、前記ＤＣ係数に対して所定の演算を施すことで奇数化処理を行い、前記奇数化処理を行うか否かを示す情報に基づいて、前記奇数化処理を行った処理済み値と、前記奇数化処理を行っていない非処理値とのいずれかを選択することが好ましい。【０２２４】
この構成によれば、飽和処理部によって、ＤＣ係数に対して所定の演算を施すことで奇数化処理が行われる。また、飽和処理部によって、奇数化処理を行うか否かを示す情報に基づいて、奇数化処理を行った処理済み値と、奇数化処理を行っていない非処理値とのいずれかが選択される。したがって、符号化方式に応じて奇数化処理を行うか否かを選択することができる。【０２２５】
本発明の他の局面に係る復号化方法は、画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化方法であって、供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理ステップと、前記係数選択処理ステップにおいて選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理ステップと、前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理ステップと、前記係数比較処理ステップにおいて求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理ステップと、前記判定処理ステップにおいて判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理ステップと、供給される前記符号化データの内容に応じて、前記係数選択処理ステップにおける選択方法、前記係数演算処理ステップにおける演算処理方法、前記判定処理ステップにおける判定方法及び前記予測処理ステップにおける予測処理方法のうちの一つ又は複数の方法を制御する制御ステップとを含む。【０２２６】
この構成によれば、復号化データ格納部には、供給される符号化データに対してブロック単位で復号化処理を行った復号化データが隣接ブロック情報として一時的に格納される。そして、係数選択処理ステップにおいて、復号化データ格納部に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数が選択される。次に、係数演算処理ステップにおいて、係数選択処理ステップで選択されたＤＣ係数及びＡＣ係数に所定の演算処理が施され、係数比較処理ステップにおいて、係数演算処理ステップで所定の演算処理が施されたＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係が求められる。続いて、判定処理ステップにおいて、係数比較処理ステップで求められたブロック間相関関係を用いて予測方法が判定され、予測処理ステップにおいて、判定処理ステップで判定された予測方法を用いて、供給された符号化データに対して、係数演算処理ステップで所定の演算処理が施されたＤＣ係数及びＡＣ係数が加算される。また、制御ステップにおいて、供給される符号化データの内容に応じて、係数選択処理ステップにおける選択方法、係数演算処理ステップにおける演算処理方法、判定処理ステップにおける判定方法及び予測処理ステップにおける予測処理方法のうちの一つ又は複数の方法が制御される。【０２２７】
したがって、供給される符号化データの内容に応じて、係数選択処理ステップにおける選択方法、係数演算処理ステップにおける演算処理方法、判定処理ステップにおける判定方法及び予測処理ステップにおける予測処理方法のうちの一つ又は複数の方法が制御されるので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化方法を提供することができる。また、新たなＤＣ／ＡＣ予測処理方法を用いた符号化方式が提案されたとしても、符号化データに応じて各処理ステップにおける処理方法を変更することにより、新たなＤＣ／ＡＣ予測処理方法に迅速に対応することができ、復号化処理を行うためのＬＳＩなどの再設計も不要となる。【０２２８】
本発明の他の局面に係る画像再生装置は、符号化データを取得する符号化データ取得部と、前記符号化データ取得部によって取得された符号化データを復号化する上記の復号化回路と、前記復号化回路によって復号化された画像データを出力する出力部とを備える。【０２２９】
この構成によれば、符号化データ取得部によって、符号化データが取得される。そして、上記の復号化回路によって、符号化データ取得部により取得された符号化データが復号化され、出力部によって、復号化回路により復号化された画像データが出力される。【０２３０】
したがって、例えば、パーソナルコンピュータ、セットトップボックス、携帯情報端末装置及び携帯電話機などの画像再生装置に上記の復号化回路を適用することができる。
【産業上の利用可能性】
【０２３１】
本発明に係る復号化回路及び画像再生装置は、例えば、画像の符号化方式に基づき符号化されたデータである符号化データに対して復号化処理を施す機能を備えたＬＳＩなどの集積回路、このような集積回路を備えた、パーソナルコンピュータ、セットトップボックス、携帯情報端末装置又は携帯電話機などの情報機器、及びその他の装置に利用することが可能である。
【図１】
2008136164.tif 000003
【図２】
2008136164.tif 000004
【図３】
2008136164.tif 000005
【図４】
2008136164.tif 000006
【図５】
2008136164.tif 000007
【図６】
2008136164.tif 000008
【図７】
2008136164.tif 000009
【図８】
2008136164.tif 000010
【図９】
2008136164.tif 000011
【手続補正書】
【提出日】平成20年7月16日(2008.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化回路であって、
前記符号化データから、前記符号化データに関する情報である抽出情報を抽出する符号化情報抽出部と、
前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部と、
前記復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理部と、
前記係数選択処理部によって選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理部と、
前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理部と、
前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理部と、
前記判定処理部によって判定された前記予測方法を用いて、前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理部と、
前記係数選択処理部、前記係数演算処理部、前記判定処理部及び前記予測処理部のうち少なくとも２以上の処理部を指定し、前記抽出情報を用いて前記指定された少なくとも２以上の処理部を制御するための制御情報をそれぞれ生成し、前記生成された制御情報を前記指定された少なくとも２以上の処理部にそれぞれ設定することで、前記指定された少なくとも２以上の処理部の動作を個別に変更する制御部とを備えることを特徴とする復号化回路。
【請求項２】
前記係数選択処理部は、前記隣接ブロックが利用可能であるか否かを示す情報に基づいて、前記隣接ブロック情報から得られるＤＣ係数及びＡＣ係数と、所定の定数値とのうちのいずれかの値を選択することを特徴とする請求項１記載の復号化回路。
【請求項３】
前記係数選択処理部によって選択される前記定数値は、設定可能であることを特徴とする請求項２記載の復号化回路。
【請求項４】
前記係数演算処理部は、
前記係数選択処理部によって選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、前記隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す第１の量子化スケール値を乗算する第１の乗算処理部と、
前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す第２の量子化スケール値を除算する除算処理部とを含むことを特徴とする請求項１記載の復号化回路。
【請求項５】
前記除算処理部は、
前記第２の量子化スケール値に応じた複数の逆数値を格納する逆数値格納部と、
前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して前記逆数値を乗算する第２の乗算処理部と、
前記第２の乗算処理部によって前記逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理を行う丸め処理部と、
前記丸め処理部によって前記丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理を行うシフト処理部とを含むことを特徴とする請求項４記載の復号化回路。
【請求項６】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかを選択することを特徴とする請求項５記載の復号化回路。
【請求項７】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記係数値の種類に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することを特徴とする請求項６記載の復号化回路。
【請求項８】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の量子化スケール値と前記第２の量子化スケール値との関係に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することを特徴とする請求項６記載の復号化回路。
【請求項９】
前記除算処理部は、前記逆数値格納部に格納された前記逆数値を補正する逆数値補正部をさらに含むことを特徴とする請求項５記載の復号化回路。
【請求項１０】
前記逆数値補正部は、前記逆数値格納部に格納されているあらかじめ定められた複数の逆数値に補正値を加算することを特徴とする請求項９記載の復号化回路。
【請求項１１】
前記第２の乗算処理部における前記逆数値、前記丸め処理部における丸め値、及び前記シフト処理部における右ビットシフト量は、符号化方式に応じてそれぞれ設定可能であることを特徴とする請求項５〜１０のいずれかに記載の復号化回路。
【請求項１２】
前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定し、前記ブロック間相関関係を用いて予測方法を判定するか否かを示す情報に基づいて、判定した予測方法と、あらかじめ設定された所定の予測方法とのうちのいずれかを選択することを特徴とする請求項１記載の復号化回路。
【請求項１３】
前記判定処理部は、復号化対象となるブロックに隣接する隣接ブロックが予測に利用できるか否かに応じて予測方法を判定することを特徴とする請求項１２記載の復号化回路。
【請求項１４】
前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかを選択することを特徴とする請求項１２記載の復号化回路。
【請求項１５】
前記予測処理部は、前記係数値の種類に応じて前記予測処理部における演算を行うか否かを示す情報に基づいて、前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する演算を行った演算済み値と、前記演算を行わない非演算値とのいずれかを選択することを特徴とする請求項１に記載の復号化回路。
【請求項１６】
前記予測処理部によって得られるＤＣ係数及びＡＣ係数が所定の値以上又は所定の値以下である場合、前記ＤＣ係数及び前記ＡＣ係数を前記所定の値にクリッピングする飽和処理を行う飽和処理部をさらに備えることを特徴とする請求項１〜１５のいずれかに記載の復号化回路。
【請求項１７】
前記飽和処理部におけるクリッピングの範囲は、設定可能であることを特徴とする請求項１６記載の復号化回路。
【請求項１８】
前記飽和処理部は、前記ＤＣ係数に対して所定の演算を施すことで奇数化処理を行い、前記奇数化処理を行うか否かを示す情報に基づいて、前記奇数化処理を行った処理済み値と、前記奇数化処理を行っていない非処理値とのいずれかを選択することを特徴とする請求項１６記載の復号化回路。
【請求項１９】
画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化方法であって、
前記符号化データから、前記符号化データに関する情報である抽出情報を抽出する符号化情報抽出ステップと、
前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理ステップと、
前記係数選択処理ステップにおいて選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理ステップと、
前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理ステップと、
前記係数比較処理ステップにおいて求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理ステップと、
前記判定処理ステップにおいて判定された前記予測方法を用いて、前記符号化データに対して、前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理ステップと、
前記係数選択処理ステップ、前記係数演算処理ステップ、前記判定処理ステップ及び前記予測処理ステップのうち少なくとも２以上の処理ステップを指定し、前記抽出情報を用いて前記指定された少なくとも２以上の処理ステップを制御するための制御情報をそれぞれ生成し、前記生成された制御情報を前記指定された少なくとも２以上の処理ステップにそれぞれ設定することで、前記指定された少なくとも２以上の処理ステップの動作を個別に変更する制御ステップとを含むことを特徴とする復号化方法。
【請求項２０】
符号化データを取得する符号化データ取得部と、
前記符号化データ取得部によって取得された符号化データを復号化する前記請求項１記載の復号化回路と、
前記復号化回路によって復号化された画像データを出力する出力部とを備えることを特徴とする画像再生装置。
【手続補正書】
【提出日】平成21年2月25日(2009.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化回路であって、
前記符号化データから、前記符号化データに関する情報である抽出情報を抽出する符号化情報抽出部と、
前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部と、
前記復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理部と、
前記係数選択処理部によって選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理部と、
前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理部と、
前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理部と、
前記判定処理部によって判定された前記予測方法を用いて、前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理部と、
前記係数選択処理部、前記係数演算処理部、前記判定処理部及び前記予測処理部のうち少なくとも２以上の処理部を指定し、前記抽出情報を用いて前記指定された少なくとも２以上の処理部を制御するための制御情報をそれぞれ生成し、前記生成された制御情報を前記指定された少なくとも２以上の処理部にそれぞれ設定することで、前記指定された少なくとも２以上の処理部の動作を個別に変更する制御部とを備えることを特徴とする復号化回路。
【請求項２】
前記係数選択処理部は、前記隣接ブロックが利用可能であるか否かを示す情報に基づいて、前記隣接ブロック情報から得られるＤＣ係数及びＡＣ係数と、所定の定数値とのうちのいずれかの値を選択することを特徴とする請求項１記載の復号化回路。
【請求項３】
前記係数選択処理部によって選択される前記定数値は、設定可能であることを特徴とする請求項２記載の復号化回路。
【請求項４】
前記係数演算処理部は、
前記係数選択処理部によって選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、前記隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す第１の量子化スケール値を乗算する第１の乗算処理部と、
前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す第２の量子化スケール値を除算する除算処理部とを含むことを特徴とする請求項１記載の復号化回路。
【請求項５】
前記除算処理部は、
前記第２の量子化スケール値に応じた複数の逆数値を格納する逆数値格納部と、
前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して前記逆数値を乗算する第２の乗算処理部と、
前記第２の乗算処理部によって前記逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理を行う丸め処理部と、
前記丸め処理部によって前記丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理を行うシフト処理部とを含むことを特徴とする請求項４記載の復号化回路。
【請求項６】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかを選択することを特徴とする請求項５記載の復号化回路。
【請求項７】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記係数値の種類に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することを特徴とする請求項６記載の復号化回路。
【請求項８】
前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の量子化スケール値と前記第２の量子化スケール値との関係に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することを特徴とする請求項６記載の復号化回路。
【請求項９】
前記除算処理部は、前記逆数値格納部に格納された前記逆数値を補正する逆数値補正部をさらに含むことを特徴とする請求項５記載の復号化回路。
【請求項１０】
前記逆数値補正部は、前記逆数値格納部に格納されているあらかじめ定められた複数の逆数値に補正値を加算することを特徴とする請求項９記載の復号化回路。
【請求項１１】
前記第２の乗算処理部における前記逆数値、前記丸め処理部における丸め値、及び前記シフト処理部における右ビットシフト量は、符号化方式に応じてそれぞれ設定可能であることを特徴とする請求項５〜１０のいずれかに記載の復号化回路。
【請求項１２】
前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定し、前記ブロック間相関関係を用いて予測方法を判定するか否かを示す情報に基づいて、判定した予測方法と、あらかじめ設定された所定の予測方法とのうちのいずれかを選択することを特徴とする請求項１記載の復号化回路。
【請求項１３】
前記判定処理部は、復号化対象となるブロックに隣接する隣接ブロックが予測に利用できるか否かに応じて予測方法を判定することを特徴とする請求項１２記載の復号化回路。
【請求項１４】
前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかを選択することを特徴とする請求項１２記載の復号化回路。
【請求項１５】
前記予測処理部は、前記係数値の種類に応じて前記予測処理部における演算を行うか否かを示す情報に基づいて、前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する演算を行った演算済み値と、前記演算を行わない非演算値とのいずれかを選択することを特徴とする請求項１に記載の復号化回路。
【請求項１６】
前記予測処理部によって得られるＤＣ係数及びＡＣ係数が所定の値以上又は所定の値以下である場合、前記ＤＣ係数及び前記ＡＣ係数を前記所定の値にクリッピングする飽和処理を行う飽和処理部をさらに備えることを特徴とする請求項１〜１５のいずれかに記載の復号化回路。
【請求項１７】
前記飽和処理部におけるクリッピングの範囲は、設定可能であることを特徴とする請求項１６記載の復号化回路。
【請求項１８】
前記飽和処理部は、前記ＤＣ係数に対して所定の演算を施すことで奇数化処理を行い、前記奇数化処理を行うか否かを示す情報に基づいて、前記奇数化処理を行った処理済み値と、前記奇数化処理を行っていない非処理値とのいずれかを選択することを特徴とする請求項１６記載の復号化回路。
【請求項１９】
画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化方法であって、
前記符号化データから、前記符号化データに関する情報である抽出情報を抽出する符号化情報抽出ステップと、
前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理ステップと、
前記係数選択処理ステップにおいて選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理ステップと、
前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理ステップと、
前記係数比較処理ステップにおいて求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理ステップと、
前記判定処理ステップにおいて判定された前記予測方法を用いて、前記符号化データに対して、前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理ステップと、
前記係数選択処理ステップ、前記係数演算処理ステップ、前記判定処理ステップ及び前記予測処理ステップのうち少なくとも２以上の処理ステップを指定し、前記抽出情報を用いて前記指定された少なくとも２以上の処理ステップを制御するための制御情報をそれぞれ生成し、前記生成された制御情報を前記指定された少なくとも２以上の処理ステップにそれぞれ設定することで、前記指定された少なくとも２以上の処理ステップの動作を個別に変更する制御ステップとを含むことを特徴とする復号化方法。
【請求項２０】
符号化データを取得する符号化データ取得部と、
前記符号化データ取得部によって取得された符号化データを復号化する前記請求項１〜１８のいずれかに記載の復号化回路と、
前記復号化回路によって復号化された画像データを出力する出力部とを備えることを特徴とする画像再生装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の圧縮符号化処理によって生成された符号化データを復号化する復号化回路に関し、特に、符号化データに含まれる係数データに対して、直流成分であるＤＣ係数と交流成分であるＡＣ係数との両方に対して適応的に予測し、復号化を行う復号化回路、復号化方法及び画像再生装置に関するものである。
【背景技術】
【０００２】
近年、ネットワークの高速化や、パーソナルコンピュータ及びデジタルテレビジョン受信機などの一般家庭への急速な普及により、各種マルチメディアサービスが広く実用化されている。とりわけ、デジタル放送システムやインターネットを利用したコンテンツ配信システムなどでは、映像や音声などのコンテンツデータをＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式などの規格に基づいて圧縮符号化し、圧縮符号化したコンテンツデータである符号化データの断片をパケットとし、パケットの集合をストリーム信号として伝送したり、あるいはハードディスク、ＤＶＤ又はメモリカードなどに記録するような形態が一般的となっている。また、このようなストリーム信号を受け取る、パーソナルコンピュータ、セットトップボックス、携帯情報端末装置又は携帯電話機などの情報機器は、ストリーム信号に含まれる符号化データを抽出し、抽出した符号化データに対して復号化処理を施すことで、コンテンツデータを復元する。
【０００３】
このような、画像を圧縮符号化する方式として、静止画像を圧縮符号化する方式では、デジタルカメラなどに広く利用されているＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式がある。また、動画像を圧縮符号化する方式では、ＣＤ−ＲＯＭなどへ動画像を記録するＭＰＥＧ−１方式がある。これによって、例えば離散コサイン変換に基づく画像圧縮符号化手法などの基本技術が確立された。このような基本技術に基づき、例えばデジタル放送で利用されているＭＰＥＧ−２方式、インターネットを利用したコンテンツなどに利用されるＭＰＥＧ−４方式、そしてさらに高圧縮符号化を目的としたＭＰＥＧ−４ＡＶＣ方式などが画像信号を扱う分野で標準方式として利用されている。
【０００４】
このような画像圧縮符号化の基本アルゴリズムは、動き補償予測方式に、直交変換方式の１つである上述の離散コサイン変換方式を組み合わせたハイブリッド圧縮符号化方式である。ハイブリッド圧縮符号化方式では、画像に対して１画面内データそのものを離散コサイン変換したデータと、動き補償画面間予測したデータに対して離散コサイン変換したデータとの両方を組み合わせて画像圧縮符号化が行われる。
【０００５】
このような画像圧縮符号化において、離散コサイン変換は、所定数の画素で構成されるブロック単位で行われる。このブロックを構成する各画素データは、離散コサイン変換により、直流成分から高周波成分までの周波数ごとの振幅強度を示す複数の係数値へと変換される。このような各係数値は、まず、各圧縮符号化方式に基づいた手法で量子化されることで、量子化係数値へと変換される。さらに、各量子化係数値は、可変長符号化による圧縮率を向上させるため、各データの順序を示すスキャンパターンに応じて並び替えられる。その後、並び替えられた各量子化係数値は、順次、スキャンパターンの順序に従って可変長符号化処理が施される。
【０００６】
なお、このような可変長符号化として、先行するゼロの量子化係数値の個数であるランと、非ゼロの量子化係数値であるレベルとを組として一意的な符号を割り当ててデータの圧縮を図るランレベル符号化が用いられる。このようなアルゴリズムを基本として画像の圧縮符号化が行われ、上述のように圧縮された係数データを含む符号化データが生成される。
【０００７】
また、圧縮符号化により生成された符号化データに対し、その圧縮符号化に対応した復号化処理を行うことで元の画像を復元することができる。すなわち、符号化データに含まれるランとレベルとのデータから、スキャンパターンの順序に従った量子化係数値が復元される。さらに、圧縮符号化におけるスキャンパターンに対応したスキャンパターンデータに従って量子化係数値が並び替えられる。これにより、ブロック上の所定位置に配置されたそれぞれの量子化係数値が復元される。さらに、これら量子化係数値に対して逆量子化が行われ、逆量子化により復元された各係数値に対して逆離散コサイン変換が施されることで、ブロック単位の画素データが復元される。
【０００８】
また、ＭＰＥＧ−４方式などでは、これらの符号化処理に加え、さらに画面内予測を行うブロックの発生符号量を削減するための技術としてＤＣ／ＡＣ予測符号化と呼ばれる技術が採用されている。
【０００９】
図９は、ＤＣ／ＡＣ予測符号化について説明するための概念図である。図９に示すように、ＤＣ／ＡＣ予測符号化では、符号化対象ブロックの直流成分であるＤＣ係数と、交流成分である第１行又は第１列のＡＣ係数とを、符号化対象ブロックの上方に隣接するブロック（上隣接ブロック）、符号化対象ブロックの左方に隣接するブロック（左隣接ブロック）、又は上隣接ブロック及び左隣接ブロックの両方のブロックに基づいて予測し、その予測誤差のみを符号化することで符号化データ量を抑えている。このようなＤＣ／ＡＣ予測符号化の技術は、ＭＰＥＧ−４方式の他にもＨ．２６３方式など、複数の符号化方式で用いられている。
【００１０】
このようなＤＣ／ＡＣ予測符号化された符号化データに対してＤＣ／ＡＣ予測復号化を行うための様々な装置が提案されている。例えば、特許文献１では、ＭＰＥＧ−４方式に対応したＤＣ／ＡＣ予測処理を行うためのハードウェア装置が提案されている。
【特許文献１】特開２００１−１０３４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来の復号化回路のように、各種の画像符号化方式に対応させてそれぞれ個別に復号化回路を構成するような手法の場合、各画像符号化方式に対し個別にＤＣ／ＡＣ予測回路を設計する必要がある。そのため、回路規模が大きくなるとともに、例えば新たな画像符号化方式が提案された場合、迅速に対応することが難しく、復号化処理を行うためのＬＳＩ（大規模集積回路）の再設計が必要となるなどの課題があった。
【００１２】
本発明は、上記の問題を解決するためになされたもので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化装置、復号化方法及び画像再生装置を提供することを目的とするものである。
【課題を解決するための手段】
【００１３】
本発明の一局面に係る復号化回路は、画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化回路であって、供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部と、前記復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理部と、前記係数選択処理部によって選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理部と、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理部と、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理部と、前記判定処理部によって判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理部と、供給される前記符号化データの内容に応じて、前記係数選択処理部における選択方法、前記係数演算処理部における演算処理方法、前記判定処理部における判定方法及び前記予測処理部における予測処理方法のうちの一つ又は複数の方法を制御する制御部とを備える。
【００１４】
この構成によれば、復号化データ格納部には、供給される符号化データに対してブロック単位で復号化処理を行った復号化データが隣接ブロック情報として一時的に格納される。そして、係数選択処理部によって、復号化データ格納部に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数が選択される。係数演算処理部によって、係数選択処理部により選択されたＤＣ係数及びＡＣ係数に所定の演算処理が施され、係数比較処理部によって、係数演算処理部により所定の演算処理が施されたＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係が求められる。続いて、判定処理部によって、係数比較処理部により求められたブロック間相関関係を用いて予測方法が判定され、予測処理部によって、判定処理部により判定された予測方法を用いて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数が加算される。また、制御部によって、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御される。
【発明の効果】
【００１５】
本発明によれば、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御されるので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化装置を提供することができる。また、新たなＤＣ／ＡＣ予測処理方法を用いた符号化方式が提案されたとしても、符号化データに応じて各処理部の処理方法を変更することにより、新たなＤＣ／ＡＣ予測処理方法に迅速に対応することができ、復号化処理を行うためのＬＳＩなどの再設計も不要となる。
【００１６】
本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【発明を実施するための最良の形態】
【００１７】
以下添付図面を参照しながら、本発明の実施の形態について説明する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。
【００１８】
（実施の形態１）
図１は、本発明の実施の形態１における復号化回路の構成を示すブロック図である。本実施の形態では、画像データを圧縮符号化することにより生成された符号化データを含む符号化ストリームを取得し、符号化データから元の画像データを復元する復号化回路の一例について説明する。
【００１９】
図１に示すように、復号化回路には、符号化データを含む符号化ストリームが供給される。復号化回路に供給される符号化データは、画像の圧縮符号化処理により生成される。画像の圧縮符号化処理では、画像データが所定画素数のブロック単位で離散コサイン変換され、離散コサイン変換により生成されたブロックごとの各係数値が量子化される。そして、量子化により生成された各量子化係数値に対し、ＤＣ／ＡＣ予測符号化が行われる。すなわち、直流成分であるＤＣ係数と、交流成分である第１列又は第１行のＡＣ係数値とが、符号化対象ブロックの上方に隣接するブロック、符号化対象ブロックの左方に隣接するブロック、又は符号化対象ブロックの上方に隣接するブロック及び左方に隣接するブロックの両方のブロックに基づいて、予測される。生成された各量子化係数値は、所定のスキャンパターンに従って並び替えられ、並び替えられた量子化係数値に対して可変長符号化が施される。
【００２０】
本実施の形態における復号化回路は、このような画像圧縮符号化処理により生成された符号化データに対して、可変長符号化されたデータからスキャンパターンの順序に従った量子化係数値に対応する係数データを復元する。そして、復号化回路は、復元した係数データをスキャンパターンに従って並び替えることにより、ブロック上の所定位置に配置されたそれぞれの係数データを復元する。
【００２１】
また、復号化回路は、復元された係数データに対してＤＣ／ＡＣ予測処理を行う。すなわち、復号化回路は、復号化対象ブロックの直流成分であるＤＣ係数と、交流成分である第１列又は第１行のＡＣ係数とを、復号化対象ブロックの上方に隣接するブロック、復号化対象ブロックの左方に隣接するブロック、又は復号化対象ブロックの上方に隣接するブロック及び左方に隣接するブロックの両方のブロックに基づいて、予測する。
【００２２】
復号化回路は、このように復元したブロック内の各係数データに対して、逆量子化及び逆変換を施すことで、ブロック内の各画素に対応した画像データを復元する。復号化回路は、復元した画像データを復号化データとして出力する。
【００２３】
特に、本実施の形態における復号化回路は、画像の符号化方式として国際標準化機関で規格化された、動画像を対象としたＭＰＥＧ−４及びＨ．２６３方式などに対応可能な構成としている。また、本実施の形態における復号化回路は、特定の企業や国が独自に開発した画像符号化方式にも対応可能な構成としている。さらに、これらの画像符号化方式に加えて、本実施の形態における復号化回路は、将来提案される画像符号化方式に対しても対応可能な構成としている。
【００２４】
また、本実施の形態では、直交変換の１つである離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を用いる画像符号化方式により符号化された符号化データを復号化する例について説明するが、画像データから周波数ごとの成分を求めるような手法を用いた他の変換を利用する画像符号化方式に対しても対応可能であり、このような離散コサイン変換以外の変換を利用した符号化データを復号化する復号化回路であってもよい。
【００２５】
図１に示す復号化回路は、ＤＣ／ＡＣ予測処理部１、可変長復号化部２、符号化情報抽出部３、逆スキャン処理部４、逆量子化部５、逆変換部６及び制御部７を備える。
【００２６】
図１において、復号化回路に入力された符号化ストリームは、まず可変長復号化部２に供給される。可変長復号化部２は、供給された符号化ストリームに含まれる符号化データから量子化係数値及び以下で説明する抽出情報などを復元する。すなわち、供給された符号化データのうち、例えば量子化係数値は一般的にランレベル符号化されたデータで構成されている。そのため、まず、可変長復号化部２は、ゼロの量子化係数値の個数であるランデータと、非ゼロの量子化係数値であるレベルデータとを復元する。次に、可変長復号化部２は、復元したランデータとレベルデータとから、符号化処理におけるスキャンパターンの順序に従った１次元の量子化係数列を復元する。
【００２７】
可変長復号化部２は、このように復元した量子化係数値を係数データとして、順次、符号化情報抽出部３に供給する。同様に、可変長復号化部２は、量子化係数値以外の抽出情報についても復元し、符号化情報抽出部３に供給する。
【００２８】
次に、符号化情報抽出部３は、可変長復号化部２において復元したデータから、復号化処理を行うための符号化データに関する情報を抽出情報として抽出する。符号化情報抽出部３は、このような抽出情報として、符号化データの種別に関した情報としての符号化種別情報、ピクチャ情報及びマクロブロック情報などを抽出する。
【００２９】
このような抽出情報において、符号化種別情報は、符号化データを生成するのに用いられた画像符号化方式を示す情報である。ピクチャ情報は、現在供給されている符号化ピクチャの符号化方法などを示した情報であり、例えばピクチャ種別情報などが含まれる。ここでのピクチャ種別情報とは、現在供給されている符号化データが、例えばＭＰＥＧ方式において、Ｉピクチャと呼ばれる画面内符号化処理、Ｐピクチャと呼ばれる画面間前方予測符号化処理、及びＢピクチャと呼ばれる画面間双方向予測符号化処理のうちのどの処理により生成されたデータであるかを示す情報である。
【００３０】
同様に、マクロブロック情報は、現在供給されているマクロブロックの符号化方法などを示した情報である。マクロブロック情報には、例えば現在処理中のマクロブロックが画面内符号化であるイントラであるか、あるいは画面間符号化であるインター又は非イントラであるかを示す情報であるイントラ／インター符号化種別情報などが含まれる。
【００３１】
符号化情報抽出部３は、符号化ストリームから抽出した抽出情報を制御部７に通知する。また、符号化情報抽出部３は、可変長復号化部２が復元した係数データを順次、逆スキャン処理部４に供給する。
【００３２】
逆スキャン処理部４は、スキャンパターンの順序に従った１次元の係数データ列に対して、そのスキャンパターンに従って並び替えを行うことにより、２次元のブロック上の所定位置に配置された係数データを復元する。逆スキャン処理部４は、並び替えた係数データをＤＣ／ＡＣ予測処理部１に供給する。
【００３３】
ＤＣ／ＡＣ予測処理部１は、特にＭＰＥＧ−４方式及びＨ．２６３方式などに対応させるために設けている。ＭＰＥＧ−２方式などでは、イントラでの処理における各ブロックの直流成分（以下、ＤＣ成分と呼ぶ）だけを差分符号化する。これに対し、ＭＰＥＧ−４方式及びＨ．２６３方式では、ＤＣ成分と交流成分（以下、ＡＣ成分と呼ぶ）の両方に対して適応的に、復号化対象ブロックの上方に隣接するブロック、復号化対象ブロックの左方に隣接するブロック、又は復号化対象ブロックの上方に隣接するブロック及び左方に隣接するブロックの両方のブロックに基づいて予測符号化する。これにより、ＭＰＥＧ−４方式及びＨ．２６３方式では、イントラの各ブロックの符号化効率の改善を図っている。
【００３４】
このため、本実施の形態の復号化回路では、ＭＰＥＧ−４方式及びＨ．２６３方式のようにＤＣ／ＡＣ予測処理を利用した符号化方式の符号化データが供給されたとき、ＤＣ／ＡＣ予測処理部１は、まず、復号化処理の対象となるブロックに対する予測方向を判定するとともに、予測値を求める。
【００３５】
さらに、ＤＣ／ＡＣ予測処理部１は、予測方向及び予測値を利用して、供給された係数データのＤＣ成分及びＡＣ成分を復元する。その際、ＤＣ／ＡＣ予測処理部１は、制御部７によって設定された制御情報に従って予測復号化を行う。そして、ＤＣ／ＡＣ予測処理部１は、このようなＤＣ／ＡＣ予測処理を行った係数データを逆量子化部５に供給する。また、ＤＣ／ＡＣ予測処理部１は、ＤＣ／ＡＣ予測処理を利用していない符号化方式の符号化データが供給された時には、このようなＤＣ／ＡＣ予測処理を実施せず、逆スキャン処理部４から読み出した係数データを逆量子化部５に供給する。
【００３６】
次に、逆量子化部５は、ＤＣ／ＡＣ予測処理部１から供給された各係数データに対して逆量子化を行う。これによって、逆量子化部５は、各ブロックのブロック要素に対応づけられた係数値を復元する。逆量子化部５は、このように復元した係数値を順次、逆変換部６に供給する。
【００３７】
次に、逆変換部６は、逆量子化部５によって逆量子化された各係数値に対して、ブロック単位で、逆離散コサイン変換（以下、逆ＤＣＴ変換と呼ぶ）を施すことで、ブロック内の各画素に対応した画像データを復元する。このようにして逆変換部６により復元された画像データが復号化データとして出力される。
【００３８】
また、本実施の形態の復号化回路は、上記に記したように、各種の画像符号化方式に対応したＤＣ／ＡＣ予測処理を行う。そのため、制御部７は、符号化情報抽出部３によって抽出された抽出情報に基づいて、ＤＣ／ＡＣ予測処理に必要となる制御情報を生成するとともに、生成した制御情報をＤＣ／ＡＣ予測処理部１に設定する。
【００３９】
制御部７は、符号化情報抽出部３によって抽出された、符号化データに関する符号化種別情報、ピクチャ情報及びマクロブロック情報等の抽出情報に基づいて、ＤＣ／ＡＣ予測処理部１が各種の画像符号化方式に対応した処理を行うために必要となる、各種の制御情報を生成し、生成した各種の制御情報をＤＣ／ＡＣ予測処理部１に設定する。
【００４０】
このようにして、本実施の形態の復号化回路は、各種の符号化方式におけるＤＣ／ＡＣ予測処理に対応させた復号化処理を実行している。
【００４１】
次に本実施の形態の復号化回路におけるＤＣ／ＡＣ予測処理部１の構成の詳細について説明する。図２は、図１に示すＤＣ／ＡＣ予測処理部１の構成を示すブロック図である。
【００４２】
図２に示すように、ＤＣ／ＡＣ予測処理部１は、隣接ブロック情報バッファ１０と、係数選択処理部１１と、係数演算処理部１２と、係数比較処理部１３と、方向判定処理部１４と、予測処理部１５と、飽和処理部１６とを備える。
【００４３】
隣接ブロック情報バッファ１０は、すでに復号化されたブロックの情報を、以降に復号化するブロックのＤＣ／ＡＣ予測処理に用いるために一時的に保存する。すなわち、隣接ブロック情報バッファ１０は、供給される符号化データに対してブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する。
【００４４】
係数選択処理部１１は、隣接ブロック情報バッファ１０に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する。すなわち、係数選択処理部１１は、すでに復号化されたブロックの係数データあるいは所定の定数値の中から、復号化対象となるブロックに隣接するブロック（以下、隣接ブロックと呼ぶ）のＤＣ係数及びＡＣ係数として用いるデータを選択する。
【００４５】
係数演算処理部１２は、係数選択処理部１１から供給されるＤＣ係数及びＡＣ係数に所定の演算処理を施す。係数比較処理部１３は、係数演算処理部１２によって所定の演算処理が施されたＤＣ係数値に基づいて、水平方向及び垂直方向のブロック間相関関係を求める。すなわち、係数比較処理部１３は、係数演算処理部１２から供給された演算済みの隣接ブロックのＤＣ係数値から水平方向及び垂直方向のＤＣ係数値の勾配を求める。
【００４６】
方向判定処理部１４は、係数比較処理部１３によって求められたブロック間相関関係を用いて予測方法を判定する。すなわち、方向判定処理部１４は、係数比較処理部１３で求めたＤＣ係数の勾配などを用いて予測方法（予測方向）を判定する。
【００４７】
予測処理部１５は、方向判定処理部１４で判定した予測方法（予測方向）を用いて、逆スキャン処理部４から供給された符号化データに対し、係数演算処理部１２から供給される演算済みの隣接ブロックのＤＣ係数値及びＡＣ係数値を選択し加算することで係数を復元する。飽和処理部１６は、予測処理部１５から供給される係数値に対し、飽和処理などの後段処理を行う。
【００４８】
制御部７は、供給される符号化データの符号化方式に応じて、係数選択処理部１１における選択方法、係数演算処理部１２における演算処理方法、方向判定処理部１４における判定方法及び予測処理部１５における予測処理方法のうちの一つ又は複数の方法を制御する。それぞれの処理部は、選択方法、判定方法、演算処理方法又は予測処理方法を選択可能とした構成としている。
【００４９】
以下、図２に示されたＤＣ／ＡＣ予測処理部１を構成する各処理部の詳細な構成について説明する。
【００５０】
隣接ブロック情報バッファ１０は、ＤＣ／ＡＣ予測処理部１により、すでに復号化されたブロックの情報を一時的に保存するためのバッファである。隣接ブロック情報バッファ１０は、復号化対象となるブロックに隣接するブロックの情報を格納する。すなわち、隣接ブロック情報バッファ１０は、すでに復号化されたブロックの係数データ、及びマクロブロックなどのブロックごとに定めた量子化幅を示す量子化スケール値などを隣接ブロック情報として格納する。
【００５１】
係数選択処理部１１は、ＤＣ／ＡＣ予測処理に用いる隣接ブロックのＤＣ係数値及びＡＣ係数値として、隣接ブロック情報バッファ１０から読み出したＤＣ係数値及びＡＣ係数値、又は所定の定数値から選択する。すなわち、係数選択処理部１１は、特に、ＭＰＥＧ−４方式などにおいて、隣接ブロックが利用できなかった場合、隣接ブロックのＤＣ係数値及びＡＣ係数値の代わりに所定の定数値を代用する処理を実現するために設けられている。係数選択処理部１１には、制御部７によって制御情報として係数選択情報が設定される。
【００５２】
係数選択情報は、復号化対象となるブロックの上、左及び左上に隣接するブロックが予測情報として利用可能か否かを示す隣接ブロック利用可能情報、及び、利用不可能であった場合、参照するブロックのＤＣ係数値及びＡＣ係数値の代用として使用する所定の定数値を示す既定ＤＣ係数値情報及び既定ＡＣ係数値情報などを含む。
【００５３】
係数選択処理部１１は、これら係数選択情報に従い、隣接ブロックが利用可能であれば隣接ブロック情報バッファ１０から読み出したＤＣ係数値及びＡＣ係数値を隣接ブロックのＤＣ係数値及びＡＣ係数値として選択し、隣接ブロックが利用不可能であれば既定ＤＣ係数値情報及び既定ＡＣ係数値情報を隣接ブロックのＤＣ係数値及びＡＣ係数値として選択する。選択された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数演算処理部１２に供給される。このとき制御部７は、係数選択処理部１１に対し、隣接ブロックが利用可能であるか否かを指示する。
【００５４】
上記のように、係数選択処理部１１によって選択される定数値は、制御部７からの指示に基づき、設定可能である。すなわち、隣接ブロックが利用できなかった場合、隣接ブロックのＤＣ係数値及びＡＣ係数値の代わりに所定の定数値が代用されるが、この所定の定数値は、符号化方式に応じて異なる値が適用される可能性がある。そこで、制御部７は、係数選択処理部１１において選択される所定の定数値を、符号化方式に応じた値（既定ＤＣ係数値及び既定ＡＣ係数値）に設定する。
【００５５】
このように、係数選択処理部１１によって選択される定数値が設定可能であるので、符号化方式に応じた所定の定数値をＤＣ係数及びＡＣ係数の代わりとして設定することができる。なお、係数選択処理部１１は、ＤＣ係数及びＡＣ係数のそれぞれに対応する定数値を設定することが可能である。
【００５６】
係数演算処理部１２は、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値に対し、所定の演算処理を施す。ＤＣ／ＡＣ予測処理を行う際に、隣接ブロックの量子化スケール値と、復号化対象であるブロックの量子化スケール値とが異なる場合、隣接するブロックから復号化対象ブロックのＤＣ係数及びＡＣ係数を効率よく予測復号化することができない。そのため、係数演算処理部１２は、それぞれのブロックの係数のスケールを合わせるための演算（以下、“スケーリング演算”と呼ぶ）を施す。スケーリング演算は、隣接ブロックのＤＣ係数値及びＡＣ係数値に対し、隣接ブロックの量子化スケール値を乗算した後、復号化対象ブロックの量子化スケール値で除算することで行われる。
【００５７】
このようなスケーリング演算を実現するための一例として、本実施の形態の復号化回路における係数演算処理部１２は、第１の乗算器１２０と、除算処理部１２５とを備える。第１の乗算器１２０は、係数選択処理部１１によって選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す量子化スケール値（以下、第１の量子化スケール値と呼ぶ）を乗算する。除算処理部１２５は、第１の乗算器１２０によって第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す量子化スケール値（以下、第２の量子化スケール値と呼ぶ）で除算する。
【００５８】
除算処理部１２５は、第２の乗算器１２１と、丸め演算器１２２と、シフト演算器１２３と、逆数テーブル１２４とを備える。第２の乗算器１２１は、第１の乗算器１２０によって第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象ブロックの第２の量子化スケール値の逆数値を乗算する。丸め演算器１２２は、第２の乗算器１２１によって逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理を行う。
【００５９】
シフト演算器１２３は、丸め演算器１２２によって丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理を行う。逆数テーブル１２４は、復号化対象ブロックの第２の量子化スケール値に応じた複数の逆数値を格納する。このように、本実施の形態の復号化回路における係数演算処理部１２では、スケーリング演算における除算処理を、除数の逆数を乗算することで実現している。
【００６０】
係数演算処理部１２には、制御部７によって制御情報として係数演算情報が設定される。係数演算情報は、スケーリング演算における各演算を実施するか否かを示すスケーリング演算実施有無情報、量子化スケール値が取りうる範囲のそれぞれの値の逆数を示す逆数値情報、及び逆数値の精度を示す逆数値精度情報などを含む。係数演算処理部１２は、係数演算情報に従い、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値に対しスケーリング演算を施す。
【００６１】
制御部７は、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３に対して、それぞれ所定の演算を行うか否かを指示する。第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３は、演算を行った演算済み値と、演算を行わない非演算値とのいずれかを選択する。
【００６２】
また、制御部７は、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３に対して、係数値（係数データ）の種類に応じて、それぞれ所定の演算を行うか否かを指示する。そして、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３は、係数値（係数データ）の種類に応じて、演算済み値と非演算値とのいずれかを選択する。例えば、Ｈ．２６３方式ではＭＰＥＧ−４方式と異なり、隣接ブロックに対するスケーリング演算は行われない。そのため、係数データの種類、すなわち、係数データがどのような符号化方式で符号化されているかに応じて、係数演算処理部１２内の各処理部が演算処理を行うか否かを選択することができる。
【００６３】
すなわち、第１の乗算器１２０は、スケーリング演算実施有無情報により隣接ブロックの第１の量子化スケール値による乗算処理を行うと設定された場合、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値に対し、隣接ブロック情報バッファ１０から読み出した隣接ブロックの第１の量子化スケール値を乗算し、第２の乗算器１２１へ出力する。また逆に、第１の乗算器１２０は、スケーリング演算実施有無情報により隣接ブロックの第１の量子化スケール値による乗算処理を行わないと設定された場合、何も演算処理を行わず、係数選択処理部１１から供給された隣接ブロックのＤＣ係数値及びＡＣ係数値を、第２の乗算器１２１へそのまま出力する。
【００６４】
第２の乗算器１２１は、スケーリング演算実施有無情報により復号化対象ブロックの第２の量子化スケール値による除算処理を行うと設定された場合、第１の乗算器１２０から供給されたＤＣ係数値及びＡＣ係数値に対し、復号化対象ブロックの第２の量子化スケール値に従い逆数テーブル１２４から読み出した逆数値を乗算し、丸め演算器１２２へ出力する。また逆に、第２の乗算器１２１は、スケーリング演算実施有無情報により復号化対象ブロックの第２の量子化スケール値による除算処理を行わないと設定された場合、何も演算処理を行わず、第１の乗算器１２０から供給されたＤＣ係数値及びＡＣ係数を、丸め演算器１２２へそのまま出力する。
【００６５】
丸め演算器１２２は、スケーリング演算実施有無情報により丸め処理を行うと設定された場合、第２の乗算器１２１から供給されたＤＣ係数値及びＡＣ係数値に対し、逆数値精度情報に従った丸め値を加算し、シフト演算器１２３へ出力する。また逆に、丸め演算器１２２は、スケーリング演算実施有無情報により丸め処理を行わないと設定された場合、何も演算処理を行わず、第２の乗算器１２１から供給されたＤＣ係数値及びＡＣ係数値を、シフト演算器１２３へそのまま出力する。
【００６６】
シフト演算器１２３は、スケーリング演算実施有無情報により右ビットシフト処理を行うと設定された場合、丸め演算器１２２から供給されたＤＣ係数値及びＡＣ係数値に対し、逆数値精度情報に従った右ビットシフト処理を行う。また逆に、シフト演算器１２３は、スケーリング演算実施有無情報により右ビットシフト処理を行わないと設定された場合、何も演算処理を行わず、丸め演算器１２２から供給されたＤＣ係数値及びＡＣ係数値をそのまま出力する。
【００６７】
逆数テーブル１２４は、例えばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリで構成され、逆数値情報によって設定された第２の量子化スケール値の逆数値が格納される。例えば、ＭＰＥＧ−４方式などでは、第２の量子化スケール値として用いられるｄｃ＿ｓｃａｌｅｒの値は“１”〜“４６”までの値を取りうる。そのため、逆数テーブル１２４には、これらの値の逆数値がそれぞれ格納される。また、ここで用いる第２の量子化スケール値の逆数値は、符号化方式などに応じて必要な演算精度が異なる場合があるため、必要な演算精度を満たすように逆数値情報により設定が行われる。逆数テーブル１２４は、復号化対象ブロックの第２の量子化スケール値に応じた逆数値を、第２の乗算器１２１へ供給する。
【００６８】
以上のように係数演算処理部１２では、スケーリング演算における隣接ブロックの第１の量子化スケール値による乗算処理と、復号化対象ブロックの第２の量子化スケール値による除算処理とが実現される。係数演算処理部１２によってスケーリング演算が施された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数比較処理部１３及び予測処理部１５に供給される。
【００６９】
なお、本実施の形態では、係数演算処理部１２における各演算は、係数演算情報（スケーリング演算実施有無情報）により演算するか否かを切り替える構成としているが、本発明は特にこれに限定されない。制御部７は、第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３に対して、第１の量子化スケール値と第２の量子化スケール値との関係に応じて所定の演算を行うか否かを指示してもよい。第１の乗算器１２０、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３は、第１の量子化スケール値と第２の量子化スケール値との関係に応じて、演算済み値と非演算値とのいずれかを選択してもよい。
【００７０】
具体的には、復号化対象となるブロックの第２の量子化スケール値と、隣接ブロックの第１の量子化スケール値とが等しい場合、スケーリング演算を行わなくても復号化効率が低下することはない。そのため、係数演算処理部１２は、復号化対象となるブロックの第２の量子化スケール値及び隣接ブロックの第１の量子化スケール値、又はそれらに準じる情報の内容に応じて、各演算を行うか否かを切り替える構成であってもよい。
【００７１】
また、制御部７は、第２の乗算器１２１における逆数値、丸め演算器１２２における丸め値、及びシフト演算器１２３における右ビットシフト量をそれぞれ設定してもよい。この場合、制御部７は、係数値（係数データ）の種類に応じて、逆数値、丸め値及び右ビットシフト量を決定し、第２の乗算器１２１、丸め演算器１２２及びシフト演算器１２３に設定する。
【００７２】
係数比較処理部１３は、係数演算処理部１２から供給されるスケーリング演算が施された複数の隣接ブロックのＤＣ係数値を比較することで、水平方向及び垂直方向のブロック間の相関関係を求める。
【００７３】
具体的には、係数比較処理部１３は、まず復号化対象となるブロックの左上に隣接するブロックのＤＣ係数値と、復号化対象となるブロックの左に隣接するブロックのＤＣ係数値との差分を求めた後、その差分の絶対値を求めることで、垂直方向相関度を求める。垂直方向相関度は、復号化対象となるブロックの周辺が垂直方向にどれだけ強い相関関係を持つかを表しており、値が小さいほど相関関係が強いことを示している。
【００７４】
次に、係数比較処理部１３は、復号化対象となるブロックの左上に隣接するブロックのＤＣ係数値と、復号化対象となるブロックの上に隣接するブロックのＤＣ係数値との差分を求めた後、その差分の絶対値を求めることで、水平方向相関度を求める。水平方向相関度は、復号化対象となるブロックの周辺が水平方向にどれだけ強い相関関係を持つかを表しており、値が小さいほど相関関係が強いことを示している。
【００７５】
さらに、係数比較処理部１３は、このようにして求めた垂直方向相関度と水平方向相関度とを比較することで、垂直方向と水平方向のどちらの方向の相関関係が強いかを判定する。すなわち、垂直方向相関度よりも水平方向相関度の方が小さければ水平方向の相関関係が強く、また逆に、水平方向相関度よりも垂直方向相関度の方が小さければ垂直方向の相関関係が強いことが分かる。また、水平方向相関度と垂直方向相関度が同じ値であれば、水平方向と垂直方向で同程度の相関関係を持つことが分かる。判定結果は、係数比較結果情報として方向判定処理部１４に供給される。
【００７６】
方向判定処理部１４は、係数比較処理部１３から供給される係数比較結果情報、及び制御部７より制御情報として設定される方向判定情報などから、ＤＣ／ＡＣ予測処理における予測方向及び予測方法を判定する。制御部７より設定される方向判定情報は、係数比較処理部１３で求めた係数比較結果情報を用いて予測方向及び予測方法を決定するのか、あるいは所定の定められた予測方向及び予測方法に従ってＤＣ／ＡＣ予測処理を行うのかを示す予測方法決定情報、及び、係数比較処理部１３で求めた係数比較結果情報を用いて予測方向及び予測方法を決定する場合、どのような法則に従って予測方向及び予測方法を決定するかを示す予測方法判定情報などを含む。
【００７７】
方向判定処理部１４は、方向判定情報の内容に従い、係数比較処理部１３で求めた係数比較結果情報から予測方向及び予測方法を判定するのか、あるいはＨ．２６３方式で規定されるＩＮＴＲＡ＿ＭＯＤＥシンタックスのような抽出情報により直接指定された予測方向及び予測方法を用いるかの切り替え制御が可能なように構成されている。
【００７８】
例えば、係数比較処理部１３で求めた係数比較結果情報を用いず、直接指定された予測方向及び予測方法を用いると予測方法決定情報によって設定された場合、方向判定処理部１４は、予測方法決定情報で設定された内容を、そのまま予測方向及び予測方法として決定する。このとき制御部７は、方向判定処理部１４に対し、予測方法決定情報として、予測方向及び予測方法を直接指示する。
【００７９】
また、例えば逆に、係数比較処理部１３で求めた係数比較結果情報から予測方向及び予測方法を判定すると予測方法決定情報によって設定された場合、方向判定処理部１４は、係数比較処理部１３で求めた係数比較結果情報と、制御部７より設定された予測方法判定情報とを用いて予測方向及び予測方法の判定を行うように動作する。この場合、例えば係数比較結果情報において垂直方向相関度よりも水平方向相関度の方が小さかった場合、方向判定処理部１４は、垂直方向よりも水平方向の相関関係が強いとして、復号化対象となるブロックの左に隣接するブロックより予測するよう予測方向を決定する。また、係数比較結果情報において水平方向相関度よりも垂直方向相関度の方が小さかった場合、方向判定処理部１４は、水平方向よりも垂直方向の相関関係が強いとして、復号化対象となるブロックの上に隣接するブロックより予測するよう予測方向を決定する。
【００８０】
また、係数比較結果情報において水平方向相関度と垂直方向相関度が等しかった場合は、水平方向と垂直方向の相関関係は同程度であり、例えばＭＰＥＧ−４方式などにおいては、水平方向と垂直方向との相関関係が等しい場合は左方向から予測を行うように規定されている。しかしながら、将来提案されるような符号化方式においては、水平方向と垂直方向との相関関係が等しい場合、別の予測方向及び予測方法を用いる可能性が考えられる。このような将来の符号化方式に対応するための一例として、本実施の形態の復号化回路における方向判定処理部１４は、水平方向と垂直方向との相関関係が等しい場合、制御部７から設定される予測方法判定情報に従って予測方向及び予測方法を決定する構成としている。
【００８１】
このとき制御部７は、方向判定処理部１４に対し、予測方法決定情報として、係数比較処理部１３によって求められたブロック間相関関係を用いて予測方法を判定するよう指示する。また、制御部７は、方向判定処理部１４に対し、予測方法決定情報として、係数比較処理部１３によって求められたブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかを指示する。
【００８２】
なお、復号化対象となるブロックの上又は左に隣接するブロックが利用できない場合、該当のブロックから効率よく予測することができない。そのため、将来提案される符号化方式においては、利用可能な隣接ブロックから固定的に予測方法を決定することも考えられる。このような符号化方式に対応可能とするため、予測方法判定情報は隣接ブロックが利用できない場合の予測方向及び予測方法を指定するような構成であってもよい。
【００８３】
このように決定された予測方向及び予測方法は、予測情報として予測処理部１５に供給される。
【００８４】
予測処理部１５は、逆スキャン処理部４から供給された係数データに対して、係数演算処理部１２から供給される隣接ブロックのＤＣ係数値及びＡＣ係数値を加算し、復号化対象となるブロックのＤＣ係数及びＡＣ係数を復元する。予測処理部１５には、制御部７より制御情報として予測制御情報が設定される。予測制御情報は、ＡＣ係数値に対して予測処理を行うか否かを示すＡＣ係数予測実施有無情報などを含む。予測処理部１５は、予測制御情報及び方向判定処理部１４から供給される予測情報に従い、ＤＣ係数及びＡＣ係数を復元する。このとき制御部７は、予測処理部１５に対し、係数値の種類に応じて予測処理部１５における演算を行うか否かを指示する。
【００８５】
すなわち、例えば予測情報により、復号化対象となるブロックの上に隣接するブロックから予測を行うと指定された場合、予測処理部１５は、まず逆スキャン処理部４から供給された係数データのＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数値を加算し、ＤＣ係数を復元する。
【００８６】
またさらに、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施すると設定された場合、予測処理部１５は、続けて逆スキャン処理部４から供給された係数データの第１行のＡＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックの第１行のＡＣ係数値を加算し、ＡＣ係数を復元する。また逆に、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施しないと設定された場合、予測処理部１５は、逆スキャン処理部４から供給された係数データの第１行のＡＣ係数に対しては何も処理を行わない。
【００８７】
以上、その他の予測情報が指定された場合の詳細な説明については省略するが、上述の説明と同様に、制御部７より設定された予測制御情報及び方向判定処理部１４から供給される予測情報に従い、ＤＣ係数及びＡＣ係数の復元が行われる。このようにして復元されたＤＣ係数及びＡＣ係数は、飽和処理部１６へ供給される。
【００８８】
以上のように、予測処理部１５は、供給された符号化データに対して、係数演算処理部１２によって所定の演算処理が施されたＤＣ係数及びＡＣ係数を加算する演算を行った演算済み値と、演算を行わない非演算値とのいずれかを係数値の種類に応じて選択する。
【００８９】
飽和処理部１６は、予測処理部１５より供給されたＤＣ係数値及びＡＣ係数値が所定の値以上又は所定の値以下である場合、ＤＣ係数値及びＡＣ係数値を所定の値にクリッピングする飽和処理を行う。
【００９０】
加えて、本実施の形態の飽和処理部１６は、予測処理部１５より供給されたＤＣ係数値に対して所定の演算を施すことで奇数化処理を行う。これは特に、Ｈ．２６３方式で規定されているｏｄｄｉｆｙｃｌｉｐＤＣ（）関数にて行われる奇数化処理を実現するために設けている。この奇数化処理は、符号化器と復号化器との逆ＤＣＴの演算方式の違いによって、それぞれで復号化した画像が異なり、その結果誤りが蓄積する逆ＤＣＴミスマッチ問題に対応するために行われる処理である。例えばＨ．２６３方式の場合では、復元されたＤＣ係数値が偶数の場合、その値に１を加算して奇数化する演算処理が行われる。
【００９１】
飽和処理部１６には、制御部７より制御情報として飽和制御情報が設定される。飽和制御情報は、クリッピングの範囲及びクリッピングを実施するか否かを示すクリッピング制御情報、及び奇数化処理を行うか否かを示す奇数化処理実施有無情報などを含む。このとき制御部７は、クリッピング制御情報により飽和処理部１６におけるクリッピングの範囲を設定する。また、制御部７は、飽和処理部１６に対し、ＤＣ係数に対して所定の演算を施すことで奇数化処理を行うか否かを指示する。
【００９２】
例えば、奇数化処理実施有無情報により奇数化処理を行わないと設定された場合、飽和処理部１６は、奇数化処理を行わないように動作する。また、例えば逆に、奇数化処理実施有無情報により奇数化処理を行うと設定された場合、飽和処理部１６は、復元されたＤＣ係数値に対して奇数化処理を行う。また、例えば、クリッピング制御情報により、クリッピング処理を行わないと設定された場合、飽和処理部１６は、飽和処理を行わず、予測処理部１５より供給されたＤＣ係数値及びＡＣ係数値をそのまま出力する。また、例えば、クリッピング制御情報により、所定の範囲にクリッピング処理を行うと設定された場合、飽和処理部１６は、予測処理部１５より供給されたＤＣ係数値及びＡＣ係数値が設定された範囲内に収まるように飽和処理を行う。
【００９３】
以上のように、飽和処理部１６は、ＤＣ係数に対して所定の演算を施すことで奇数化処理を行い、奇数化処理を行った処理済み値と、奇数化処理を行っていない非処理値とのいずれかを選択してもよい。
【００９４】
以上のように飽和処理部１６にて処理が行われたＤＣ係数値及びＡＣ係数値は、ＤＣ／ＡＣ予測処理部１から逆量子化部５に供給されるとともに、復号化対象となるブロック以降のブロックにおいて隣接ブロック情報として用いるため、隣接ブロック情報バッファ１０に書き込まれる。
【００９５】
また、制御部７は、ＤＣ／ＡＣ予測処理部１に対して、別途、復号化対象となるマクロブロック又はブロックがイントラ符号化されているかインター符号化されているかを表す制御情報として、イントラ／インター情報を設定する。
【００９６】
イントラ／インター情報に従い、復号化対象となるマクロブロック又はブロックがイントラ符号化されている場合、ＤＣ／ＡＣ予測処理部１は、各処理部におけるＤＣ／ＡＣ予測処理を行うように動作する。一方、復号化対象となるマクロブロック又はブロックがインター符号化されている場合、ＤＣ／ＡＣ予測処理部１は、各処理部におけるＤＣ／ＡＣ予測処理を行わず、逆スキャン処理部４から供給されたＤＣ係数及びＡＣ係数を、そのまま逆量子化部５へ出力する。
【００９７】
本実施の形態の復号化回路は、以上説明したような構成であり、このような構成により、単一の回路で各種の画像符号化方式におけるＤＣ／ＡＣ予測処理に対応させて復号化処理を行うことができる。
【００９８】
なお、本実施の形態において、隣接ブロック情報バッファ１０が復号化データ格納部の一例に相当し、係数選択処理部１１が係数選択処理部の一例に相当し、係数演算処理部１２が係数演算処理部の一例に相当し、係数比較処理部１３が係数比較処理部の一例に相当し、方向判定処理部１４が判定処理部の一例に相当し、予測処理部１５が予測処理部の一例に相当し、制御部７が制御部の一例に相当し、第１の乗算器１２０が第１の乗算処理部の一例に相当し、除算処理部１２５が除算処理部の一例に相当し、逆数テーブル１２４が逆数値格納部の一例に相当し、第２の乗算器１２１が第２の乗算処理部の一例に相当し、丸め演算器１２２が丸め処理部の一例に相当し、シフト演算器１２３がシフト処理部の一例に相当し、飽和処理部１６が飽和処理部の一例に相当する。
【００９９】
次に、各画像符号化方式において規定されるＤＣ／ＡＣ予測処理の詳細について図３から図６を用いて説明する。まず、ＭＰＥＧ−４方式におけるＤＣ／ＡＣ予測処理の詳細について説明する。
【０１００】
図３は、ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。図３に示すように、ＭＰＥＧ−４方式では、復号化対象となるブロックを“ブロックＸ”と定義し、復号化対象となるブロックの左に隣接するブロックを“ブロックＡ”と定義し、左上に隣接するブロックを“ブロックＢ”と定義し、上に隣接するブロックを“ブロックＣ”と定義している。復号化対象となるブロックＸのＤＣ係数及び第１列又は第１行のＡＣ係数は、ブロックＡ又はブロックＣに基づいて予測が行われる。
【０１０１】
図４は、ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。図４において、記号ＰＱＦはＤＣ／ＡＣ予測処理を行う前の係数値を表し、記号ＱＦはＤＣ／ＡＣ予測処理を行った後の係数値を表し、記号ＦはＤＣ／ＡＣ予測処理後の係数値に対し、さらに逆量子化処理を行った後の係数値を表し、記号ｄｃ＿ｓｃａｌｅｒはＤＣ係数に対する量子化スケール値を表し、記号ＱＰはＡＣ係数に対する量子化スケール値を表している。また、それぞれの記号に付与された添え字はそれがどのブロックに属しているかを表し、その後に続くインデックスは係数値のブロック内での位置を表している。例えば、ＦＡ［０］［０］は、ブロックＡにおける逆量子化後のＤＣ係数値を示している。
【０１０２】
ＭＰＥＧ−４方式では、復号化対象となるブロックＸを上方向すなわちブロックＣから予測するか、左方向すなわちブロックＡから予測するかは、すでに復号化された隣接ブロックの逆量子化済みのＤＣ係数値から、垂直方向及び水平方向の相関関係を求めることで判定される。すなわち、（｜ＦＡ［０］［０］−ＦＢ［０］［０］｜＜｜ＦＢ［０］［０］−ＦＣ［０］［０］｜）であれば、垂直方向の相関関係が強いとしてブロックＣから予測する。
【０１０３】
また、それ以外、すなわち、（｜ＦＡ［０］［０］−ＦＢ［０］［０］｜≧｜ＦＢ［０］［０］−ＦＣ［０］［０］｜）であれば、ブロックＡから予測する。このように、ＭＰＥＧ−４方式では（｜ＦＡ［０］［０］−ＦＢ［０］［０］｜＝｜ＦＢ［０］［０］−ＦＣ［０］［０］｜）である場合、左方向であるブロックＡから予測するように規定されている。このようにして判定された予測方向に従い、ブロックＸのＤＣ係数及び第１列又は第１行のＡＣ係数の予測が行われる。
【０１０４】
ＤＣ係数の予測は、ブロックＡ又はブロックＣの逆量子化済みのＤＣ係数値ＦＡ［０］［０］又はＦＣ［０］［０］をブロックＸの量子化スケール値ｄｃ＿ｓｃａｌｅｒで除算した値を、ブロックＸのＤＣ係数値ＰＱＦＸ［０］［０］に加算することで行われる。ブロックＡ又はブロックＣの逆量子化済みのＤＣ係数値ＦＡ［０］［０］又はＦＣ［０］［０］は、ＤＣ／ＡＣ予測処理後の係数値であるＱＦＡ［０］［０］又はＱＦＣ［０］［０］に対しブロックＡ又はブロックＣの量子化スケール値ｄｃ＿ｓｃａｌｅｒを乗算することで得られる値である。すなわち、ブロックＡ又はブロックＣのＤＣ／ＡＣ予測処理後の係数値であるＱＦＡ［０］［０］又はＱＦＣ［０］［０］に対してスケーリング演算が行われることを意味している。なお、図４における記号“／／”は丸め付きの除算であることを示している。
【０１０５】
一方、ＡＣ係数値の予測は、ブロックＡ又はブロックＣのＤＣ／ＡＣ予測処理後のＡＣ係数値ＱＦＡ［ｖ］［０］又はＱＦＣ［０］［ｕ］にブロックＡ又はブロックＣの量子化スケール値ＱＰＡ又はＱＰＣを乗算し、かつブロックＸの量子化スケール値ＱＰＸで除算した値を、ブロックＸのＡＣ係数値ＰＱＦＸ［ｖ］［０］又はＰＱＦＸ［０］［ｕ］に加算することで行われる。このように、ＤＣ係数値の予測と同様、ブロックＡ又はブロックＣのＤＣ／ＡＣ予測処理後の係数値ＱＦＡ［ｖ］［０］又はＱＦＣ［０］［ｕ］に対しても、スケーリング演算が行われる。ただし、符号化ストリームに含まれるａｃ＿ｐｒｅｄ＿ｆｌａｇ情報が“０”の場合、ＡＣ係数に対する予測は行われず、ＤＣ係数の予測のみが行われる。なお、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報は、ＡＣ係数に対する予測を行うか否かを表す情報である。
【０１０６】
なお、復号化対象となるブロックに隣接するブロックが利用できない場合、逆量子化処理を行った後のＤＣ係数値を表す記号Ｆ［０］［０］の代わりに、定数値（２ｂｉｔｓ＿ｐｅｒ＿ｐｉｘｅｌ＋２）が用いられる。ｂｉｔｓ＿ｐｅｒ＿ｐｉｘｅｌは多くの場合、“８”であるため、ここでは“１０２４”が定数値として用いられる。また同様に、ＤＣ／ＡＣ予測処理を行った後のＡＣ係数値ＱＦＡ［ｖ］［０］及びＱＦＣ［０］［ｕ］の代わりに、定数値“０”が用いられる。ここで、隣接ブロックが利用できない場合とは、隣接ブロックがＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）又はビデオパケットの境界外にある場合、あるいは隣接ブロックがイントラ符号化されていない場合を示している。
【０１０７】
このようにしてＤＣ／ＡＣ予測処理が行われた係数値に対し、最後に飽和処理が行われる。ＭＰＥＧ−４方式における飽和処理は、係数値を−２０４８〜２０４７の範囲にクリッピングすることで行われる。
【０１０８】
なお、ＭＰＥＧ−４方式では符号化ストリームを復号化した結果、ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報と呼ばれる内部フラグの導出が行われる。ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報は、ＤＣ／ＡＣ予測処理を行うか否かを表す情報を含む。ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“１”であった場合、ここで説明したＤＣ／ＡＣ予測処理は行われない。ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“０”であった場合、ＤＣ／ＡＣ予測処理は行われる。
【０１０９】
次に、Ｈ．２６３方式におけるＤＣ／ＡＣ予測処理の詳細について説明する。
【０１１０】
Ｈ．２６３方式では、符号化のための基本となる技術に加え、性能向上や機能向上を目的とした複数の選択可能なオプションツールが規定されており、そのオプションツールのひとつとして、拡張イントラ符号化モードがＡＮＮＥＸ  Ｉとして定義されている。拡張イントラ符号化モードは、イントラ符号化されたマクロブロックの符号化方法に修正を加えることで符号化効率の向上を図ったもので、ＤＣ／ＡＣ予測処理を含む複数の手法が用いられている。この拡張イントラ符号化モードの使用が通知された場合にＤＣ／ＡＣ予測処理が行われる。
【０１１１】
図５は、Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。図５に示すように、Ｈ．２６３方式では、復号化対象となるブロックを“ブロックＣ”と定義し、復号化対象となるブロックの左に隣接するブロックを“ブロックＢ”と定義し、上に隣接ブロックを“ブロックＡ”と定義している。復号化対象となるブロックＣのＤＣ係数及び第１列又は第１行のＡＣ係数は、ブロックＡ又はブロックＢから予測される。
【０１１２】
図６は、Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。図６において、記号ＲｅｃＣはＤＣ／ＡＣ予測処理を行う前のブロックＣの係数値を示し、記号ＲｅｃＣ’はＤＣ／ＡＣ予測処理を行った後のブロックＣの係数値を示している。同様に、記号ＲｅｃＡ’はＤＣ／ＡＣ予測処理を行った後のブロックＡの係数値を示し、記号ＲｅｃＢ’はＤＣ／ＡＣ予測処理を行った後のブロックＢの係数値を示している。また、記号ｃｌｉｐＡＣ（）は−２０４８〜２０４７の範囲にクリッピングを行う関数を示している。さらに、記号ｏｄｄｉｆｙｃｌｉｐＤＣ（）は、対象の値が偶数だった場合に１を加算する奇数化処理を行ってから０〜２０４７の範囲にクリッピングを行い、対象の値が奇数だった場合にそのまま０〜２０４７の範囲にクリッピングを行う関数を示している。
【０１１３】
Ｈ．２６３方式では、復号化対象となるブロックＣのＤＣ係数及び第１列又は第１行のＡＣ係数をどのように予測するかの予測方法がＩＮＴＲＡ＿ＭＯＤＥ情報と呼ばれる抽出情報によって与えられる。このＩＮＴＲＡ＿ＭＯＤＥ情報としては、予測モード０〜予測モード２の３つのモードが規定されており、マクロブロック内の各ブロックは指定された予測モードでＤＣ／ＡＣ予測処理が行われる。
【０１１４】
予測モード０は、ＤＣ係数のみを予測するモードであり、ブロックＡのＤＣ係数とブロックＢのＤＣ係数との平均値からブロックＣのＤＣ係数が予測される。なお、図６に示されるように、ブロックＡのみが利用できない場合はブロックＢから予測が行われ、ブロックＢのみが利用できない場合はブロックＡから予測が行われ、ブロックＡとブロックＢとがともに利用できない場合は定数値“１０２４”を用いて予測が行われる。ここで、隣接ブロックが利用できない場合とは、隣接ブロックが同じビデオピクチャセグメントに含まれていない場合、あるいは隣接ブロックがイントラ符号化されていない場合を示している。
【０１１５】
予測モード１は、ＤＣ係数及び第１行のＡＣ係数をブロックＡから予測するモードである。なお、ブロックＡが利用できない場合、ブロックＡのＤＣ係数として定数値“１０２４”を、ブロックＡのＡＣ係数として定数値“０”を用いて予測が行われる。
【０１１６】
予測モード２は、ＤＣ係数及び第１列のＡＣ係数をブロックＢから予測するモードである。予測モード１同様に、ブロックＢが利用できない場合、ブロックＢのＤＣ係数として定数値“１０２４”を、ブロックＢのＡＣ係数として定数値“０”を用いて予測が行われる。
【０１１７】
ここまでで見たように、Ｈ．２６３方式ではＭＰＥＧ−４方式と異なり、隣接ブロックに対するスケーリング演算は行われない。これは、Ｈ．２６３方式におけるＤＣ／ＡＣ予測処理が逆量子化を行った後に行われ、ブロック間の量子化スケールの差を考慮する必要がないためである。
【０１１８】
このようにしてＤＣ／ＡＣ予測処理が行われた係数値に対し、最後に飽和処理が行われる。Ｈ．２６３方式における飽和処理は、上述したｏｄｄｉｆｙｃｌｉｐＤＣ（）関数及びｃｌｉｐＡＣ（）関数により行われる。
【０１１９】
次に、本実施の形態の復号化回路の詳細な動作について説明する。
【０１２０】
まず、ＭＰＥＧ−４方式に基づいて符号化された符号化データに対しての復号化処理の動作例について説明する。
【０１２１】
まず、復号化回路に符号化ストリームが供給されると、可変長復号化部２は、符号化ストリームに含まれている符号化データを復元する。符号化情報抽出部３は、システムデータなどから復号化処理を行うための符号化データに関する情報を抽出情報として抽出する。すなわち、この動作例の場合、符号化情報抽出部３は、まず、供給される符号化データがＭＰＥＧ−４方式に基づき生成された符号化データであることを検出し、符号化種別がＭＰＥＧ−４方式であるとする符号化種別情報を制御部７に通知する。また、符号化情報抽出部３は、符号化ストリームの内容からｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報、及びイントラ／インター情報などを抽出し、抽出した情報を制御部７に通知する。
【０１２２】
制御部７は、このような符号化情報抽出部３からの抽出情報に応じて、ＤＣ／ＡＣ予測処理に必要となる制御情報を生成し、生成した制御情報を各部に設定する。この動作例では、ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“０”であると判定された場合、ＤＣ／ＡＣ予測処理を行うものとして、制御部７は、ＤＣ／ＡＣ予測処理部１に対してイントラ／インター情報を設定するとともに、動作を指定する制御情報を各処理部に対して設定する。
【０１２３】
すなわち、制御部７は、復号化対象となるブロックの上、左及び左上に隣接するブロックがＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）又はビデオパケットの境界外にあるか否か、あるいは隣接ブロックがイントラ符号化されているか否かに基づいて、該当の隣接ブロックが利用可能か否かを判定する。制御部７は、判定結果を隣接ブロック利用可能情報として係数選択処理部１１に設定する。
【０１２４】
また、制御部７は、隣接ブロックが利用できない場合に係数値の代用として使用する所定の定数値として、“１０２４”を既定ＤＣ係数値情報として設定し、“０”を既定ＡＣ係数値情報として設定する。
【０１２５】
また、制御部７は、予測方向の判定に用いるＤＣ係数に対するスケーリング演算、及び、予測処理に用いるＤＣ係数及びＡＣ係数に対するスケーリング演算を実施するか否かを表すスケーリング実施有無情報を係数演算処理部１２に設定する。すなわち、制御部７は、予測方向の判定に用いるＤＣ係数に対しては、第１の乗算器１２０における乗算処理を行うとし、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算を行わないとするスケーリング実施有無情報を設定する。
【０１２６】
一方、制御部７は、予測処理に用いるＤＣ係数及びＡＣ係数に対しては、第１の乗算器１２０における乗算処理、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算をいずれも行うとするスケーリング実施有無情報を設定する。また、詳細な値についての説明は省略するが、制御部７は、スケーリング演算に用いる量子化スケール値として取りうる“１”〜“４６”の値の逆数を逆数値情報として設定し、スケーリング演算における除算に必要なビット精度を逆数値精度情報として設定する。
【０１２７】
また、制御部７は、係数比較処理部１３で求めた係数比較結果情報を用いて予測方向を決定するとした予測方法決定情報を方向判定処理部１４に設定し、水平方向と垂直方向との相関関係が等しい場合、左方向から予測を行うとする予測方法判定情報を方向判定処理部１４に設定する。
【０１２８】
また、制御部７は、符号化ストリームから抽出したａｃ＿ｐｒｅｄ＿ｆｌａｇ情報に基づいて、ＡＣ係数の予測を行うか否かを表すＡＣ係数予測実施有無情報を予測処理部１５に設定する。すなわち、制御部７は、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報が“０”の場合にはＡＣ係数の予測を行わないとするＡＣ係数予測実施有無情報を設定し、ａｃ＿ｐｒｅｄ＿ｆｌａｇ情報が“１”の場合にはＡＣ係数の予測を行うとするＡＣ係数予測実施有無情報を設定する。
【０１２９】
また、制御部７は、奇数化処理を行うための奇数化処理実施有無情報を飽和処理部１６に設定するとともに、ＤＣ係数値及びＡＣ係数値を“−２０４８”から“２０４７”の範囲に収まるようにクリッピングするためのクリッピング制御情報を飽和処理部１６に設定する。
【０１３０】
一方、ｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“１”であると判定された場合、詳細な設定内容の説明は省略するが、制御部７は、ＤＣ／ＡＣ予測処理を行わないようＤＣ／ＡＣ予測処理部１に対して制御情報の設定を行う。ここまで説明したように、まず制御部７は、ＤＣ／ＡＣ予測処理部１がＭＰＥＧ−４方式に基づき生成された符号化データを処理するように制御情報を設定する。
【０１３１】
次に、上述したように制御情報が設定されたＤＣ／ＡＣ予測処理部１の詳細な動作について説明する。なお、ここでは特にｓｈｏｒｔ＿ｖｉｄｅｏ＿ｈｅａｄｅｒ情報が“０”であると判定され、かつイントラ／インター情報により復号化対象となるマクロブロック又はブロックがイントラ符号化されていると設定された場合の動作について説明する。
【０１３２】
まず、係数選択処理部１１に、符号化対象であるブロックの上、左及び左上に隣接するブロックのＤＣ係数及びＡＣ係数が供給される。係数選択処理部１１は、制御部７によって設定された隣接ブロック利用可能情報に従い、供給された隣接ブロックのＤＣ係数値及びＡＣ係数値、又は、既定ＤＣ係数値情報又は既定ＡＣ係数値情報として設定された定数値“１０２４”又は“０”を選択する。すなわち、隣接ブロック利用可能情報により隣接ブロックが利用可能であると設定されている場合、係数選択処理部１１は、該当ブロックのＤＣ係数及びＡＣ係数を選択する。また、隣接ブロック利用可能情報により隣接ブロックが利用不可能であると設定されている場合、係数選択処理部１１は、定数値“１０２４”又は“０”を、該当ブロックのＤＣ係数又はＡＣ係数として選択する。このようにして選択された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数演算処理部１２に供給される。
【０１３３】
係数演算処理部１２は、スケーリング実施有無情報、逆数値情報及び逆数値精度情報に従い、供給される隣接ブロックのＤＣ係数及びＡＣ係数に対してスケーリング演算処理を行う。すなわち、予測方向の判定に用いるＤＣ係数を求める際は、第１の乗算器１２０における乗算処理のみが行われる。これは、ＤＣ／ＡＣ予測処理後の係数値に対し、さらに逆量子化処理を行った後の係数値を求める処理に相当する。
【０１３４】
同様に、予測処理に用いるＤＣ係数及びＡＣ係数を求める際は、第１の乗算器１２０における乗算処理、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算を全て行う。ここで、第２の乗算器１２１における乗算処理、丸め演算器１２２による丸め処理及びシフト演算器１２３によるシフト演算では、逆数値情報と逆数値精度情報とを用いて、量子化スケールによる除算に相当する処理が行われる。このようにして得られた予測方向の判定に用いるＤＣ係数は係数比較処理部１３に供給され、予測処理に用いるＤＣ係数及びＡＣ係数は予測処理部１５に供給される。
【０１３５】
係数比較処理部１３は、復号化対象のブロックの左、左上及び上に隣接するブロックのスケーリング演算済みのＤＣ係数値に基づいて、水平方向及び垂直方向のブロック間の相関関係を係数比較結果情報として求める。求められた係数比較結果情報は、方向判定処理部１４に供給される。
【０１３６】
方向判定処理部１４は、制御部７によって設定された予測方法決定情報に従い、係数比較処理部１３で求めたＤＣ係数値の差分値から予測方向の判定を行う。すなわち、係数比較結果情報において垂直方向相関度よりも水平方向相関度の方が小さかった場合、方向判定処理部１４は、垂直方向よりも水平方向の相関関係が強いとして、復号化対象となるブロックの左に隣接するブロックに基づいて予測するよう予測方向を決定する。また、係数比較結果情報において水平方向相関度よりも垂直方向相関度の方が小さかった場合、方向判定処理部１４は、水平方向よりも垂直方向の相関関係が強いとして、復号化対象となるブロックの上に隣接するブロックに基づいて予測するよう予測方向を決定する。
【０１３７】
また、係数比較結果情報において水平方向相関度と垂直方向相関度とが等しかった場合、方向判定処理部１４は、制御部７によって設定された予測方法判定情報により、復号化対象となるブロックの左に隣接するブロックに基づいて予測するよう予測方向を決定する。このようにして決定した予測方向は、予測情報として予測処理部１５に供給される。
【０１３８】
予測処理部１５は、逆スキャン処理部４から供給された符号化データに対して、方向判定処理部１４で決定された予測情報及び制御部７によって設定されたＡＣ係数予測実施有無情報に従い、係数演算処理部１２から供給される隣接するブロックのＤＣ係数値及びＡＣ係数値を選択して加算することで、ＤＣ係数及びＡＣ係数を復元する。具体的には、方向判定処理部１４より供給された予測情報によって、復号化対象となるブロックの上に隣接するブロックから予測を行うと指定された場合、予測処理部１５は、まず逆スキャン処理部４から供給されたＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数値を加算し、ＤＣ係数を復元する。
【０１３９】
またさらに、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施すると設定された場合、予測処理部１５は、続けて逆スキャン処理部４から供給された第１行のＡＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックの第１行のＡＣ係数の値を加算し、ＡＣ係数を復元する。
【０１４０】
また逆に、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施しないと設定された場合、予測処理部１５は、逆スキャン処理部４から供給された第１行のＡＣ係数に対して何も処理を行わない。一方、方向判定処理部１４より供給された予測情報によって、復号化対象となるブロックの左に隣接するブロックから予測を行うと指定された場合、予測処理部１５は、同様に復号化対象となるブロックの左に隣接するブロックからＤＣ係数及び第１列のＡＣ係数の復元を行う。このようにして復元されたＤＣ係数値及びＡＣ係数値は、飽和処理部１６に供給される。
【０１４１】
飽和処理部１６は、制御部７によって設定された奇数化処理実施有無情報に従い奇数化処理は行わない。飽和処理部１６は、制御部７によって設定されたクリッピング制御情報に従い、予測処理部１５によって復元されたＤＣ係数値及びＡＣ係数値がそれぞれ所定の定数値内に収まるようにクリッピングする飽和処理のみを行う。すなわち、飽和処理部１６は、ＤＣ係数値及びＡＣ係数値が“−２０４８”以下の場合には、“−２０４８”とする値にクリッピングし、“２０４７”以上の場合には、“２０４７”とする値にクリッピングする飽和処理を行う。
【０１４２】
なお、本実施の形態では、予測方向の判定に用いるための、逆量子化処理を行った後のＤＣ係数値を得るため、ＤＣ／ＡＣ予測処理部１内の第１の乗算器１２０は乗算処理を行っているが、逆量子化部５の出力結果を受け取って使用するような構成としてもよい。
【０１４３】
次に、Ｈ．２６３方式に基づいて符号化された符号化データに対しての復号化処理の動作例について説明する。
【０１４４】
ＭＰＥＧ−４方式と同様、まず本復号化回路に符号化ストリームが供給されると、可変長復号化部２は、符号化ストリームに含まれている符号化データを復元する。符号化情報抽出部３は、システムデータなどから復号化処理を行うための符号化データに関する情報を抽出情報として抽出する。すなわち、この動作例の場合、符号化情報抽出部３は、まず、供給される符号化データがＨ．２６３方式に基づき生成された符号化データであることを検出し、符号化種別がＨ．２６３方式であるとする符号化種別情報を制御部７に通知する。また、符号化情報抽出部３は、符号化ストリームの内容からＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用するか否かを表す情報や、ＩＮＴＲＡ＿ＭＯＤＥ情報、及びイントラ／インター情報などを抽出し、抽出した情報を制御部７に通知する。
【０１４５】
制御部７は、このような符号化情報抽出部３からの抽出情報に応じて、ＤＣ／ＡＣ予測処理に必要となる制御情報を生成し、生成した制御情報を各部に設定する。この動作例では、ＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用すると通知された場合、ＤＣ／ＡＣ予測処理を行うものとして、制御部７は、ＤＣ／ＡＣ予測処理部１に対してイントラ／インター情報を設定するとともに、動作を指定する制御情報を各処理部に対して設定する。
【０１４６】
すなわち、制御部７は、復号化対象となるブロックの上及び左に隣接するブロックが同じビデオピクチャセグメントに含まれているか否か、あるいは隣接ブロックがイントラ符号化されているか否かに基づいて、該当の隣接ブロックが利用可能か否かを判定する。制御部７は、判定結果を隣接ブロック利用可能情報として係数選択処理部１１に設定する。
【０１４７】
また、制御部７は、隣接ブロックが利用できない場合に係数値の代用として使用する所定の定数値として、“１０２４”を既定ＤＣ係数値情報として設定し、“０”を既定ＡＣ係数値情報として設定する。
【０１４８】
また、制御部７は、いずれの係数についてもスケーリング演算を行わないとする情報をスケーリング実施有無情報として係数演算処理部１２に設定する。また、制御部７は、係数比較処理部１３で求めた係数比較結果情報を用いず、符号化ストリームから抽出したＩＮＴＲＡ＿ＭＯＤＥ情報に従った予測を行うとする情報を予測方法決定情報として方向判定処理部１４に設定する。
【０１４９】
また、制御部７は、符号化ストリームから抽出したＩＮＴＲＡ＿ＭＯＤＥ情報に基づいて、ＡＣ係数の予測を行うか否かを表すＡＣ係数予測実施有無情報を予測処理部１５に設定する。すなわち、制御部７は、ＩＮＴＲＡ＿ＭＯＤＥ情報が予測モード０の場合にはＡＣ係数の予測を行わないとするＡＣ係数予測実施有無情報を予測処理部１５に設定し、ＩＮＴＲＡ＿ＭＯＤＥ情報が予測モード１又は予測モード２の場合にはＡＣ係数の予測を行うとするＡＣ係数予測実施有無情報を予測処理部１５に設定する。
【０１５０】
また、制御部７は、奇数化処理を行うための奇数化処理実施有無情報を飽和処理部１６に設定するとともに、ＤＣ係数値を“０”から“２０４７”の範囲に、ＡＣ係数値を“−２０４８”から“２０４７”の範囲に収まるようにクリッピングするためのクリッピング制御情報を飽和処理部１６に設定する。
【０１５１】
一方、ＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用しないと通知された場合、制御部７は、ＤＣ／ＡＣ予測処理を行わないようＤＣ／ＡＣ予測処理部１に対して制御情報の設定を行う。ここまで説明したように、まず制御部７は、ＤＣ／ＡＣ予測処理部１がＨ．２６３方式に基づき生成された符号化データを処理するように制御情報を設定する構成になっている。
【０１５２】
次に、上述したように制御情報が設定されたＤＣ／ＡＣ予測処理部１の詳細な動作について説明する。なお、ここでは特にＡＮＮＥＸ  Ｉで規定される拡張イントラ符号化モードを使用し、かつイントラ／インター情報により復号化対象となるマクロブロック又はブロックがイントラ符号化されていると設定された場合の動作について説明する。
【０１５３】
まず、係数選択処理部１１に、符号化対象であるブロックの上及び左に隣接するブロックのＤＣ係数及びＡＣ係数が供給される。係数選択処理部１１は、制御部７によって設定された隣接ブロック利用可能情報に従い、供給された隣接ブロックのＤＣ係数値及びＡＣ係数値、又は、既定ＤＣ係数値情報又は既定ＡＣ係数値情報として設定された定数値“１０２４”又は“０”を選択する。すなわち、隣接ブロック利用可能情報により隣接ブロックが利用可能であると設定されている場合、係数選択処理部１１は、該当ブロックのＤＣ係数及びＡＣ係数を選択する。また、隣接ブロック利用可能情報により隣接ブロックが利用不可能であると設定されている場合、係数選択処理部１１は、定数値“１０２４”又は“０”を、該当ブロックのＤＣ係数又はＡＣ係数として選択する。このようにして選択された隣接ブロックのＤＣ係数値及びＡＣ係数値は、係数演算処理部１２に供給される。
【０１５４】
係数演算処理部１２は、スケーリング実施有無情報によってスケーリング演算を行わないと設定されているため、係数選択処理部１１から供給されたＤＣ係数及びＡＣ係数に対して何も処理を行わず、そのまま予測処理部１５に供給する。
【０１５５】
係数比較処理部１３は、予測方法決定情報によってＩＮＴＲＡ＿ＭＯＤＥ情報で指定される予測モードを用いて予測方向を決定すると設定されているため、水平方向及び垂直方向のブロック間の相関関係を求めない。従って、Ｈ．２６３方式の場合、係数比較処理部１３の動作は未定義である。
【０１５６】
方向判定処理部１４は、制御部７によって設定された予測方法決定情報に従い、ＩＮＴＲＡ＿ＭＯＤＥ情報に従って予測を行うとする予測情報を予測処理部１５に供給する。
【０１５７】
予測処理部１５は、逆スキャン処理部４から供給された符号化データに対して、方向判定処理部１４で決定された予測情報及び制御部７によって設定されたＡＣ係数予測実施有無情報に従い、係数演算処理部１２から供給される隣接するブロックのＤＣ係数値及びＡＣ係数値を選択して加算することで、ＤＣ係数及びＡＣ係数を復元する。具体的には、方向判定処理部１４より供給された予測情報により、ＩＮＴＲＡ＿ＭＯＤＥ情報における予測モード０で予測を行うと指定された場合、予測処理部１５は、逆スキャン処理部４から供給されたＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数と左に隣接するブロックのＤＣ係数との平均値を加算し、ＤＣ係数を復元する。
【０１５８】
なお、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を実施しないと設定されているため、予測処理部１５は、逆スキャン処理部４から供給されたＡＣ係数に対して何も処理を行わない。
【０１５９】
また、ＩＮＴＲＡ＿ＭＯＤＥ情報における予測モード１で予測を行うと指定された場合、予測処理部１５は、まず逆スキャン処理部４から供給されたＤＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックのＤＣ係数値を加算し、ＤＣ係数を復元する。また、ＡＣ係数予測実施有無情報によりＡＣ係数の予測を行うと設定されているため、予測処理部１５は、続けて逆スキャン処理部４から供給された第１行のＡＣ係数に対して、係数演算処理部１２から供給された復号化対象となるブロックの上に隣接するブロックの第１行のＡＣ係数値を加算し、ＡＣ係数を復元する。
【０１６０】
また、ＩＮＴＲＡ＿ＭＯＤＥ情報における予測モード２で予測を行うと指定された場合、予測処理部１５は、上記と同様に、逆スキャン処理部４から供給されたＤＣ係数及び第１列のＡＣ係数に対して、復号化対象となるブロックの左に隣接するブロックのＤＣ係数値及び第１列のＡＣ係数値を加算し、ＤＣ係数及び第１列のＡＣ係数を復元する。このようにして復元されたＤＣ係数値及びＡＣ係数値は、飽和処理部１６に供給される。
【０１６１】
飽和処理部１６は、制御部７によって設定された奇数化処理実施有無情報に従いＤＣ係数に対する奇数化処理を行う。また、飽和処理部１６は、制御部７によって設定されたクリッピング制御情報に従い、復元されたＤＣ係数値及びＡＣ係数値がそれぞれ所定の定数値内に収まるようにクリッピングする飽和処理を行う。すなわち、飽和処理部１６は、ＤＣ係数値が“０”以下の場合には、“０”とする値にクリッピングし、“２０４７”以上の場合には、“２０４７”とする値にクリッピングする飽和処理を行う。また、飽和処理部１６は、ＡＣ係数値が“−２０４８”以下の場合には、“−２０４８”とする値にクリッピングし、“２０４７”以上の場合には、“２０４７”とする値にクリッピングする飽和処理を行う。
【０１６２】
本実施の形態の復号化回路におけるＤＣ／ＡＣ予測処理部１は上記に説明したような構成であり、符号化情報抽出部３によって抽出された抽出情報に基づいて、制御部７によって各種の画像符号化方式に応じた制御情報が生成され、その制御情報が係数選択処理部１１、係数演算処理部１２、係数比較処理部１３、方向判定処理部１４、予測処理部１５及び飽和処理部１６の各処理部に設定される。そして、各処理部は、その設定された制御情報に従って処理を行うように動作する。
【０１６３】
このような構成により、単一の回路で各種の画像符号化方式におけるＤＣ／ＡＣ予測処理に対応させて復号化処理を行うことができるＤＣ／ＡＣ予測回路を実現している。
【０１６４】
なお、以上の説明では、ＤＣ／ＡＣ予測処理部１に設定する制御情報を、制御部７ですべて生成し、その制御情報が各処理部に設定されるような実施の形態について説明している。しかしながら、このような実施の形態では制御部７の処理量が増大する虞がある。そのため、例えば、符号化情報抽出部３によって抽出される抽出情報のうち、ピクチャレベルなどの比較的低頻度で出現する情報のみを制御部７に供給し、マクロブロックレベルなどの比較的高頻度で出現する情報は、ＤＣ／ＡＣ予測処理部１あるいはそれに準じる処理部に供給し、制御部７を介することなく制御情報を生成及び設定する構成であってもよい。
【０１６５】
（実施の形態２）
次に、本発明の実施の形態２における復号化回路について説明する。図７は、本発明の実施の形態２におけるＤＣ／ＡＣ予測処理部の構成を示すブロック図である。なお、図７に示す実施の形態２における復号化回路について、図２に示す実施の形態１における復号化回路と同じ構成については同じ符号を付して説明を省略し、異なる構成についてのみ説明する。また、実施の形態２における復号化回路全体の構成は、図１に示す復号化回路全体の構成と同じである。
【０１６６】
実施の形態１では、逆数テーブル１２４をＳＲＡＭなどのメモリで構成し、テーブルの内容を逆数値情報によって設定するとしているが、本発明は特にこれに限定されない。本実施の形態では、あらかじめ定められた十分な精度を有する逆数値をＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：読み出し専用メモリ）に保持する構成としている。また、逆数テーブル１２４は、保持された逆数値を、逆数値精度情報に従って有限の桁数で切り出して出力する構成としている。これは、符号化方式に応じてスケーリング演算で行う除算に必要な演算精度が異なる場合があるためである。
【０１６７】
ただし、この場合、逆数値を有限の桁数で切り出すことによる演算誤差が発生する可能性がある。そこで、その演算誤差を補正するため、除算処理部１２５は、逆数値補正部１２６をさらに備える。逆数値補正部１２６は、例えば加算器で構成され、逆数テーブル１２４に格納された逆数値を補正する。具体的に、逆数値補正部１２６は、逆数テーブル１２４で格納されているあらかじめ定められた逆数値を読み出し、読み出した逆数値に補正値を加算する。逆数値補正部１２６は、補正値が加算された逆数値を新たな逆数値として第２の乗算器１２１へ出力する。補正値は、係数演算情報の一部として、制御部７によって設定される。
【０１６８】
このように、逆数値補正部１２６によって、逆数テーブル１２４に格納された逆数値が補正されるので、補正された逆数値を用いて高精度に演算処理を行うことができる。また、逆数テーブル１２４をＲＡＭではなくＲＯＭで構成することにより、回路規模の削減を図ることができる。
【０１６９】
なお、本実施の形態において、逆数値補正部１２６が逆数値補正部の一例に相当する。
【０１７０】
また、実施の形態２における復号化回路の動作は、係数選択処理部１１において定数値が変更可能であること、及び逆数テーブル１２４に格納される逆数値が補正可能であること以外は、実施の形態１における復号化回路の動作と同じであるので説明を省略する。
【０１７１】
（実施の形態３）
図８は、本発明の実施の形態３における画像再生装置の構成を示すブロック図である。なお、画像再生装置は、例えば、パーソナルコンピュータ、セットトップボックス、光ディスクレコーダ、光ディスクプレーヤ、テレビ、携帯情報端末装置及び携帯電話機を含む。
【０１７２】
図８に示す画像再生装置１００は、符号化ストリーム取得部１０１、復号化回路１０２及び出力部１０３を備える。符号化ストリーム取得部１０１は、符号化ストリームを取得する。なお、符号化ストリーム取得部１０１は、ネットワークを介して符号化ストリームを取得したり、ＤＶＤ、Ｂｌｕ−ｒａｙディスク等の光ディスクを読み取ることにより符号化ストリームを取得したり、アンテナを介して放送波から符号化ストリームを取得したりする。
【０１７３】
復号化回路１０２は、実施の形態１又は２で述べた復号化回路である。復号化回路１０２は、符号化ストリーム取得部１０１によって取得された符号化ストリームから画像圧縮符号化処理により生成された符号化データを抽出し、抽出した符号化データを復号化する。出力部１０３は、復号化回路１０２によって復号化された画像データをモニタ１１０に出力する。モニタ１１０は、出力部１０３によって出力された画像データを表示する。
【０１７４】
画像再生装置１００は、実施の形態１又は２で述べたいずれかの復号化回路を搭載しているので、本実施の形態における画像再生装置１００は、単一回路で各種の符号化方式に対応した復号化を行うことができる。
【０１７５】
また、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１７６】
すなわち、本実施の形態の復号化回路を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）に含まれるとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩである。
【０１７７】
また、上記の回路を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１７８】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＬＳＩ、スーパーＬＳＩ又はウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【０１７９】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１８０】
また、本発明は、上記に示す復号化方法であるとしてもよい。また、この復号化方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、上記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１８１】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）及び半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。
【０１８２】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線通信回線、有線通信回線、インターネットを代表とするネットワーク又はデータ放送等を経由して伝送するものとしてもよい。
【０１８３】
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしてもよい。
【０１８４】
また、上記プログラム又は上記デジタル信号を上記記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１８５】
また、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１８６】
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
【０１８７】
本発明の一局面に係る復号化回路は、画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化回路であって、供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部と、前記復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理部と、前記係数選択処理部によって選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理部と、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理部と、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理部と、前記判定処理部によって判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理部と、供給される前記符号化データの内容に応じて、前記係数選択処理部における選択方法、前記係数演算処理部における演算処理方法、前記判定処理部における判定方法及び前記予測処理部における予測処理方法のうちの一つ又は複数の方法を制御する制御部とを備える。
【０１８８】
この構成によれば、復号化データ格納部には、供給される符号化データに対してブロック単位で復号化処理を行った復号化データが隣接ブロック情報として一時的に格納される。そして、係数選択処理部によって、復号化データ格納部に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数が選択される。係数演算処理部によって、係数選択処理部により選択されたＤＣ係数及びＡＣ係数に所定の演算処理が施され、係数比較処理部によって、係数演算処理部により所定の演算処理が施されたＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係が求められる。続いて、判定処理部によって、係数比較処理部により求められたブロック間相関関係を用いて予測方法が判定され、予測処理部によって、判定処理部により判定された予測方法を用いて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数が加算される。また、制御部によって、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御される。
【０１８９】
したがって、供給される符号化データの内容に応じて、係数選択処理部における選択方法、係数演算処理部における演算処理方法、判定処理部における判定方法及び予測処理部における予測処理方法のうちの一つ又は複数の方法が制御されるので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化装置を提供することができる。また、新たなＤＣ／ＡＣ予測処理方法を用いた符号化方式が提案されたとしても、符号化データに応じて各処理部の処理方法を変更することにより、新たなＤＣ／ＡＣ予測処理方法に迅速に対応することができ、復号化処理を行うためのＬＳＩなどの再設計も不要となる。
【０１９０】
また、上記の復号化回路において、前記係数選択処理部は、前記隣接ブロックが利用可能であるか否かを示す情報に基づいて、前記隣接ブロック情報から得られるＤＣ係数及びＡＣ係数と、所定の定数値とのうちのいずれかの値を選択することが好ましい。
【０１９１】
この構成によれば、係数選択処理部によって、隣接ブロックが利用可能であるか否かを示す情報に基づいて、隣接ブロック情報から得られるＤＣ係数及びＡＣ係数と、所定の定数値とのうちのいずれかの値が選択されるので、隣接ブロックが利用できなかった場合に所定の定数値をＤＣ係数及びＡＣ係数の代わりとして用いて復号化処理を行うことができる。
【０１９２】
また、上記の復号化回路において、前記係数選択処理部によって選択される前記定数値は、設定可能であることが好ましい。この構成によれば、係数選択処理部によって選択される定数値が設定可能であるので、符号化方式に応じた所定の定数値をＤＣ係数及びＡＣ係数の代わりとして設定することができる。
【０１９３】
また、上記の復号化回路において、前記係数演算処理部は、前記係数選択処理部によって選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、前記隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す第１の量子化スケール値を乗算する第１の乗算処理部と、前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す第２の量子化スケール値を除算する除算処理部とを含むことが好ましい。
【０１９４】
この構成によれば、第１の乗算処理部によって、係数選択処理部により選択された隣接ブロックのＤＣ係数及びＡＣ係数に対して、隣接ブロックのＤＣ係数及びＡＣ係数が含まれるブロックの量子化幅を示す第１の量子化スケール値が乗算される。そして、除算処理部によって、第１の乗算処理部により第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して、復号化対象となるブロックの量子化幅を示す第２の量子化スケール値が除算される。
【０１９５】
したがって、スケーリング演算における、隣接ブロックの第１の量子化スケール値による乗算処理と、復号化対象ブロックの第２の量子化スケール値による除算処理とを実現することができる。
【０１９６】
また、上記の復号化回路において、前記除算処理部は、前記第２の量子化スケール値に応じた複数の逆数値を格納する逆数値格納部と、前記第１の乗算処理部によって前記第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して前記逆数値を乗算する第２の乗算処理部と、前記第２の乗算処理部によって前記逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理を行う丸め処理部と、前記丸め処理部によって前記丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理を行うシフト処理部とを含むことが好ましい。
【０１９７】
この構成によれば、逆数値格納部には、第２の量子化スケール値に応じた複数の逆数値が格納されている。そして、第２の乗算処理部によって、第１の乗算処理部により第１の量子化スケール値が乗算されたＤＣ係数及びＡＣ係数に対して逆数値が乗算される。次に、丸め処理部によって、第２の乗算処理部により逆数値が乗算されたＤＣ係数及びＡＣ係数に対して丸め値を加算することで丸め処理が行われる。その後、シフト処理部によって、丸め処理部により丸め処理が行われたＤＣ係数及びＡＣ係数に対して所定のシフト量だけ右ビットシフト処理が行われる。
【０１９８】
したがって、ＤＣ係数及びＡＣ係数に対して、第２の量子化スケール値に応じた逆数値を乗算し、丸め処理を行い、右ビットシフト処理を行うことにより、復号化対象ブロックの第２の量子化スケール値による除算処理を実現することができる。
【０１９９】
また、上記の復号化回路において、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかを選択することが好ましい。
【０２００】
この構成によれば、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部において、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかが選択される。すなわち、複数の演算処理の中でも、符号化方式によっては、必要な演算処理と不要な演算処理とがあり、必要な演算処理のみを施すことができる。
【０２０１】
また、上記の復号化回路において、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記係数値の種類に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することが好ましい。
【０２０２】
この構成によれば、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部において、係数値の種類に応じて決定される、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算を行った演算済み値と、演算を行わない非演算値とのいずれかが選択されるので、各種の符号化方式に応じた演算処理を施すことができる。
【０２０３】
また、上記の復号化回路において、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部は、前記第１の量子化スケール値と前記第２の量子化スケール値との関係に応じて決定される、前記第１の乗算処理部、前記第２の乗算処理部、前記丸め処理部及び前記シフト処理部における所定の演算を行うか否かを示す情報に基づいて、前記演算済み値と前記非演算値とのいずれかを選択することが好ましい。
【０２０４】
この構成によれば、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部において、第１の量子化スケール値と第２の量子化スケール値との関係に応じて決定される、第１の乗算処理部、第２の乗算処理部、丸め処理部及びシフト処理部における所定の演算を行うか否かを示す情報に基づいて、演算済み値と非演算値とのいずれかが選択される。
【０２０５】
すなわち、第１の量子化スケール値と第２の量子化スケール値とが等しい場合、スケーリング演算を行わなくても符号化効率が低下することはない。そのため、第１の量子化スケール値と第２の量子化スケール値とが等しい場合、演算処理が不要となるので、第１の量子化スケール値と第２の量子化スケール値との関係に応じて、各演算処理を行うか否かを選択することができる。
【０２０６】
また、上記の復号化回路において、前記除算処理部は、前記逆数値格納部に格納された前記逆数値を補正する逆数値補正部をさらに含むことが好ましい。この構成によれば、逆数値補正部によって、逆数値格納部に格納された逆数値が補正されるので、補正された逆数値を用いて高精度に演算処理を行うことができる。
【０２０７】
また、上記の復号化回路において、前記逆数値補正部は、前記逆数値格納部に格納されているあらかじめ定められた複数の逆数値に補正値を加算することが好ましい。
【０２０８】
この構成によれば、逆数値格納部に格納されているあらかじめ定められた複数の逆数値に補正値が加算され、補正値が加算された逆数値が新たな逆数値として第２の乗算処理部に出力される。したがって、予め定められた複数の逆数値に補正値を加算することにより、高精度に演算処理を行うことができる。
【０２０９】
また、上記の復号化回路において、前記第２の乗算処理部における前記逆数値、前記丸め処理部における丸め値、及び前記シフト処理部における右ビットシフト量は、符号化方式に応じてそれぞれ設定可能であることが好ましい。
【０２１０】
この構成によれば、第２の乗算処理部における逆数値、丸め処理部における丸め値、及びシフト処理部における右ビットシフト量が符号化方式に応じてそれぞれ設定可能であるので、符号化方式に応じて除算の演算精度を選択することができる。
【０２１１】
また、上記の復号化回路において、前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係を用いて予測方法を判定し、前記ブロック間相関関係を用いて予測方法を判定するか否かを示す情報に基づいて、判定した予測方法と、あらかじめ設定された所定の予測方法とのうちのいずれかを選択することが好ましい。
【０２１２】
この構成によれば、判定処理部によって、係数比較処理部により求められたブロック間相関関係を用いて予測方法が判定される。また、判定処理部によって、ブロック間相関関係を用いて予測方法を判定するか否かを示す情報に基づいて、判定された予測方法と、あらかじめ設定された所定の予測方法とのうちのいずれかが選択される。したがって、ブロック間相関関係を用いて予測方法を判定することができない場合であっても、あらかじめ設定された所定の予測方法を用いて復号化処理を行うことができる。
【０２１３】
また、上記の復号化回路において、前記判定処理部は、復号化対象となるブロックに隣接する隣接ブロックが予測に利用できるか否かに応じて予測方法を判定することが好ましい。
【０２１４】
この構成によれば、判定処理部によって、復号化対象となるブロックに隣接する隣接ブロックが予測に利用できるか否かに応じて予測方法が判定されるので、隣接ブロックが予測に利用できる場合は、予測方法を判定し、隣接ブロックが予測に利用できない場合は、あらかじめ設定された所定の予測方法を選択することができる。
【０２１５】
また、上記の復号化回路において、前記判定処理部は、前記係数比較処理部によって求められた前記ブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかを選択することが好ましい。
【０２１６】
この構成によれば、判定処理部によって、係数比較処理部により求められたブロック間相関関係において、水平方向及び垂直方向の相関関係が等しい場合、水平方向又は垂直方向のどちらから予測するかが選択される。したがって、水平方向及び垂直方向の相関関係が等しい場合、符号化方式に応じて、水平方向又は垂直方向のどちらから予測するかを選択することができる。
【０２１７】
また、上記の復号化回路において、前記予測処理部は、前記係数値の種類に応じて前記予測処理部における演算を行うか否かを示す情報に基づいて、供給された前記符号化データに対して、前記係数演算処理部によって所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する演算を行った演算済み値と、前記演算を行わない非演算値とのいずれかを選択することが好ましい。
【０２１８】
この構成によれば、予測処理部によって、係数値の種類に応じて予測処理部における演算を行うか否かを示す情報に基づいて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数を加算する演算を行った演算済み値と、演算を行わない非演算値とのいずれかが選択される。したがって、係数値の種類に応じて、供給された符号化データに対して、係数演算処理部により所定の演算処理が施されたＤＣ係数及びＡＣ係数を加算するか否かを選択することができる。
【０２１９】
また、上記の復号化回路において、前記予測処理部によって得られるＤＣ係数及びＡＣ係数が所定の値以上又は所定の値以下である場合、前記ＤＣ係数及び前記ＡＣ係数を前記所定の値にクリッピングする飽和処理を行う飽和処理部をさらに備えることが好ましい。
【０２２０】
この構成によれば、予測処理部により得られるＤＣ係数及びＡＣ係数が所定の値以上又は所定の値以下である場合、飽和処理部によって、ＤＣ係数及びＡＣ係数が所定の値にクリッピングされる。したがって、ＤＣ係数及びＡＣ係数を所定の範囲内の値にすることができる。
【０２２１】
また、上記の復号化回路において、前記飽和処理部におけるクリッピングの範囲は、設定可能であることが好ましい。この構成によれば、飽和処理部におけるクリッピングの範囲が設定可能であるので、符号化方式に応じてクリッピングの範囲を変更することができる。
【０２２２】
また、上記の復号化回路において、前記飽和処理部は、前記ＤＣ係数に対して所定の演算を施すことで奇数化処理を行い、前記奇数化処理を行うか否かを示す情報に基づいて、前記奇数化処理を行った処理済み値と、前記奇数化処理を行っていない非処理値とのいずれかを選択することが好ましい。
【０２２３】
この構成によれば、飽和処理部によって、ＤＣ係数に対して所定の演算を施すことで奇数化処理が行われる。また、飽和処理部によって、奇数化処理を行うか否かを示す情報に基づいて、奇数化処理を行った処理済み値と、奇数化処理を行っていない非処理値とのいずれかが選択される。したがって、符号化方式に応じて奇数化処理を行うか否かを選択することができる。
【０２２４】
本発明の他の局面に係る復号化方法は、画像データを所定の画素数のブロック単位で係数値に変換し、変換した各ブロックの係数値を所定の量子化幅で量子化し、前記ブロックの直流成分であるＤＣ係数と交流成分であるＡＣ係数を隣接するブロックに基づいて予測する画像圧縮符号化処理により生成された符号化データを復号化する復号化方法であって、供給される前記符号化データに対して前記ブロック単位で復号化処理を行った復号化データを隣接ブロック情報として一時的に格納する復号化データ格納部に格納された前記隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数を選択する係数選択処理ステップと、前記係数選択処理ステップにおいて選択された前記ＤＣ係数及び前記ＡＣ係数に所定の演算処理を施す係数演算処理ステップと、前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係を求める係数比較処理ステップと、前記係数比較処理ステップにおいて求められた前記ブロック間相関関係を用いて予測方法を判定する判定処理ステップと、前記判定処理ステップにおいて判定された前記予測方法を用いて、供給された前記符号化データに対して、前記係数演算処理ステップにおいて所定の演算処理が施された前記ＤＣ係数及び前記ＡＣ係数を加算する予測処理ステップと、供給される前記符号化データの内容に応じて、前記係数選択処理ステップにおける選択方法、前記係数演算処理ステップにおける演算処理方法、前記判定処理ステップにおける判定方法及び前記予測処理ステップにおける予測処理方法のうちの一つ又は複数の方法を制御する制御ステップとを含む。
【０２２５】
この構成によれば、復号化データ格納部には、供給される符号化データに対してブロック単位で復号化処理を行った復号化データが隣接ブロック情報として一時的に格納される。そして、係数選択処理ステップにおいて、復号化データ格納部に格納された隣接ブロック情報から、復号化対象となるブロックに隣接する隣接ブロックのＤＣ係数及びＡＣ係数が選択される。次に、係数演算処理ステップにおいて、係数選択処理ステップで選択されたＤＣ係数及びＡＣ係数に所定の演算処理が施され、係数比較処理ステップにおいて、係数演算処理ステップで所定の演算処理が施されたＤＣ係数に基づいて、水平方向及び垂直方向のブロック間相関関係が求められる。続いて、判定処理ステップにおいて、係数比較処理ステップで求められたブロック間相関関係を用いて予測方法が判定され、予測処理ステップにおいて、判定処理ステップで判定された予測方法を用いて、供給された符号化データに対して、係数演算処理ステップで所定の演算処理が施されたＤＣ係数及びＡＣ係数が加算される。また、制御ステップにおいて、供給される符号化データの内容に応じて、係数選択処理ステップにおける選択方法、係数演算処理ステップにおける演算処理方法、判定処理ステップにおける判定方法及び予測処理ステップにおける予測処理方法のうちの一つ又は複数の方法が制御される。
【０２２６】
したがって、供給される符号化データの内容に応じて、係数選択処理ステップにおける選択方法、係数演算処理ステップにおける演算処理方法、判定処理ステップにおける判定方法及び予測処理ステップにおける予測処理方法のうちの一つ又は複数の方法が制御されるので、単一の回路で各種の画像符号化方式に対応した復号化を行うことができ、汎用性を有した復号化方法を提供することができる。また、新たなＤＣ／ＡＣ予測処理方法を用いた符号化方式が提案されたとしても、符号化データに応じて各処理ステップにおける処理方法を変更することにより、新たなＤＣ／ＡＣ予測処理方法に迅速に対応することができ、復号化処理を行うためのＬＳＩなどの再設計も不要となる。
【０２２７】
本発明の他の局面に係る画像再生装置は、符号化データを取得する符号化データ取得部と、前記符号化データ取得部によって取得された符号化データを復号化する上記の復号化回路と、前記復号化回路によって復号化された画像データを出力する出力部とを備える。
【０２２８】
この構成によれば、符号化データ取得部によって、符号化データが取得される。そして、上記の復号化回路によって、符号化データ取得部により取得された符号化データが復号化され、出力部によって、復号化回路により復号化された画像データが出力される。
【０２２９】
したがって、例えば、パーソナルコンピュータ、セットトップボックス、携帯情報端末装置及び携帯電話機などの画像再生装置に上記の復号化回路を適用することができる。
【産業上の利用可能性】
【０２３０】
本発明に係る復号化回路及び画像再生装置は、例えば、画像の符号化方式に基づき符号化されたデータである符号化データに対して復号化処理を施す機能を備えたＬＳＩなどの集積回路、このような集積回路を備えた、パーソナルコンピュータ、セットトップボックス、携帯情報端末装置又は携帯電話機などの情報機器、及びその他の装置に利用することが可能である。
【図面の簡単な説明】
【０２３１】
【図１】本発明の実施の形態１における復号化回路の構成を示すブロック図である。
【図２】図１に示すＤＣ／ＡＣ予測処理部の構成を示すブロック図である。
【図３】ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。
【図４】ＭＰＥＧ−４方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。
【図５】Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理において、復号化対象となるブロックと隣接ブロックとの位置関係を示す図である。
【図６】Ｈ．２６３方式に基づくＤＣ／ＡＣ予測処理の内容を示す図である。
【図７】本発明の実施の形態２におけるＤＣ／ＡＣ予測処理部の構成を示すブロック図である。
【図８】本発明の実施の形態３における画像再生装置の構成を示すブロック図である。
【図９】ＤＣ／ＡＣ予測符号化処理について説明するための概念図である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008136164.tif 000012
【図２】
2008136164.tif 000013
【図３】
2008136164.tif 000014
【図４】
2008136164.tif 000015
【図５】
2008136164.tif 000016
【図６】
2008136164.tif 000017
【図７】
2008136164.tif 000018
【図８】
2008136164.tif 000019
【図９】
2008136164.tif 000020
【国際調査報告】
2008136164.tif 000021
2008136164.tif 000022
2008136164.tif 000023
2008136164.tif 000024