(57)【要約】【課題】デコーディングモードを選択した場合であっても、画質の劣化のない復号画像データを生成する。【解決手段】逆離散コサイン変換装置１２は、逆スキャン部１２１と、逆量子化部１２２と、係数選択部１２３と、逆離散コサイン変換部１２４と、を備える。逆スキャン部１２１は、符号化データのビットストリームから生成される復号可変長データを構成する複数の係数を所定のスキャン順に並べて逆スキャンデータを生成する。逆量子化部１２２は、逆スキャンデータに逆量子化処理を実行し、離散コサイン変換係数を生成する。係数選択部１２３は、逆スキャンデータ毎に拡張信号を生成する。逆離散コサイン変換部１２４は、拡張信号に基づいて、離散コサイン変換係数に逆離散コサイン変換を実行し、復号画像データを生成する。【選択図】図４
2012156867.tif 000002
【特許請求の範囲】
【請求項１】
符号化データのビットストリームから生成される復号可変長データを構成する複数の係数を所定のスキャン順に並べて逆スキャンデータを生成する逆スキャン部と、
前記逆スキャンデータに逆量子化処理を実行し、離散コサイン変換係数を生成する逆量子化部と、
前記逆スキャンデータ毎に拡張信号を生成する係数選択部と、
前記拡張信号に基づいて、前記離散コサイン変換係数に逆離散コサイン変換を実行し、復号画像データを生成する逆離散コサイン変換部と、を備えることを特徴とする、逆離散コサイン変換装置。
【請求項２】
前記逆スキャン部は、２次元マトリクスに配置された前記複数の係数のうち前記復号可変長データの最後尾のラストスキャン係数の識別情報であるラストスキャン信号を抽出し、
前記係数選択部は、カラム又はロウ毎に設定された所定のラストスキャンチェック信号と前記ラストスキャン信号とを比較した結果に基づいて前記拡張信号を生成する、請求項１に記載の逆離散コサイン変換装置。
【請求項３】
前記係数選択部は、前記ラストスキャン信号が前記ラストスキャンチェック信号より大きいカラム又はロウに対して前記拡張信号を生成する、請求項２に記載の逆離散コサイン変換装置。
【請求項４】
符号化データのビットストリームに可変長復号処理を実行し、復号可変長データ及び動きベクトルを生成する可変長復号部と、
前記復号可変長データを構成する複数の係数を所定のスキャン順に並べて逆スキャンデータを生成する逆スキャン部と、
前記逆スキャンデータに逆量子化処理を実行し、離散コサイン変換係数を生成する逆量子化部と、
前記逆スキャンデータ毎に拡張信号を生成する係数選択部と、
前記拡張信号に基づいて、前記離散コサイン変換係数に逆離散コサイン変換を実行し、復号画像データを生成する逆離散コサイン変換部と、
過去に復号された復号画像及び前記動きベクトルに基づいて予測画像データを生成する動きベクトル処理部と、
前記復号画像データと前記予測画像データを加算して復号画像を生成する加算部と、を備えることを特徴とする、復号装置。
【請求項５】
符号化データのビットストリームに可変長復号処理を実行し、復号可変長データ及び動きベクトルを生成する可変長復号部と、
前記復号可変長データを構成する複数の係数を所定のスキャン順に並べて逆スキャンデータを生成する逆スキャン部と、
前記逆スキャンデータに逆量子化処理を実行し、離散コサイン変換係数を生成する逆量子化部と、
前記逆スキャンデータ毎に拡張信号を生成する係数選択部と、
前記拡張信号に基づいて、前記離散コサイン変換係数に逆離散コサイン変換を実行し、復号画像データを生成する逆離散コサイン変換部と、
過去に復号された復号画素及び前記動きベクトルに基づいて予測画像データを生成する動きベクトル処理部と、
前記復号画像データと前記予測画像データを加算して復号画像を生成する加算部と、
前記復号画像に基づいて画像を表示する表示部と、を備えることを特徴とする、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、逆離散コサイン変換装置、復号装置、及び画像処理装置に関する。
【背景技術】
【０００２】
従来の復号装置は、符号化された画像データのビットストリームに対して逆量子化を実行することにより離散コサイン変換（以下、「ＤＣＴ（Discrete Cosine Transform）」という）係数を生成し、ＤＣＴ係数に対して逆離散コサイン変換（以下、「ＩＤＣＴ（Inverse Discrete Cosine Transform）」という）を実行することにより復号画素値を生成し、復号画素値と予測画素値とを加算することにより復号画素を生成する。ＩＤＣＴは、エンコードタイプに関わらず、全てのビットストリームに対して一様に実行される。
【０００３】
一般的に、復号装置には、処理速度及び消費電力を改善するために、処理量を削減するためのデコーディングモードが設定可能である。しかしながら、従来の復号装置では、デコーディングモードを設定すると、処理量は低減するが、画質が劣化する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許ＵＳ７，３８８，９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態の課題は、デコーディングモードを選択した場合であっても、画質の劣化のない復号画像データを生成することである。
【課題を解決するための手段】
【０００６】
本実施形態に係る逆離散コサイン変換装置は、逆スキャン部と、逆量子化部と、係数選択部と、逆離散コサイン変換部と、を備える。逆スキャン部は、符号化データのビットストリームから生成される復号可変長データを構成する複数の係数を所定のスキャン順に並べて逆スキャンデータを生成する。逆量子化部は、前記逆スキャンデータに逆量子化処理を実行し、離散コサイン変換係数を生成する。係数選択部は、前記逆スキャンデータ毎に拡張信号を生成する。逆離散コサイン変換部は、前記拡張信号に基づいて、前記離散コサイン変換係数に逆離散コサイン変換を実行し、復号画像データを生成する。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係る画像処理装置１の構成を示すブロック図。
【図２】復号装置１０の構成を示すブロック図。
【図３】復号可変長データＤＶＬＣのデータ構造を示す概略図である。
【図４】逆離散コサイン変換装置１２の構成を示すブロック図。
【図５】ＩＤＣＴ処理の手順を示すフローチャート。
【図６】８×８の２次元マトリクスの逆スキャンモードを説明するための概略図。
【図７】逆スキャン処理（Ｓ５０１）の一例を示す概略図。
【図８】デコーディングモードを説明するための概略図。
【図９】係数選択処理（Ｓ５０３）の手順を示すフローチャート。
【図１０】“ＤＭ＝１”の場合のＩＤＣＴ（Ｓ５０４）の手順を示すフローチャート。
【図１１】ＩＤＣＴ（Ｓ５０４）により得られるＤＣＴ係数ＤＣＯＥＦの概略図。
【図１２】“ＤＭ＝２”の場合のＩＤＣＴ（Ｓ５０４）の手順を示すフローチャート。
【図１３】“ＤＭ＝３”の場合のＩＤＣＴ（Ｓ５０４）の手順を示すフローチャート。
【図１４】動きベクトル処理装置１３の構成を示すブロック図。
【図１５】係数選択部１２３を実現する論理回路の図。
【発明を実施するための形態】
【０００８】
本実施形態に係る画像処理装置について説明する。図１は、本実施形態に係る画像処理装置１の構成を示すブロック図である。画像処理装置１は、復号装置１０と、表示装置２０と、インタフェース３０と、を備える。例えば、画像処理装置１は、携帯電話等のモバイル端末に組み込まれる。
【０００９】
復号装置１０は、符号化データを復号するための復号処理を実行する装置である。はじめに、復号装置１０は、インタフェース３０からの符号化データのビットストリームＢＳ及びパラメータＰＡＲから復号画素ＤＰを生成する。
【００１０】
表示装置２０は、画像を表示する装置である。はじめに、表示装置２０は、復号装置１０からの復号画素ＤＰに基づいて画像を表示する。表示装置２０は、例えばＬＣＤ（Liquid Crystal Display）である。
【００１１】
インタフェース３０は、画像処理装置１の処理に必要なデータを受け付け、復号装置１０に供給するモジュールである。インタフェース３０は、ビットストリームＢＳと、パラメータＰＡＲと、を受け付ける。インタフェース３０は、例えばＭＰＥＧ２（Moving Picture Experts Group phase-2）に規定された符号化方式を用いて画像データを符号化する符号化装置と、キーボード等の入力デバイスと、にローカル又はＬＡＮ（Local Area Network）等のネットワーク経由で接続される。
【００１２】
復号装置１０について説明する。図２は、復号装置１０の構成を示すブロック図である。復号装置１０は、可変長復号装置（以下、ＶＬＤ（Variable Length Decoder）という）１１と、逆離散コサイン変換装置１２と、動きベクトル処理装置１３と、加算器１４と、フレームメモリ１５と、を備える。
【００１３】
ＶＬＤ１１は、復号可変長データＤＶＬＣ及び動きベクトルＭＶを生成するための可変長復号処理を実行する装置である。ＶＬＤ１１は、インタフェース３０からのビットストリームＢＳに対して可変長復号処理を実行することにより復号可変長データＤＶＬＣ及び動きベクトルＭＶを生成する。ＶＬＤ１１は、復号可変長データＤＶＬＣを逆離散コサイン変換装置１２に供給するとともに、動きベクトルＭＶを動きベクトル処理装置１３に供給する。図３は、復号可変長データＤＶＬＣのデータ構造を示す概略図である。復号可変長データＤＶＬＣは、シリアルに配列された最大で６４個の係数ＣＯＥＦ０〜ＣＯＥＦ６３から構成される。なお、復号可変長データＤＶＬＣの係数の数は、６４個に限られない。
【００１４】
逆離散コサイン変換装置１２は、復号画素値（復号画像データ）ＤＰＶを生成するためのＩＤＣＴ処理を実行する装置である。逆離散コサイン変換装置１２は、パラメータＰＡＲを用いて、復号可変長データＤＶＬＣに対してＩＤＣＴ処理を実行することにより復号画素値ＤＰＶを生成する。
【００１５】
動きベクトル処理装置１３は、予測画素値（予測画像データ）ＰＰＶを生成する装置である。動きベクトル処理装置１３は、フレームメモリ１５に格納された復号画素（復号画像）ＤＰ（すなわち、過去に復号された復号画素ＤＰ）及び動きベクトルＭＶに基づいて予測画素値ＰＰＶを生成する。
【００１６】
加算部１４は、復号画素ＤＰを生成するモジュールである。加算部１４は、復号画素値ＤＰＶと予測画素値ＰＰＶとを加算し、復号画素ＤＰを生成する。
【００１７】
フレームメモリ１５は、復号画素ＤＰをフレーム単位で格納する。フレームメモリ１５に格納された復号画素ＤＰは、予測画素値ＰＰＶを生成するために動きベクトル処理装置１３により参照される。
【００１８】
逆離散コサイン変換装置１２について説明する。図４は、逆離散コサイン変換装置１２の構成を示すブロック図である。逆離散コサイン変換装置１２は、逆スキャン部１２１と、逆量子化部１２２と、係数選択部１２３と、逆離散コサイン変換部１２４と、を備える。
【００１９】
図５は、ＩＤＣＴ処理の手順を示すフローチャートである。
＜逆スキャン処理（Ｓ５０１）＞  逆スキャン部１２１は、復号可変長データＤＶＬＣを構成する複数の係数ＣＯＥＦを所定のスキャン順に並べる（例えば、２次元マトリクスに配置する）ための逆スキャン処理（Ｓ５０１）を実行するモジュールである。逆スキャン部１２１は、インタフェース３０からの逆スキャンモード信号ＩＳＭに対応する逆スキャンモードを選択する。図６は、８×８の２次元マトリクスの逆スキャンモードを説明するための概略図である。例えば、逆スキャン部１２１は、“ＩＳＭ＝０”の場合には、図６（Ａ）のジグザグスキャンモードを選択し、“ＩＳＭ＝１”の場合には、図６（Ｂ）のオルタネートスキャンモードを選択する。逆スキャンモード信号ＩＳＭは、スキャン順を定義する逆スキャンモードを示す信号であり、インタフェース３０から供給されるパラメータＰＡＲに含まれる。逆スキャン部１２１は、選択された逆スキャンモードにより定義されたスキャン順で、復号可変長データＤＶＬＣを構成する係数ＣＯＥＦを２次元マトリクスに配置することにより逆スキャンデータＩＳＤを生成するとともに、ラストスキャン信号Ｌを抽出する。ラストスキャン信号Ｌは、復号可変長データＤＶＬＣの最後尾の係数（以下、「ラストスキャン係数ＬＳＣ」という）の識別番号（識別情報）である。逆スキャン部１２１は、逆スキャンデータＩＳＤを逆量子化部１２２に供給するとともに、ラストスキャン信号Ｌを係数選択部１２３に供給する。
【００２０】
復号可変長データＤＶＬＣに対する逆スキャン処理について説明する。図７は、逆スキャン処理（Ｓ５０１）の一例を示す概略図である。例えば、図７（Ａ）は、復号可変長データＤＶＬＣが係数ＣＯＥＦ０〜２９で構成され、係数ＣＯＥＦ２９がラストスキャン係数ＬＳＣであることを示している。この場合、３０個の係数ＣＯＥＦ０〜２９は、“ＩＳＭ＝０”では図７（Ｂ）のように配置され、“ＩＳＭ＝１”では図７（Ｃ）のように配置される。逆スキャン部１２１は、係数ＣＯＥＦを配置することにより、ラストスキャン信号Ｌが２９であり、復号可変長データＤＶＬＣを構成する係数の数が３０個であることを検出することができる。
【００２１】
＜逆量子化処理（Ｓ５０２）＞  逆量子化部１２２は、ＤＣＴ係数ＤＣＯＥＦを生成するための逆量子化処理（Ｓ５０２）を実行するモジュールである。逆量子化部１２２は、逆スキャンデータＩＳＤに対して逆量子化処理を実行することにより２次元マトリクスで表されるＤＣＴ係数ＤＣＯＥＦを生成する。なお、逆スキャン部１２１と逆量子化部１２２は、１つのモジュールにより実現されても良い。
【００２２】
＜係数選択処理（Ｓ５０３）＞  係数選択部１２３は、ＤＣＴ係数ＤＣＯＥＦのカラム又はロウ毎に、ＩＤＣＴ処理において拡張ＩＤＣＴの対象となる係数を選択するための係数選択処理（Ｓ５０３）を実行するモジュールである。係数選択部１２３は、ラストスキャン信号Ｌと、逆スキャンモード信号ＩＳＭと、デコーディングモード信号ＤＭと、選択信号ＳＥＬと、ラストスキャンチェック信号ＬＣ［ｎ］と、に基づいて拡張信号Ｅ［ｎ］を生成する。
【００２３】
選択信号ＳＥＬは、ユーザにより任意に決められる信号であり、係数選択部１２３を動作させる動作状態と係数選択部１２３を動作させない非動作状態とを切り換えるための信号であり、インタフェース３０から供給されるパラメータＰＡＲに含まれる。“ＳＥＬ＝０”の場合には係数選択部１２３が非動作状態になり、“ＳＥＬ＝１”の場合には係数選択部１２３が動作状態になる。
【００２４】
ラストスキャンチェック信号ＬＣ［ｎ］は、ユーザにより任意に決められる信号であり、インタフェース３０から供給されるパラメータＰＡＲに含まれる。“ｎ”は、０〜７のカラム番号又はロウ番号を表す。すなわち、ラストスキャンチェック信号ＬＣ［ｎ］は、ＤＣＴ係数ＤＣＯＥＦのカラム毎又はロウ毎に設定される。０〜７に配置されたカラム毎の係数又はカラム０〜７に配置されたロウ毎の係数の識別番号である。例えば、図６（Ａ）のモードを選択した場合には、“ＬＣ［０］＝２８”は、カラム０のラストスキャンチェック信号が２８であることを示し、“ＬＣ［１］＝４２”は、カラム１のラストスキャンチェック信号が４２であることを示し、“ＬＣ［２］＝４３”は、カラム２のラストスキャンチェック信号が４３であることを示し、“ＬＣ［３］＝５３”は、カラム３のラストスキャンチェック信号が５３であることを示す。なお、ラストスキャンチェック信号ＬＣ［ｎ］の数は、いくつでも良い。
【００２５】
デコーディングモード信号ＤＭは、ユーザにより任意に決められる、復号処理の際のデコーディングモードを示す信号であり、インタフェース３０から供給されるパラメータＰＡＲに含まれる。図８は、デコーディングモードを説明するための概略図である。例えば、“ＤＭ＝１”は、ロウ方向（図８のＸ方向）の処理量を１／２とする第１ハーフデコーディングモード（図８（Ａ））に対応する。“ＤＭ＝２”は、ロウ方向の処理量を１／４とする第１クォータデコーディングモード（図８（Ｂ））に対応する。“ＤＭ＝３”は、ロウ方向及びカラム方向（図８のＹ方向）の処理量を１／２とする第２クォータデコーディングモード（図８（Ｃ））に対応する。“ＤＭ＝４”は、カラム方向の処理量を１／２とする第２ハーフデコーディングモード（図８（Ｄ））に対応する。“ＤＭ＝５”は、カラム方向の処理量を１／４とする第３クォータデコーディングモード（図８（Ｅ））に対応する。“ＤＭ＝０”は、フルデコーディングモード（図８（Ｆ））に対応する。フルデコーディングモードは、例えばＭＰＥＧ２に規定された符号化方式に対応する復号方式である。
【００２６】
なお、デコーディングモード信号ＤＭは、表示装置２０のアプリケーションを実行するプロセッサの動作周波数によって決められても良い。例えば、表示装置２０のプロセッサが所定値以上の動作周波数を有する場合には、処理量の多い第１ハーフデコーディングモード又は第２ハーフデコーディングモードが選択され、所定値未満の動作周波数を有する場合には、処理量の少ない第１〜第３クォータデコーディングモードが選択される。
【００２７】
また、デコーディングモード信号ＤＭは、表示装置２０のプロセッサの動作周波数によって動的に決められても良い。例えば、表示装置２０のプロセッサが所定値以上の動作周波数で動作可能な場合には第１ハーフデコーディングモード又は第２ハーフデコーディングモードが選択され、所定値未満の動作周波数で動作可能な場合には第１〜第３クォータデコーディングモードが選択される。
【００２８】
拡張信号Ｅ［ｎ］は、拡張ＩＤＣＴの対象を示す信号であり、ＤＣＴ係数ＤＣＯＥＦのカラム又はロウ毎に設定される。例えば、“Ｅ［ｎ］＝１”は、ＤＣＴ係数ＤＣＯＥＦのカラムｎが拡張ＩＤＣＴの対象であることを示し、“Ｅ［ｎ］＝０”は、ＤＣＴ係数ＤＣＯＥＦのカラムｎが通常のＩＤＣＴの対象であることを示す。
【００２９】
図５の係数選択処理（Ｓ５０３）の詳細について説明する。図９は、係数選択処理（Ｓ５０３）の手順を示すフローチャートである。なお、以下の説明の具体例では、“ＩＳＭ＝０”、“ＤＭ＝１”、ＬＣ［ｎ］の数“ｍ”を４とした場合について説明する。
＜Ｓ９０１，Ｓ９０２＞  係数選択部１２３は、選択信号ＳＥＬに基づき、係数選択処理を行うか否かを判定する（Ｓ９０１）。“ＳＥＬ＝０”の場合（Ｓ９０１−ＮＯ）、係数選択部１２３による係数選択処理は行わない。“ＳＥＬ＝１”の場合（Ｓ９０１−ＹＥＳ）、変数“ｎ”に初期値“０”を設定する（Ｓ９０２）。
【００３０】
＜Ｓ９０３，Ｓ９０４，Ｓ９１１＞  係数選択部１２３は、ラストスキャン信号Ｌとラストスキャンチェック信号ＬＣ［ｎ］とを比較する（Ｓ９０３）。係数選択部１２３は、“Ｌ＞ＬＣ［ｎ］”の場合には（Ｓ９０３−ＹＥＳ）、拡張ＩＤＣＴの対象であることを示す値“１”を拡張信号Ｅ［ｎ］に設定し（Ｓ９０４）、“Ｌ＜ＬＣ［ｎ］”の場合には（Ｓ９０３−ＮＯ）、通常のＩＤＣＴの対象であることを示す値“０”を拡張信号Ｅ［ｎ］に設定する（Ｓ９１１）。例えば、“ＩＳＭ＝０”の場合、ジグザグスキャンモードが選択されており、“ｎ＝０”のとき、“Ｌ＝２９”は“ＬＣ［０］＝２８”より大きいので、“Ｅ［０］”に“１”が設定される。“ｎ＝１〜３”のとき、“Ｌ＝２９”は“ＬＣ［１］＝４２”、“ＬＣ［２］＝４３”、及び“ＬＣ［３］＝５３”より小さいので、“Ｅ［１］〜Ｅ［３］”に“０”が設定される。
【００３１】
＜Ｓ９０５，Ｓ９０６＞  係数選択部１２３は、“ｎ”に１を加算する（Ｓ９０５）。Ｓ９０５の結果、“ｎ”がラストスキャンチェック信号ＬＣ［ｎ］の数“ｍ”に等しくなった場合には（Ｓ９０６−ＹＥＳ）、Ｓ９０７を実行する。Ｓ９０５の結果、“ｎ”が“ｍ”に達していない場合には（Ｓ９０６−ＮＯ）、Ｓ９０３に戻り、“ｎ”が“ｍ”に等しくなるまでＳ９０３、Ｓ９０４又はＳ９１１、及びＳ９０５を繰り返す。これにより、ラストスキャンチェック信号ＬＣ［ｎ］の数と同数の拡張信号Ｅ［ｎ］が設定される。
【００３２】
＜Ｓ９０７＞  係数選択部１２３は、拡張信号Ｅ［ｎ：０〜ｍ−１］を逆離散コサイン変換部１２４に供給する（Ｓ９０７）。例えば、４つのラストスキャンチェック信号ＬＣ［０］〜ＬＣ［３］がインタフェース３０から供給される場合には、係数選択部１２３は、４つの拡張信号Ｅ［０］〜Ｅ［３］を逆離散コサイン変換部１２４に供給する。Ｓ９０７が終了すると、係数選択処理が終了する。
【００３３】
＜ＩＤＣＴ（Ｓ５０４）＞  逆離散コサイン変換部１２４は、復号画素値ＤＰＶを生成するためのＩＤＣＴ（Ｓ５０４）を実行するモジュールである。逆離散コサイン変換部１２４は、拡張信号Ｅ［ｎ］に基づいて、ＤＣＴ係数ＤＣＯＥＦに対して拡張ＩＤＣＴ又は通常のＩＤＣＴを実行することにより復号画素値ＤＰＶを生成する。
【００３４】
“ＤＭ＝１”の場合のＩＤＣＴ（Ｓ５０４）について説明する。図１０は、“ＤＭ＝１”の場合のＩＤＣＴ（Ｓ５０４）の手順を示すフローチャートである。  
＜Ｓ１００１＞  逆離散コサイン変換部１２４は、“ｃ”及び“ｒ”に初期値（例えば、０）を設定する（Ｓ１００１）。“ｃ”は、ＩＤＣＴの対象となるカラムを示す変数である。“ｒ”は、ＩＤＣＴの対象となるロウを示す変数である。
【００３５】
＜Ｓ１００２，Ｓ１００３，Ｓ１０１１＞  逆離散コサイン変換部１２４は、“Ｅ［ｒ］＝１”であるか否か（すなわち、ＩＤＣＴの対象となるロウｒが拡張ＩＤＣＴの対象であるか否か）を判定する（Ｓ１００２）。“Ｅ［ｒ］＝１”の場合には（Ｓ１００２−ＹＥＳ）、逆離散コサイン変換部１２４は、ロウｒに対する拡張ＩＤＣＴ（Ｓ１００３）を実行する。ロウｒに対する拡張ＩＤＣＴ（Ｓ１００３）では、ロウ方向について、ロウｒのカラム０〜３の係数に加えて、ロウｒのカラム４〜７の係数に対してＩＤＣＴが実行される。“Ｅ［ｒ］＝０”である場合には（Ｓ１００２−ＮＯ）、逆離散コサイン変換部１２４は、ロウｒに対する通常のＩＤＣＴ（Ｓ１０１１）を実行する。ロウｒに対する通常のＩＤＣＴ（Ｓ１０１１）では、ロウ方向について、ロウｒのカラム０〜３の係数に対してＩＤＣＴが実行される。なお、Ｓ１０１１では、ロウｒのカラム４〜７の係数に対してＩＤＣＴは実行されない。
【００３６】
＜Ｓ１００４〜Ｓ１００６＞  逆離散コサイン変換部１２４は、変数“ｒ”に１を加算する（Ｓ１００４）。Ｓ１００４の結果、変数“ｒ”が８に達した場合（すなわち、全てのロウ０〜７に対する拡張ＩＤＣＴ（Ｓ１００３）又は通常のＩＤＣＴ（Ｓ１０１１）が完了した場合）には（Ｓ１００５−ＹＥＳ）、逆離散コサイン変換部１２４は、カラムｃに対する通常のＩＤＣＴ（Ｓ１００６）を実行する。カラムｃに対する通常のＩＤＣＴ（Ｓ１００６）では、カラム方向について、カラムｃのロウ０〜７の係数に対してＩＤＣＴが実行される。Ｓ１００４の結果、変数“ｒ”が８に達していない場合（すなわち、全てのロウ０〜７に対する拡張ＩＤＣＴ（Ｓ１００３）又は通常のＩＤＣＴ（Ｓ１０１１）が完了していない場合）には（Ｓ１００５−ＮＯ）、逆離散コサイン変換部１２４は、Ｓ１００２に戻り、対象とするロウｒに対する拡張ＩＣＴ（Ｓ１００３）又は通常のＩＤＣＴ（Ｓ１０１１）を実行する。
【００３７】
＜Ｓ１００７，Ｓ１００８＞  逆離散コサイン変換部１２４は、変数“ｃ”に１を加算する（Ｓ１００７）。Ｓ１００７の結果、変数“ｃ”が４に達した場合（すなわち、ＩＤＣＴの対象となる全てのカラム０〜３に対する通常のＩＤＣＴ（Ｓ１００６）が完了した場合）には（Ｓ１００８−ＹＥＳ）、ＩＤＣＴが終了する。Ｓ１００７の結果、変数“ｃ”が４に達していない場合（すなわち、ＩＤＣＴの対象となる全てのカラム０〜３に対する通常のＩＤＣＴ（Ｓ１００６）が完了していない場合）には（Ｓ１００８−ＮＯ）、逆離散コサイン変換部１２４は、Ｓ１００６に戻り、対象とするカラムｃに対してＩＤＣＴを実行する。
【００３８】
図１０の手順により、図１１（Ａ）のＤＣＴ係数ＤＣＯＥＦが得られる。図１１（Ａ）のＤＣＴ係数ＤＣＯＥＦでは、図８（Ａ）と比べて、ロウ０のカラム４〜７の係数に対して拡張的にＩＤＣＴが実行される。その結果、第１ハーフデコーディングモードが選択された場合であっても、画質の劣化のない復号画像データを生成することができる。
【００３９】
次に、“ＤＭ＝２”の場合のＩＤＣＴ（Ｓ５０４）について説明する。図１２は、“ＤＭ＝２”の場合のＩＤＣＴ（Ｓ５０４）の手順を示すフローチャートである。
＜Ｓ１２０１＞  はじめに、逆離散コサイン変換部１２４は、変数“ｃ”及び“ｒ”に初期値（例えば、０）を設定する（Ｓ１２０１）。
【００４０】
＜Ｓ１２０２，Ｓ１２０３，Ｓ１２１１＞  逆離散コサイン変換部１２４は、“Ｅ［ｒ］＝１”であるか否か（すなわち、ＩＤＣＴの対象となるロウｒが拡張ＩＤＣＴの対象であるか否か）を判定する（Ｓ１２０２）。“Ｅ［ｒ］＝１”の場合には（Ｓ１２０２−ＹＥＳ）、逆離散コサイン変換部１２４は、ロウｒに対する拡張ＩＤＣＴ（Ｓ１２０３）を実行する。ロウｒに対する拡張ＩＤＣＴ（Ｓ１２０３）では、ロウ方向について、ロウｒのカラム０，１の係数に加えて、ロウｒのカラム２，３の係数に対してＩＤＣＴが実行される。“Ｅ［ｒ］＝０”である場合には（Ｓ１２０２−ＮＯ）、逆離散コサイン変換部１２４は、ロウｒに対する通常のＩＤＣＴ（Ｓ１２１１）を実行する。ロウｒに対する通常のＩＤＣＴ（Ｓ１２１１）では、ロウ方向について、ロウｒのカラム０，１の係数に対してＩＤＣＴが実行される。なお、Ｓ１２１１では、ロウｒのカラム２〜７の係数に対してＩＤＣＴは実行されない。
【００４１】
＜Ｓ１２０４〜Ｓ１２０６＞  逆離散コサイン変換部１２４は、変数“ｒ”に１を加算する（Ｓ１２０４）。Ｓ１２０４の結果、変数“ｒ”が８に達した場合（すなわち、全てのロウ０〜７に対する拡張ＩＤＣＴ（Ｓ１２０３）又は通常のＩＤＣＴ（Ｓ１２１１）が完了した場合）には（Ｓ１２０５−ＹＥＳ）、逆離散コサイン変換部１２４は、カラムｃに対する通常のＩＤＣＴ（Ｓ１２０６）を実行する。カラムｃに対する通常のＩＤＣＴ（Ｓ１２０６）では、カラム方向について、カラムｃのロウ０〜７の係数に対してＩＤＣＴが実行される。Ｓ１２０４の結果、変数“ｒ”が８に達していない場合（すなわち、全てのロウ０〜７に対する拡張ＩＤＣＴ（Ｓ１２０３）又は通常のＩＤＣＴ（Ｓ１２１１）が完了していない場合）には（Ｓ１２０５−ＮＯ）、逆離散コサイン変換部１２４は、Ｓ１２０２に戻り、対象とするロウｒに対する拡張ＩＣＴ（Ｓ１２０３）又は通常のＩＤＣＴ（Ｓ１２１１）を実行する。
【００４２】
＜Ｓ１２０７，Ｓ１２０８＞  逆離散コサイン変換部１２４は、変数“ｃ”に１を加算する（Ｓ１２０７）。Ｓ１２０７の結果、変数“ｃ”が２に達した場合（すなわち、ＩＤＣＴの対象となる全てのカラム０，１に対する通常のＩＤＣＴ（Ｓ１２０６）が完了した場合）には（Ｓ１２０８−ＹＥＳ）、ＩＤＣＴが終了する。Ｓ１２０７の結果、変数“ｃ”が２に達していない場合（すなわち、ＩＤＣＴの対象となる全てのカラム０，１に対する通常のＩＤＣＴ（Ｓ１２０６）が完了していない場合）には（Ｓ１２０８−ＮＯ）、逆離散コサイン変換部１２４は、Ｓ１２０６に戻り、対象とするカラムｃに対してＩＤＣＴを実行する。
【００４３】
図１２の手順により、図１１（Ｂ）のＤＣＴ係数ＤＣＯＥＦが得られる。図１１（Ｂ）のＤＣＴ係数ＤＣＯＥＦでは、図８（Ｂ）と比べて、ロウ０のカラム２，３の係数に対して拡張的にＩＤＣＴが実行される。その結果、第１クォータデコーディングモードが選択された場合であっても、画質の劣化のない復号画像データを生成することができる。
【００４４】
次に、“ＤＭ＝３”の場合のＩＤＣＴ（Ｓ５０４）について説明する。図１３は、“ＤＭ＝３”の場合のＩＤＣＴ（Ｓ５０４）の手順を示すフローチャートである。
＜Ｓ１３０１＞  逆離散コサイン変換部１２４は、変数“ｃ”及び“ｒ”に初期値（例えば、０）を設定する（Ｓ１３０１）。
【００４５】
＜Ｓ１３０２，Ｓ１３０３，Ｓ１３１１＞  逆離散コサイン変換部１２４は、“Ｅ［ｃ］＝１”であるか否か（すなわち、ＩＤＣＴの対象となるカラムｃが拡張ＩＤＣＴの対象であるか否か）を判定する（Ｓ１３０２）。“Ｅ［ｃ］＝１”の場合には（Ｓ１３０２−ＹＥＳ）、逆離散コサイン変換部１２４は、カラムｃに対する拡張ＩＤＣＴ（Ｓ１３０３）を実行する。カラムｃに対する拡張ＩＤＣＴ（Ｓ１３０３）では、カラム方向について、カラムｃのロウ０〜３の係数に加えて、カラムｃのロウ４〜７の係数に対してＩＤＣＴが実行される。“Ｅ［ｃ］＝０”である場合には（Ｓ１３０２−ＮＯ）、逆離散コサイン変換部１２４は、カラムｃに対する通常のＩＤＣＴ（Ｓ１３１１）を実行する。カラムｃに対する通常のＩＤＣＴ（Ｓ１３１１）では、カラム方向について、カラムｃのロウ０〜３の係数に対してＩＤＣＴが実行される。なお、Ｓ１３１１では、カラムｃのロウ４〜７の係数に対してＩＤＣＴは実行されない。
【００４６】
＜Ｓ１３０４〜Ｓ１３０６＞  逆離散コサイン変換部１２４は、変数“ｃ”に１を加算する（Ｓ１３０４）。Ｓ１３０４の結果、変数“ｃ”が４に達した場合（すなわち、全てのカラム０〜３に対する拡張ＩＤＣＴ（Ｓ１３０３）又は通常のＩＤＣＴ（Ｓ１３１１）が完了した場合）には（Ｓ１３０５−ＹＥＳ）、逆離散コサイン変換部１２４は、ロウｒに対する通常のＩＤＣＴ（Ｓ１３０６）を実行する。ロウｒに対する通常のＩＤＣＴ（Ｓ１３０６）では、ロウ方向について、ロウｒのカラム０〜３の係数に対してＩＤＣＴが実行される。Ｓ１３０４の結果、変数“ｃ”が４に達していない場合（すなわち、全てのカラム０〜３に対する拡張ＩＤＣＴ（Ｓ１３０３）又は通常のＩＤＣＴ（Ｓ１３１１）が完了していない場合）には（Ｓ１３０５−ＮＯ）、逆離散コサイン変換部１２４は、Ｓ１３０２に戻り、対象とするカラムｃに対する拡張ＩＣＴ（Ｓ１３０３）又は通常のＩＤＣＴ（Ｓ１３１１）を実行する。
【００４７】
＜Ｓ１３０７，Ｓ１３０８＞  逆離散コサイン変換部１２４は、変数“ｒ”に１を加算する（Ｓ１３０７）。Ｓ１３０７の結果、変数“ｒ”が４に達した場合（すなわち、ＩＤＣＴの対象となる全てのロウ０〜３に対する通常のＩＤＣＴ（Ｓ１３０６）が完了した場合）には（Ｓ１３０８−ＹＥＳ）、ＩＤＣＴが終了する。Ｓ１３０７の結果、変数“ｒ”が４に達していない場合（すなわち、ＩＤＣＴの対象となる全てのロウ０〜３に対する通常のＩＤＣＴ（Ｓ１３０６）が完了していない場合）には（Ｓ１３０８−ＮＯ）、逆離散コサイン変換部１２４は、Ｓ１３０６に戻り、対象とするロウｒに対してＩＤＣＴを実行する。
【００４８】
図１３の手順により、図１１（Ｃ）のＤＣＴ係数ＤＣＯＥＦが得られる。図１１（Ｃ）のＤＣＴ係数ＤＣＯＥＦでは、図８（Ｃ）と比べて、カラム０のロウ４〜７の係数に対して拡張的にＩＤＣＴが実行される。その結果、第２クォータデコーディングモードが選択された場合であっても、画質の劣化のない復号画像データを生成することができる。
【００４９】
“ＤＭ＝４”の場合のＩＤＣＴ（Ｓ５０４）は、図１０においてカラムに関する処理とロウに関する処理を入れ替えることにより実現される。これにより、図１１（Ｄ）のＤＣＴ係数ＤＣＯＥＦが得られる。図１１（Ｄ）のＤＣＴ係数ＤＣＯＥＦでは、図８（Ｄ）と比べて、カラム０のロウ４〜７の係数に対して拡張的にＩＤＣＴが実行される。その結果、第２ハーフデコーディングモードが選択された場合であっても、画質の劣化のない復号画像データを生成することができる。
【００５０】
次に、“ＤＭ＝５”の場合のＩＤＣＴ（Ｓ５０４）は、図１２においてカラムに関する処理とロウに関する処理を入れ替えることにより実現される。これにより、図１１（Ｅ）のＤＣＴ係数ＤＣＯＥＦが得られる。図１１（Ｅ）のＤＣＴ係数ＤＣＯＥＦでは、図８（Ｅ）と比べて、カラム０のロウ２，３の係数に対して拡張的にＩＤＣＴが実行される。その結果、第３クォータデコーディングモードが選択された場合であっても、画質の劣化のない復号画像データを生成することができる。
【００５１】
なお、“ＤＭ＝３”の場合に、図１３においてカラムに関する処理とロウに関する処理を入れ替えることにより、ＩＤＣＴ（Ｓ５０４）を実現しても良い。これにより、図１１（Ｆ）のＤＣＴ係数ＤＣＯＥＦが得られる。図１１（Ｆ）のＤＣＴ係数ＤＣＯＥＦでは、図８（Ｃ）と比べて、ロウ０のカラム４〜７の係数に対して拡張的にＩＤＣＴが実行される。その結果、第２クォータデコーディングモードが選択された場合であっても、画質の劣化のない復号画像データを生成することができる。
【００５２】
動きベクトル処理装置１３について説明する。図１４は、動きベクトル処理装置１３の構成を示すブロック図である。動きベクトル処理装置１３は、スケール調整部１３１と、動き補償部１３２と、を備える。
【００５３】
スケール調整部１３１は、動きベクトルＭＶのスケールを調整するモジュールである。スケール調整部１３１は、デコーディングモード信号ＤＭに対応するデコーディングモード（図８（Ａ）〜（Ｅ））に基づいて、動きベクトルＭＶのスケールを調整することにより、スケールが調整された動きベクトル（以下、「調整動きベクトルＡＭＶ」という）を生成する。これにより、動き補償部１３２により参照されるフレームメモリ１５に格納される復号画素ＤＰの大きさ及び動き補償部１３２により生成される予測画素値Ｐを縮小することができる。
【００５４】
動き補償部１３２は、予測画素値ＰＰＶを生成するモジュールである。動き補償部１３２は、フレームメモリ１５に格納された復号画素ＤＰを参照することにより調整動きベクトルＡＭＶから予測画素値ＰＰＶを生成する。次いで、動き補償部１３２は、予測画素値ＰＰＶを加算部１４に供給する。
【００５５】
なお、本実施形態では、係数選択部１２３は、ソフトウェアにより実現されても良いし、例えば図１５に示すような論理回路により実現されても良い。図１５では、逆スキャンモード及びデコーディングモードの組み合わせ毎に、複数のラストスキャンチェック信号ＬＣ［ｎ］が供給される。
【００５６】
本実施形態によれば、ＤＣＴ係数ＤＣＯＥＦのカラム又はロウ毎にＩＤＣＴ処理において拡張ＩＤＣＴの対象となる係数を選択するための係数選択処理（Ｓ５０３）が実行されるので、復号装置１０の処理量を削減するためのデコーディングモードを選択した場合であっても、画質の劣化のない復号画像データを生成することができ、表示装置２０に高画質の画像を表示することができる。
【００５７】
また、本実施形態によれば、選択信号ＳＥＬに基づいて係数選択部１２３の動作状態及び非動作状態を切り換えるので、逆離散コサイン変換装置１２及び復号装置１０の消費電力を低減することができる。
【００５８】
本実施形態に係る画像処理装置１の少なくとも一部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。ソフトウェアで構成する場合には、画像処理装置１の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させても良い。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でも良い。
【００５９】
また、本実施形態に係る画像処理装置１の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布しても良い。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布しても良い。
【００６０】
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で構成要素を変形して具体化される。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明が形成可能である。例えば、上述した実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。  
【符号の説明】
【００６１】
１  画像処理装置
１０  復号装置
１１  ＶＬＤ
１２  逆離散コサイン変換装置
１２１  逆スキャン部
１２２  逆量子化部
１２３  係数選択部
１２４  逆離散コサイン変換部
１３  動きベクトル処理装置
１３１  スケール調整部
１３２  動き補償部
１４  加算部
１５  フレームメモリ
２０  表示装置
３０  インタフェース
【図１】
2012156867.tif 000003
【図２】
2012156867.tif 000004
【図３】
2012156867.tif 000005
【図４】
2012156867.tif 000006
【図５】
2012156867.tif 000007
【図６】
2012156867.tif 000008
【図７】
2012156867.tif 000009
【図８】
2012156867.tif 000010
【図９】
2012156867.tif 000011
【図１０】
2012156867.tif 000012
【図１１】
2012156867.tif 000013
【図１２】
2012156867.tif 000014
【図１３】
2012156867.tif 000015
【図１４】
2012156867.tif 000016
【図１５】
2012156867.tif 000017