(57)【要約】【課題】符号化効率を向上させることができるようにする。【解決手段】モード制限レベル制御部３２１は、イントラ予測部３１４によるイントラ予測に用いられるイントラ予測モードと、可逆符号化部３０６が最適イントラ予測モードの指定情報に割り当てる２値化の符号長とを適応的に制御する。イントラ予測部３１４は、モード制限レベル制御部３２１により許可されたイントラ予測モードでイントラ予測を行い、最適なイントラ予測モードを選択する。可逆符号化部３０６は、モード制限レベル制御部３２１により指定された符号長で、最適イントラ予測モードの指定情報を２値化し、符号化する。本発明は、例えば、画像処理装置に適用することができる。【選択図】図１９
2012160991.tif 000002
【特許請求の範囲】
【請求項１】
符号化する画像の内容に応じて、イントラ予測モードを指定するイントラ予測モード情報に割り当てる２値化の符号長を決定する符号長決定部と、
前記符号長決定部により決定された符号長で前記イントラ予測モード情報を２値化する２値化部と
を備える画像処理装置。
【請求項２】
前記符号長決定部は、過去に行われたイントラ予測におけるモード選択結果に基づいて前記符号長を決定する
請求項１に記載の画像処理装置。
【請求項３】
前記符号長決定部は、現在の処理対象に対するイントラ予測におけるモード選択結果に基づいて前記符号長を決定する
請求項１に記載の画像処理装置。
【請求項４】
前記符号長決定部は、前記モード選択結果に基づいて算出されるコスト関数値に基づいて前記符号長を決定する
請求項３に記載の画像処理装置。
【請求項５】
符号化する画像の内容に応じて、予め用意されたイントラ予測モードの中から、イントラ予測での使用を許可するモードを決定する許可モード決定部と、
前記許可モード決定部により使用を許可されたイントラ予測モードを用いてイントラ予測を行うイントラ予測部と
をさらに備え、
前記符号長決定部は、前記許可モード決定部により使用を許可されたイントラ予測モードの数に応じて前記符号長を決定する
請求項１に記載の画像処理装置。
【請求項６】
使用を許可するイントラ予測モードを処理対象の領域の大きさ毎に指定する、前記イントラ予測モードの制限レベル毎のテーブル情報を記憶するテーブル情報記憶部と、
前記テーブル情報記憶部により記憶される各制御レベルのテーブル情報の中から、符号化する画像の内容に応じた制限レベルのテーブル情報を選択するテーブル選択部と
をさらに備え、
前記許可モード決定部は、前記テーブル選択部により選択されたテーブル情報を用いて、前記イントラ予測での使用を許可するモードとして決定する
請求項５に記載の画像処理装置。
【請求項７】
前記テーブル選択部が選択したテーブル情報の制限レベルを示すフラグ情報を生成するフラグ生成部をさらに備える
請求項６に記載の画像処理装置。
【請求項８】
前記２値化部により前記イントラ予測モード情報が２値化された２値データを符号化する符号化部をさらに備える
請求項１に記載の画像処理装置。
【請求項９】
前記符号長決定部は、所定の処理単位毎に前記符号長を決定する
請求項１に記載の画像処理装置。
【請求項１０】
画像処理装置の画像処理方法であって、
符号長決定部が、符号化する画像の内容に応じて、イントラ予測モードを指定するイントラ予測モード情報に割り当てる２値化の符号長を決定し、
２値化部が、決定された符号長で前記イントラ予測モード情報を２値化する
画像処理方法。
【請求項１１】
コンピュータを、
符号化する画像の内容に応じて、イントラ予測モードを指定するイントラ予測モード情報に割り当てる２値化の符号長を決定する符号長決定部、
決定された符号長で前記イントラ予測モード情報を２値化する２値化部
として機能させるためのプログラム。
【請求項１２】
符号化時のイントラ予測において行われたイントラ予測モードの使用制限の度合いを示す制限レベルに基づいて、前記イントラ予測において採用されたイントラ予測モードを指定するイントラ予測モード情報に割り当てられた２値化の符号長を決定する符号長決定部と、
前記符号長決定部により決定された符号長で前記イントラ予測モード情報の２値データを逆２値化する逆２値化部と
を備える画像処理装置。
【請求項１３】
前記制限レベルを示すフラグ情報を取得するフラグ情報取得部をさらに備え、
前記符号長決定部は、前記フラグ情報取得部により取得された前記フラグ情報により示される制限レベルに基づいて、前記符号長を決定する
請求項１２に記載の画像処理装置。
【請求項１４】
前記符号長決定部は、前記フラグ情報により示される制限レベルにおいて、処理対象の領域の大きさに応じた符号長を、前記符号長として決定する
請求項１３に記載の画像処理装置。
【請求項１５】
前記逆２値化部により逆２値化されて得られた前記イントラ予測モード情報により示されるイントラ予測モードでイントラ予測を行うイントラ予測部をさらに備える
請求項１２に記載の画像処理装置。
【請求項１６】
符号化データを復号する復号部をさらに備え、
前記逆２値化部は、前記復号部により復号されて得られた前記イントラ予測モード情報の２値データを、前記符号長決定部により決定された符号長で逆２値化する
請求項１２に記載の画像処理装置。
【請求項１７】
画像処理装置の画像処理方法であって、
符号長決定部が、符号化時のイントラ予測において行われたイントラ予測モードの使用制限の度合いを示す制限レベルに基づいて、前記イントラ予測において採用されたイントラ予測モードを指定するイントラ予測モード情報に割り当てられた２値化の符号長を決定し、
逆２値化部が、決定された符号長で前記イントラ予測モード情報の２値データを逆２値化する
画像処理方法。
【請求項１８】
コンピュータを、
符号化時のイントラ予測において行われたイントラ予測モードの使用制限の度合いを示す制限レベルに基づいて、前記イントラ予測において採用されたイントラ予測モードを指定するイントラ予測モード情報に割り当てられた２値化の符号長を決定する符号長決定部、
決定された符号長で前記イントラ予測モード情報の２値データを逆２値化する逆２値化部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びに、プログラムに関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG（Moving Picture Experts Group）などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG2（ISO（International Organization for Standardization）/IEC（International Electrotechnical Commission） 13818-2）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L （ITU-T（International Telecommunication Union Telecommunication Standardization Sector） Q6/16 VCEG（Video Coding Expert Group））という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
【０００６】
標準化のスケジュールとしては、２００３年３月にはH.264及びMPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）という名の元に国際標準となった。
【０００７】
更に、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCT（Discrete Cosine Transform）や量子化マトリクスをも含んだFRExt（Fidelity Range Extension）の標準化が２００５年２月に完了し、これにより、AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc等の幅広いアプリケーションに用いられる運びとなった。
【０００８】
しかしながら、昨今、ハイビジョン画像の４倍の、４０００×２０００画素程度の画像を圧縮したい、或いは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、ITU-T傘下のVCEG（Video Coding Expert Group）において、符号化効率の改善に関する検討が継続され行なわれている。
【０００９】
ところで、イントラ予測で符号化する際、エンコーダは複数のイントラ予測モードから１つを採用し、どのイントラ予測モードを採用したかを示すindex（IntraPredMode）を符号化してデコーダに送る。
【００１０】
エンコーダはRD最適化の作法に基づいて複数のイントラ予測モードから最適なイントラ予測モードを選択する。これをイントラ予測モード判定と呼ぶ。
【００１１】
エンコーダとデコーダの一致を得るために、デコーダはIntraPredModeに基づいてエンコーダが採用したものと同じイントラ予測モードを採用する。
【００１２】
IntraPredModeの符号化では、ハフマン符号や算術符号といったエントロピ符号化が用いられる。
【００１３】
ところで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている（例えば、非特許文献１参照）。
【００１４】
一般的に、イントラ予測モードの種類が多いほどイントラ予測の予測精度は向上する。したがって、近年においては、新たなイントラ予測モードが次々と提案され、HEVCのような新たな符号化方式においては、より多くのイントラ予測モードが採用されている。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】,"Test Model under Consideration",JCTVC-B205,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting:Geneva,CH,21-28 July, 2010
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、用意されるイントラ予測モードの種類が多くなるほど、イントラ予測モードを指定する情報の符号長が増大するが、実際には全てのイントラ予測モードが使用されるとは限らず、そのために符号化効率が不要に低減する恐れがあった。
【００１７】
本発明は、このような状況に鑑みてなされたものであり、イントラ予測モードを指定する情報の符号長を適応的に制御することができるようにすることにより、符号化効率の不要な低減を抑制することができるようにすることを目的とする。
【課題を解決するための手段】
【００１８】
本発明の一側面は、符号化する画像の内容に応じて、イントラ予測モードを指定するイントラ予測モード情報に割り当てる２値化の符号長を決定する符号長決定部と、前記符号長決定部により決定された符号長で前記イントラ予測モード情報を２値化する２値化部とを備える画像処理装置である。
【００１９】
前記符号長決定部は、過去に行われたイントラ予測におけるモード選択結果に基づいて前記符号長を決定することができる。
【００２０】
前記符号長決定部は、現在の処理対象に対するイントラ予測におけるモード選択結果に基づいて前記符号長を決定することができる。
【００２１】
前記符号長決定部は、前記モード選択結果に基づいて算出されるコスト関数値に基づいて前記符号長を決定することができる。
【００２２】
符号化する画像の内容に応じて、予め用意されたイントラ予測モードの中から、イントラ予測での使用を許可するモードを決定する許可モード決定部と、前記許可モード決定部により使用を許可されたイントラ予測モードを用いてイントラ予測を行うイントラ予測部とをさらに備え、前記符号長決定部は、前記許可モード決定部により使用を許可されたイントラ予測モードの数に応じて前記符号長を決定することができる。
【００２３】
使用を許可するイントラ予測モードを処理対象の領域の大きさ毎に指定する、前記イントラ予測モードの制限レベル毎のテーブル情報を記憶するテーブル情報記憶部と、前記テーブル情報記憶部により記憶される各制御レベルのテーブル情報の中から、符号化する画像の内容に応じた制限レベルのテーブル情報を選択するテーブル選択部とをさらに備え、前記許可モード決定部は、前記テーブル選択部により選択されたテーブル情報を用いて、前記イントラ予測での使用を許可するモードとして決定することができる。
【００２４】
前記テーブル選択部が選択したテーブル情報の制限レベルを示すフラグ情報を生成するフラグ生成部をさらに備えることができる。
【００２５】
前記２値化部により前記イントラ予測モード情報が２値化された２値データを符号化する符号化部をさらに備えることができる。
【００２６】
前記符号長決定部は、所定の処理単位毎に前記符号長を決定することができる。
【００２７】
本発明の一側面は、また、画像処理装置の画像処理方法であって、符号長決定部が、符号化する画像の内容に応じて、イントラ予測モードを指定するイントラ予測モード情報に割り当てる２値化の符号長を決定し、２値化部が、決定された符号長で前記イントラ予測モード情報を２値化する画像処理方法である。
【００２８】
本発明の一側面は、さらに、コンピュータを、符号化する画像の内容に応じて、イントラ予測モードを指定するイントラ予測モード情報に割り当てる２値化の符号長を決定する符号長決定部、決定された符号長で前記イントラ予測モード情報を２値化する２値化部として機能させるためのプログラムである。
【００２９】
本発明の他の側面は、符号化時のイントラ予測において行われたイントラ予測モードの使用制限の度合いを示す制限レベルに基づいて、前記イントラ予測において採用されたイントラ予測モードを指定するイントラ予測モード情報に割り当てられた２値化の符号長を決定する符号長決定部と、前記符号長決定部により決定された符号長で前記イントラ予測モード情報の２値データを逆２値化する逆２値化部とを備える画像処理装置である。
【００３０】
前記制限レベルを示すフラグ情報を取得するフラグ情報取得部をさらに備え、前記符号長決定部は、前記フラグ情報取得部により取得された前記フラグ情報により示される制限レベルに基づいて、前記符号長を決定することができる。
【００３１】
前記符号長決定部は、前記フラグ情報により示される制限レベルにおいて、処理対象の領域の大きさに応じた符号長を、前記符号長として決定することができる。
【００３２】
前記逆２値化部により逆２値化されて得られた前記イントラ予測モード情報により示されるイントラ予測モードでイントラ予測を行うイントラ予測部をさらに備えることができる。
【００３３】
符号化データを復号する復号部をさらに備え、前記逆２値化部は、前記復号部により復号されて得られた前記イントラ予測モード情報の２値データを、前記符号長決定部により決定された符号長で逆２値化することができる。
【００３４】
本発明の他の側面は、また、画像処理装置の画像処理方法であって、符号長決定部が、符号化時のイントラ予測において行われたイントラ予測モードの使用制限の度合いを示す制限レベルに基づいて、前記イントラ予測において採用されたイントラ予測モードを指定するイントラ予測モード情報に割り当てられた２値化の符号長を決定し、逆２値化部が、決定された符号長で前記イントラ予測モード情報の２値データを逆２値化する画像処理方法である。
【００３５】
本発明の他の側面は、さらに、コンピュータを、符号化時のイントラ予測において行われたイントラ予測モードの使用制限の度合いを示す制限レベルに基づいて、前記イントラ予測において採用されたイントラ予測モードを指定するイントラ予測モード情報に割り当てられた２値化の符号長を決定する符号長決定部、決定された符号長で前記イントラ予測モード情報の２値データを逆２値化する逆２値化部として機能させるためのプログラムである。
【００３６】
本発明の一側面においては、符号化する画像の内容に応じて、イントラ予測モードを指定するイントラ予測モード情報に割り当てる２値化の符号長が決定され、決定された符号長で前記イントラ予測モード情報が２値化される。
【００３７】
本発明の他の側面においては、符号化時のイントラ予測において行われたイントラ予測モードの使用制限の度合いを示す制限レベルに基づいて、前記イントラ予測において採用されたイントラ予測モードを指定するイントラ予測モード情報に割り当てられた２値化の符号長が決定され、決定された符号長で前記イントラ予測モード情報の２値データが逆２値化される。
【発明の効果】
【００３８】
本発明によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
【図面の簡単な説明】
【００３９】
【図１】AVC符号化方式に基づく画像圧縮情報を出力する画像符号化装置を示すブロック図である。
【図２】AVC符号化方式に基づく画像圧縮情報を入力とする画像復号装置を示すブロック図である。
【図３】AVC符号化方式における１つのマクロブロックに含まれる４×４ブロックの処理順序を示した図である。
【図４】AVC符号化方式において定められているイントラ４×４予測モードを示す図である。
【図５】AVC符号化方式において定められているイントラ４×４予測モードを示す図である。
【図６】AVC符号化方式において定められているイントラ４×４予測モードの予測方向を示した図である。
【図７】AVC符号化方式において定められているイントラ４×４予測モードの予測方法を説明するための図である。
【図８】AVC符号化方式において定められているイントラ４×４予測モードの符号化方法を説明するための図である。
【図９】AVC符号化方式において定められているイントラ８×８予測モードを示した図である。
【図１０】AVC符号化方式において定められているイントラ８×８予測モードを示した図である。
【図１１】AVC符号化方式において定められているイントラ１６×１６予測モードを示した図である。
【図１２】AVC符号化方式において定められているイントラ１６×１６予測モードを示した図である。
【図１３】AVC符号化方式において定められているイントラ１６×１６予測モードにおける予測値の算出方法を説明するための図である。
【図１４】AVC符号化方式において定められている色差信号に対する予測モードの例を示す図である。
【図１５】コーディングユニットの構成例を説明する図である。
【図１６】Angular Prediction イントラ予測方式を説明する図である。
【図１７】Arbitrary Directional Intra イントラ予測方式を説明する図である。
【図１８】イントラ予測モードの番号の符号化・復号を説明する図である。
【図１９】本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
【図２０】モード制限レベル制御部の主な構成例を示すブロック図である。
【図２１】テーブルの例を示す図である。
【図２２】テーブルの他の例を示す図である。
【図２３】可逆符号化部の主な構成例を示すブロック図である。
【図２４】符号化処理の流れの例を説明するフローチャートである。
【図２５】イントラ予測処理の流れの例を説明するフローチャートである。
【図２６】モード制限レベル制御処理の流れの例を説明するフローチャートである。
【図２７】可逆符号化処理の流れの例を説明するフローチャートである。
【図２８】イントラ予測モード情報符号化処理の流れの例を説明するフローチャートである。
【図２９】イントラ予測モード情報符号化処理の流れの例を説明する、図２８に続くフローチャートである。
【図３０】モード制限レベル制御部の他の構成例を示すブロック図である。
【図３１】モード制限レベル制御処理の流れの他の例を説明するフローチャートである。
【図３２】テーブルのさらに他の例を示す図である。
【図３３】本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【図３４】可逆復号部の主な構成例を示すブロック図である。
【図３５】復号処理の流れの例を説明するフローチャートである。
【図３６】可逆復号処理の流れの例を説明するフローチャートである。
【図３７】イントラ予測モード情報復号処理の流れの例を説明するフローチャートである。
【図３８】イントラ予測モード情報復号処理の流れの例を説明する、図３７に続くフローチャートである。
【図３９】本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。
【図４０】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図４１】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図４２】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図４３】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００４０】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（パーソナルコンピュータ）
４．第４の実施の形態（テレビジョン受像機）
５．第５の実施の形態（携帯電話機）
６．第６の実施の形態（ハードディスクレコーダ）
７．第７の実施の形態（カメラ）
【００４１】
＜１．第１の実施の形態＞
［AVC符号化方式の画像符号化装置］
図１は、H．264及びMPEG（Moving Picture Experts Group）4 Part10（AVC（Advanced Video Coding））符号化方式により画像を符号化する画像符号化装置の一実施の形態の構成を表している。
【００４２】
図１に示される画像符号化装置１００は、AVC規格に基づいた符号化方式で画像を符号化し、出力する装置である。図１に示されるように、画像符号化装置１００は、A/D変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、および蓄積バッファ１０７を有する。また、画像符号化装置１００は、逆量子化部１０８、逆直交変換部１０９、演算部１１０、デブロックフィルタ１１１、フレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、選択部１１６、およびレート制御部１１７を有する。
【００４３】
A/D変換部１０１は、入力された画像データをA/D変換し、画面並べ替えバッファ１０２に出力し、記憶させる。画面並べ替えバッファ１０２は、記憶した表示の順番のフレームの画像を、GOP（Group of Picture）構造に応じて、符号化のためのフレームの順番に並べ替える。
【００４４】
画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、演算部１０３に供給する。また、画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、イントラ予測部１１４および動き予測・補償部１１５にも供給する。
【００４５】
演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５から供給される予測画像を減算し、その差分情報を直交変換部１０４に出力する。
【００４６】
例えば、イントラ符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、イントラ予測部１１４から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、動き予測・補償部１１５から供給される予測画像を減算する。
【００４７】
直交変換部１０４は、演算部１０３から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部１０５に供給する。
【００４８】
量子化部１０５は、直交変換部１０４が出力する変換係数を量子化する。量子化部１０５は、レート制御部１１７から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、量子化を行う。量子化部１０５は、量子化された変換係数を可逆符号化部１０６に供給する。
【００４９】
可逆符号化部１０６は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。係数データは、レート制御部１１７の制御の下で量子化されているので、この符号量は、レート制御部１１７が設定した目標値となる（若しくは目標値に近似する）。
【００５０】
可逆符号化部１０６は、イントラ予測を示す情報などをイントラ予測部１１４から取得し、インター予測モードを示す情報や動きベクトル情報などを動き予測・補償部１１５から取得する。なお、イントラ予測（画面内予測）を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測（画面間予測）を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
【００５１】
可逆符号化部１０６は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどの各種情報を、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部１０６は、符号化して得られた符号化データを蓄積バッファ１０７に供給して蓄積させる。
【００５２】
例えば、可逆符号化部１０６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００５３】
蓄積バッファ１０７は、可逆符号化部１０６から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H．264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００５４】
また、量子化部１０５において量子化された変換係数は、逆量子化部１０８にも供給される。逆量子化部１０８は、その量子化された変換係数を、量子化部１０５による量子化に対応する方法で逆量子化する。逆量子化部１０８は、得られた変換係数を、逆直交変換部１０９に供給する。
【００５５】
逆直交変換部１０９は、供給された変換係数を、直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力（復元された差分情報）は、演算部１１０に供給される。
【００５６】
演算部１１０は、逆直交変換部１０９より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。
【００５７】
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部１１０は、その差分情報にイントラ予測部１１４から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部１１０は、その差分情報に動き予測・補償部１１５から供給される予測画像を加算する。
【００５８】
その加算結果は、デブロックフィルタ１１１またはフレームメモリ１１２に供給される。
【００５９】
デブロックフィルタ１１１は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去するとともに、例えばウィナーフィルタ（Wiener Filter）を用いて適宜ループフィルタ処理を行うことにより画質改善を行う。デブロックフィルタ１１１は、各画素をクラス分類し、クラスごとに適切なフィルタ処理を施す。デブロックフィルタ１１１は、そのフィルタ処理結果をフレームメモリ１１２に供給する。
【００６０】
フレームメモリ１１２は、所定のタイミングにおいて、蓄積されている参照画像を、選択部１１３を介してイントラ予測部１１４または動き予測・補償部１１５に出力する。
【００６１】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ１１２は、参照画像を、選択部１１３を介してイントラ予測部１１４に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ１１２は、参照画像を、選択部１１３を介して動き予測・補償部１１５に供給する。
【００６２】
選択部１１３は、フレームメモリ１１２から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部１１４に供給する。また、選択部１１３は、フレームメモリ１１２から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部１１５に供給する。
【００６３】
イントラ予測部１１４は、画面内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１１４は、複数のモード（イントラ予測モード）によりイントラ予測を行う。
【００６４】
H.264画像情報符号化方式において、輝度信号に対しては、イントラ4×4予測モード、イントラ8×8予測モード及びイントラ16×16予測モードが定義されており、また、色差信号に関しては、それぞれのマクロブロックごとに、輝度信号とは独立した予測モードを定義することが可能である。イントラ4×4予測モードについては、それぞれの4×4輝度ブロックに対して、イントラ8×8予測モードについては、それぞれの8×8輝度ブロックに対して、１つのイントラ予測モードが定義されることになる。イントラ16×16予測モード、並びに、色差信号に対しては、１つのマクロブロックに対して、それぞれ１つの予測モードが定義されることになる。
【００６５】
イントラ予測部１１４は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部１１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部１１６を介して演算部１０３や演算部１１０に供給する。
【００６６】
また、上述したように、イントラ予測部１１４は、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部１０６に供給する。
【００６７】
動き予測・補償部１１５は、インター符号化が行われる画像について、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１３を介してフレームメモリ１１２から供給される参照画像とを用いて、動き予測を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。
【００６８】
動き予測・補償部１１５は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部１１５は、生成された予測画像を、選択部１１６を介して演算部１０３や演算部１１０に供給する。
【００６９】
また、動き予測・補償部１１５は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部１０６に供給する。
【００７０】
選択部１１６は、イントラ符号化を行う画像の場合、イントラ予測部１１４の出力を演算部１０３や演算部１１０に供給し、インター符号化を行う画像の場合、動き予測・補償部１１５の出力を演算部１０３や演算部１１０に供給する。
【００７１】
レート制御部１１７は、蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００７２】
［AVC符号化方式の画像復号装置］
図２は、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像復号装置の主な構成例を示すブロック図である。図２に示される画像復号装置２００は、図１の画像符号化装置１００に対応する復号装置である。
【００７３】
画像符号化装置１００より符号化された符号化データは、例えば、所定の伝送路を介して、この画像符号化装置１００に対応する画像復号装置２００に供給され、復号される。
【００７４】
図２に示されるように、画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、デブロックフィルタ２０６、画面並べ替えバッファ２０７、およびD/A変換部２０８を有する。また、画像復号装置２００は、フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３を有する。
【００７５】
蓄積バッファ２０１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置１００により符号化されたものである。可逆復号部２０２は、蓄積バッファ２０１から所定のタイミングで読み出された符号化データを、図１の可逆符号化部１０６の符号化方式に対応する方式で復号する。
【００７６】
また、当該フレームがイントラ符号化されたものである場合、符号化データのヘッダ部にはイントラ予測モード情報が格納されている。可逆復号部２０２は、このイントラ予測モード情報も復号し、その情報をイントラ予測部２１１に供給する。これに対して、当該フレームがインター符号化されたものである場合、符号化データのヘッダ部には動きベクトル情報が格納されている。可逆復号部２０２は、この動きベクトル情報も復号し、その情報を動き予測・補償部２１２に供給する。
【００７７】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた係数データ（量子化係数）を、図１の量子化部１０５の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部２０３は、図１の逆量子化部１０８と同様の方法で量子化係数の逆量子化を行う。
【００７８】
逆量子化部２０３は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部２０４に供給する。逆直交変換部２０４は、図１の直交変換部１０４の直交変換方式に対応する方式（図１の逆直交変換部１０９と同様の方式）で、その直交変換係数を逆直交変換し、画像符号化装置１００において直交変換される前の残差データに対応する復号残差データを得る。例えば、４次の逆直交変換が施される。
【００７９】
逆直交変換されて得られた復号残差データは、演算部２０５に供給される。また、演算部２０５には、選択部２１３を介して、イントラ予測部２１１若しくは動き予測・補償部２１２から予測画像が供給される。
【００８０】
演算部２０５は、その復号残差データと予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部２０５は、その復号画像データをデブロックフィルタ２０６に供給する。
【００８１】
デブロックフィルタ２０６は、供給された復号画像のブロック歪を除去した後、画面並べ替えバッファ２０７に供給する。
【００８２】
画面並べ替えバッファ２０７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０８は、画面並べ替えバッファ２０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【００８３】
デブロックフィルタ２０６の出力は、さらに、フレームメモリ２０９に供給される。
【００８４】
フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３は、画像符号化装置１００のフレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、および選択部１１６にそれぞれ対応する。
【００８５】
選択部２１０は、インター処理される画像と参照される画像をフレームメモリ２０９から読み出し、動き予測・補償部２１２に供給する。また、選択部２１０は、イントラ予測に用いられる画像をフレームメモリ２０９から読み出し、イントラ予測部２１１に供給する。
【００８６】
イントラ予測部２１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部２０２から適宜供給される。イントラ予測部２１１は、この情報に基づいて、フレームメモリ２０９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【００８７】
動き予測・補償部２１２は、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等）を可逆復号部２０２から取得する。
【００８８】
動き予測・補償部２１２は、可逆復号部２０２から供給されるそれらの情報に基づいて、フレームメモリ２０９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【００８９】
選択部２１３は、動き予測・補償部２１２またはイントラ予測部２１１により生成された予測画像を選択し、演算部２０５に供給する。
【００９０】
［イントラ予測モード］
次に、AVC符号化方式で定められているイントラ予測方式について述べる。AVC符号化方式の場合、輝度信号については、イントラ４×４予測モードとイントラ８×８予測モード、イントラ１６×１６予測モードの３通りの方式が定められている。図３に示されるように、イントラ１６×１６予測モードの際には、各ブロックの直流成分を集めて４×４行列が生成され、これに対して、更に、直交変換が施される。
【００９１】
イントラ８×８予測モードに関しては、ハイプロファイル若しくはそれ以上のプロファイルで、当該マクロブロックに、８×８直交変換が施される場合についてのみ適用可能である。
【００９２】
［イントラ４×４予測モード］
以下では、まず、イントラ４×４予測モードについて述べる
【００９３】
AVC符号化方式において規定される９通りのイントラ４×４予測モードを、図４および図５に示す。このうち、DC予測（モード２）以外のモードに関しては、図６に示される通り、それぞれのモードが一定の方向を示している。つまり、イントラ４×４予測モードにおいては、９通りの予測方向（予測モード）が用意されている。
【００９４】
図７において、'a'〜'p'は、当該ブロックの画素を示し、'A'〜'M'は隣接ブロックに属する画素値を示す。表に示したそれぞれのモードについて、以下に述べるように、'A'〜'M'を用いて'a'〜'p'の予測画素値を生成する。
【００９５】
モード０（Mode 0）はVertical Predictionであり、A,B,C,Dが "available" の場合のみ適用される。予測画素値は以下の通りである。
【００９６】
a, e, i, m :      A
b, f, j, n :      B
c, g, k, o :      C
d, h, l, p :      D
【００９７】
モード１（Mode 1）は、Horizontal Predictionであり、I,J,K,Lが "available" の場合のみ適用される。それぞれの予測画素値は以下のように生成される。
【００９８】
a, b, c, d :      I,
e, f, g, h :      J,
i, j, k, l :      K,
m, n, o, p :      L.
【００９９】
モード２（Mode 2）は、DC Predictionであり、A,B,C,D,I,J,K,Lが全て "available" である時、予測値は、以下の式（１）ように生成される。
【０１００】
【数１】
2012160991.tif 000003
・・・（１）
【０１０１】
また、A,B,C,Dが全て "unavailable" である時、予測値は、以下の式（２）ように生成される。
【０１０２】
【数２】
2012160991.tif 000004
・・・（２）
【０１０３】
また、I,J,K,Lが全て "unavailable" である時、予測値は以下の式（３）ように生成される。
【０１０４】
【数３】
2012160991.tif 000005
・・・（３）
【０１０５】
A,B,C,D,I,J,K,Lが全て "unavailable" である時、128を予測値として用いる。
【０１０６】
モード３（Mode 3）は、Diagonal_Down_Left Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
【０１０７】
a :               (A + 2B + C + 2) >> 2
b, e :            (B + 2C + D + 2) >> 2
c, f, i :         (C + 2D + E + 2) >> 2
d, g, j, m :      (D + 2E + F + 2) >> 2
h, k, n :         (E + 2F + G + 2) >> 2
l, o :            (F + 2G + H + 2) >> 2
p :               (G + 3H + 2) >> 2
【０１０８】
モード４（Mode 4）は、Diagonal_Down_Right Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
【０１０９】
m :               (J + 2K + L + 2) >> 2
i, n :            (I + 2J + K + 2) >> 2
e, j, o :         (M + 2I + J + 2) >> 2
a, f, k, p :      (A + 2M + I + 2) >> 2
b, g, l :         (M + 2A + B + 2) >> 2
c, h :            (A + 2B + C + 2) >> 2
d :               (B + 2C + D + 2) >> 2
【０１１０】
モード５（Mode 5）は、Diagonal_Vertical_Right Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
【０１１１】
a, j :      (M + A + 1) >> 1
b, k :      (A + B + 1) >> 1
c, l :      (B + C + 1) >> 1
d :         (C + D + 1) >> 1
e, n :      (I + 2M + A + 2) >> 2
f, o :      (M + 2A + B + 2) >> 2
g, p :      (A + 2B + C + 2) >> 2
h :         (B + 2C + D + 2)  >> 2
i :         (M + 2I + J + 2) >> 2
m :         (I + 2J + K + 2) >> 2
【０１１２】
モード６（Mode 6）は、Horizontal_Down Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
【０１１３】
a, g :      (M + I + 1) >> 1
b, h :      (I + 2M + A+ 2) >> 2
c :         (M + 2A + B+ 2) >> 2
d :         (A + 2B + C+ 2) >> 2
e, k :      (I + J + 1) >> 1
f, l :      (M + 2I + J+ 2) >> 2
i, o :      (J + K + 1) >> 1
j, p :      (I + 2J + K+ 2) >> 2
m :         (K + L + 1) >> 1
n :         (J + 2K + L + 2) >> 2
【０１１４】
モード７（Mode 7）は、Vertical_Left Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
【０１１５】
a :         (A + B + 1) >> 1
b, i :      (B + C + 1) >> 1
c, j :      (C + D + 1) >> 1
d, k :      (D + E + 1) >> 1
l :         (E + F + 1) >> 1
e :         (A + 2B + C + 2) >> 2
f, m :      (B + 2C + D + 2) >> 2
g, n :      (C + 2D + E + 2) >> 2
h, o :      (D + 2E + F + 2) >> 2
p :         (E + 2F + G + 2) >> 2
【０１１６】
モード８（Mode 8）は、Horizontal_Up Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
【０１１７】
a :                     (I + J + 1) >> 1
b :                     (I + 2J + K + 2) >> 2
c, e :                  (J + K + 1) >> 1
d, f :                  (J + 2K + L + 2) >> 2
g, i :                  (K + L + 1) >> 1
h, j :                  (K + 3L + 2) >> 2
k, l, m, n, o, p :      L
【０１１８】
次に、イントラ４×４予測モード（Intra_4x4_pred_mode）の符号化方式について説明する。
【０１１９】
図８において、Ｃを当該4×4 ブロック、Ａ及びＢを隣接する４×４ブロックであるとすると、Ｃにおけるイントラ４×４予測モード（Intra_4x4_pred_mode）と、Ａ及びＢにおけるイントラ４×４予測モード（Intra_4x4_pred_mode）は高い相関があると考えられる。この事実を利用して、以下のように符号化処理を行うことにより、より高い符号化効率を実現することが可能である。
【０１２０】
すなわち、図８において、ＡおよびＢに対するイントラ４×４予測モード（Intra_4x4_pred_mode）をそれぞれイントラ４×４予測モードＡ（Intra_4x4_pred_modeA）およびイントラ４×４予測モードＢ（Intra_4x4_pred_modeB）として、MostProbableModeを以下の式（４）のように定義する。
【０１２１】
MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)  ・・・（４）
【０１２２】
すなわち、Ａ，Ｂのうち、より小さなモード番号（mode_number）を割り当てられている方をMostProbableModeとする。つまり、隣接ブロックＡおよびＢの予測モード（予測方向）を用いて、当該ブロックＣの予測モード（予測方向）を予測する。その予測値をMostProbableModeとする。
【０１２３】
ビットストリーム中には、当該４×４ブロックに対するパラメータとして、prev_intra4x4_pred_mode_flag［luma4x4BlkIdx］、および、rem_intra4x4_pred_mode［luma4x4BlkIdx］という２つの値が定義されており、以下に示される擬似コードに基づく処理により、復号処理が行われ、当該４×４ブロックに対するイントラ４×４予測モード（Intra_4x4_pred_mode）を示す、Intra4x4PredMode[luma4x4BlkIdx] の値を得ることが出来る。
【０１２４】
if(prev_intra4x4_pred_mode_flag[luma4x4BlkIdx])
Intra4x4PredMode[luma4x4BlkIdx] = MostProbableMode
else
if(rem_intra4x4_pred_mode[luma4x4BlkIdx] < MostProbableMode)
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]
else
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx] + 1
【０１２５】
［イントラ８×８予測方式］
次に、イントラ８×８予測方式について説明する。
【０１２６】
AVCにおいては、図９および図１０に示されるように、９通りのイントラ８×８予測モード（Intra_8x8_pred_mode）が定義されている。つまり、イントラ８×８予測モードには９通りの予測方向（予測モード）が用意されている。当該８×８ブロックにおける画素値をp[x,y]（０≦ｘ≦７；０≦ｙ≦７）とし、隣接ブロックの画素値をp[-1,-1],…,p[-1,15],p[-1,0],…p[-1,7]のように表すものとする。
【０１２７】
イントラ８×８予測モードについては、以下に述べるとおり、予測値を生成するに先立ち、隣接画素にローパスフィルタリング処理を施す。ここで、ローパスフィルタリング処理前の画素値をp[-1,-1],…,p[-1,15],p[-1,0],…p[-1,7]、処理後の画素値をp'[-1,-1],…,p'[-1,15],p'[-1,0],…p'[-1,7]と表すとする。
【０１２８】
まず、p[-1,-1] が "available" である場合、p'[0,-1]は、以下の式（５）のように算出される。
【０１２９】
p'[0,-1] = (p[-1,-1] + 2*p[0,-1] + p[1,-1] + 2) >> 2  ・・・（５）
【０１３０】
また、p[-1,-1] が "not available" である場合、p'[0,-1]は、以下の式（６）のように算出される。
【０１３１】
p'[0,-1] = (3*p[0,-1] + p[1,-1] + 2) >> 2  ・・・（６）
【０１３２】
p'[x,-1] (x=0,…,7)は、以下の式（７）のように算出される。
【０１３３】
p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2  ・・・（７）
【０１３４】
p[x,-1] (x=8,…,15) が "available" である場合、p'[x,-1] (x=8,…,15)は、以下の式（８）および式（９）のように算出される。
【０１３５】
p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2  ・・・（８）
p'[15,-1] = (p[14,-1] + 3*p[15,-1] + 2) >>2  ・・・（９）
【０１３６】
次にp[-1,-1]が "available" である場合について説明する。p[0,-1]及びp[-1,0]の双方がavailableである場合、p'[-1,-1]は、以下の式（１０）のように算出される。
【０１３７】
p'[-1,-1] = (p[0,-1] + 2*p[-1,-1] + p[-1,0] + 2) >>2  ・・・（１０）
【０１３８】
また、p[-1,0] が "unavailable" である場合、p'[-1,-1]は、以下の式（１１）のように算出される。
【０１３９】
p'[-1,-1] = (3*p[-1,-1] + p[0,-1] + 2) >>2  ・・・（１１）
【０１４０】
さらに、p[0,-1] が "unavailable" である場合、p'[-1,-1]は、以下の式（１２）のように算出される。
【０１４１】
p'[-1,-1] = (3*p[-1,-1] + p[-1,0] + 2) >>2  ・・・（１２）
【０１４２】
また、p'[-1,y] (y=0, … ,7) は、p[-1,y] (y=0, … ,7) が "available" の時、以下のように算出される。すなわち、まず、p[-1,-1]が "available" である場合、p'[-1,0]は、以下の式（１３）のように算出される。
【０１４３】
p'[-1,0] = (p[-1,-1] + 2*p[-1,0] + p[-1,1] + 2) >>2  ・・・（１３）
【０１４４】
また、p[-1,-1]が "unavailable" である場合、p'[-1,0]は、以下の式（１４）のように算出される。
【０１４５】
p'[-1,0] = (3*p[-1,0] + p[-1,1] + 2) >>2  ・・・（１４）
【０１４６】
なお、p'[-1,y] (y=1,…,6)は、以下の式（１５）のように算出される。
【０１４７】
p[-1,y] = (p[-1,y-1] + 2*p[-1,y] + p[-1,y+1] + 2) >>2  ・・・（１５）
【０１４８】
また、p'[-1,7]は、以下の式（１６）のように算出される。
【０１４９】
p'[-1,7] = (p[-1,6] + 3*p[-1,7] + 2) >>2  ・・・（１６）
【０１５０】
このように算出されたp'を用いて、図９に示された各イントラ予測モードにおける予測値は以下のように算出される。
【０１５１】
モード０（Mode 0）は、Vertical Predictionであり、p[x,-1] (x=0, … ,7) が "available" である時のみ適用される。予測値pred8x8L[x,y]は、以下の式（１７）のように算出される。
【０１５２】
pred8x8L[x,y] = p'[x,-1] x,y=0,...,7  ・・・（１７）
【０１５３】
モード１（Mode 1）は、Horizontal Predictionであり、p[-1,y] (y=0, … ,7) が "available" である時のみ適用される。予測値pred8x8L[x,y]は、以下の式（１８）のように算出される。
【０１５４】
pred8x8L[x,y] = p'[-1,y] x,y=0,...,7  ・・・（１８）
【０１５５】
モード２（Mode 2）は、DC Predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が "available" である場合、予測値pred8x8L[x,y]は以下の式（１９）のように算出される。
【０１５６】
【数４】
2012160991.tif 000006
・・・（１９）
【０１５７】
p[x,-1] (x=0, … ,7) は、 "available" であるが、 p[-1,y] (y=0, … ,7) が "unavailable" である場合、予測値pred8x8L[x,y]は以下の式（２０）のように算出される。
【０１５８】
【数５】
2012160991.tif 000007
・・・（２０）
【０１５９】
p[x,-1] (x=0, … ,7) は、 "unavailable" であるが、 p[-1,y] (y=0, … ,7) が "available" である場合、予測値pred8x8L[x,y]は以下の式（２１）のように算出される。
【０１６０】
【数６】
2012160991.tif 000008
・・・（２１）
【０１６１】
p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が "unavailable" である場合、予測値pred8x8L[x,y]は以下の式（２２）のように算出される(但し8ビット入力の場合)。
【０１６２】
pred8x8L[x,y] = 128  ・・・（２２）
【０１６３】
モード３（Mode 3）は、Diagonal_Down_Left_predictionであり、予測値pred8x8L[x,y]は、以下の通り算出される。すなわち、Diagonal_Down_Left_predictionは、p[x,-1], x=0,…,15が "available" の時のみ適用され、x=7かつy=7のとき、予測値pred8x8L[x,y]は、以下の式（２３）のように算出される。
【０１６４】
pred8x8L[x,y] = (p'[14,-1] + 3*p[15,-1] + 2) >> 2  ・・・（２３）
【０１６５】
その他の予測値pred8x8L[x,y]は、以下の式（２４）のように算出される。
【０１６６】
pred8x8L[x,y] = (p'[x+y,-1] + 2*p'[x+y+1,-1] + p'[x+y+2,-1] + 2) >> 2
・・・（２４）
【０１６７】
モード４（Mode 4）は、Diagonal_Down_Right_predictionであり、予測値pred8x8L[x,y]は、以下の通り算出される。すなわち、Diagonal_Down_Right_predictionは、p[x,-1],x=0,…,7及びp[-1,y],y=0,…,7が "available"の時のみ適用され、x > y であるとき、予測値pred8x8L[x,y]は、以下の式（２５）のように算出される。
【０１６８】
pred8x8L[x,y] = (p'[x-y-2,-1] + 2*p'[x-y-1,-1] + p'[x-y,-1] + 2) >> 2
・・・（２５）
【０１６９】
また、x < y であるとき、予測値pred8x8L[x,y]は、以下の式（２６）のように算出される。
【０１７０】
pred8x8L[x,y] = (p'[-1,y-x-2] + 2*p'[-1,y-x-1] + p'[-1,y-x] + 2) >> 2
・・・（２６）
【０１７１】
さらに、x = yであるとき、予測値pred8x8L[x,y]は、以下の式（２７）のように算出される。
【０１７２】
pred8x8L[x,y] = (p'[0,-1] + 2*p'[-1,-1] + p'[-1,0] + 2) >> 2
・・・（２７）
【０１７３】
モード５（Mode 5）は、Vertical_Right_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、Vertical_Right_predictionは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が "available"の時のみ適用される。zVRを、以下の式（２８）のように定義する。
【０１７４】
zVR = 2*x - y  ・・・（２８）
【０１７５】
zVRが、0,2,4,6,8,10,12,14の場合、予測値pred8x8L[x,y]は、以下の式（２９）のように算出される。
【０１７６】
pred8x8L[x,y] = (p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 1) >> 1
・・・（２９）
【０１７７】
また、zVRが1,3,5,7,9,11,13の場合、予測値pred8x8L[x,y]は、以下の式（３０）のように算出される。
【０１７８】
pred8x8L[x,y] = (p'[x-(y>>1)-2,-1] + 2*p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 2) >> 2
・・・（３０）
【０１７９】
また、zVRが-1の場合、予測値pred8x8L[x,y]は、以下の式（３１）のように算出される。
【０１８０】
pred8x8L[x,y] = (p'[-1,0] + 2*p'[-1,-1] + p'[0,-1] + 2) >> 2
・・・（３１）
【０１８１】
これ以外の場合、すなわち、zVRが-2,-3,-4,-5,-6,-7の場合、以下の式（３２）のように算出される。
【０１８２】
pred8x8L[x,y] = (p'[-1,y-2*x-1] + 2*p'[-1,y-2*x-2] + p'[-1,y-2*x-3] + 2) >> 2
・・・（３２）
【０１８３】
モード６（Mode 6）は、Horizontal_Down_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。Horizontal_Down_predictionは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が "available"の時のみ適用される。zVRを以下の式（３３）のように定義する。
【０１８４】
zHD = 2*y - x  ・・・（３３）
【０１８５】
zHDが0,2,4,6,8,10,12,14の場合、予測値pred8x8L[x,y]は、以下の式（３４）のように算出される。
【０１８６】
pred8x8L[x,y] = (p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1) + 1] >> 1
・・・（３４）
【０１８７】
また、zHDが1,3,5,7,9,11,13の場合、予測値pred8x8L[x,y]は、以下の式（３５）のように算出される。
【０１８８】
pred8x8L[x,y] = (p'[-1,y-(x>>1)-2] + 2*p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1)] + 2) >> 2
・・・（３５）
【０１８９】
また、zHDが-1の場合、予測値pred8x8L[x,y]は、以下の式（３６）のように算出される。
【０１９０】
pred8x8L[x,y] = (p'[-1,0] + 2*p[-1,-1] + p'[0,-1] + 2) >> 2
・・・（３６）
【０１９１】
また、zHDがこれ以外の値の場合、すなわち、-2,-3,-4,-5,-6,-7の場合、予測値pred8x8L[x,y]は、以下の式（３７）のように算出される。
【０１９２】
pred8x8L[x,y] = (p'[x-2*y-1,-1] + 2*p'[x-2*y-2,-1] + p'[x-2*y-3,-1] + 2) >> 2
・・・（３７）
【０１９３】
モード７（Mode 7）は、Vertical_Left_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、Vertical_Left_predictionは、p[x,-1], x=0,…,15が "available" の時のみ適用され、y=0,2,4,6の場合、予測値pred8x8L[x,y]は、以下の式（３８）のように算出される。
【０１９４】
pred8x8L[x,y] = (p'[x+(y>>1),-1] + p'[x+(y>>1)+1,-1] + 1) >> 1
・・・（３８）
【０１９５】
それ以外の場合、すなわち、y=1,3,5,7の場合、予測値pred8x8L[x,y]は、以下の式（３９）のように算出される。
【０１９６】
pred8x8L[x,y] = (p'[x+(y>>1),-1] + 2*p'[x+(y>>1)+1,-1] + p'[x+(y>>1)+2,-1] + 2) >> 2
・・・（３９）
【０１９７】
モード８（Mode 8）は、Horizontal_Up_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、Horizontal_Up_predictionは、p[-1,y], y=0,…,7 が "available" の時のみ適用される。以下では、zHUを以下の式（４０）のように定義する。
【０１９８】
zHU = x + 2*y  ・・・（４０）
【０１９９】
zHUの値が0,2,4,6,8,10,12の場合、予測値pred8x8L[x,y]は、以下の式（４１）のように算出される。
【０２００】
pred8x8L[x,y] = (p'[-1,y+(x>>1)] + p'[-1,y+(x>>1)+1] + 1) >> 1
・・・（４１）
【０２０１】
zHUの値が1,3,5,7,9,11の場合、予測値pred8x8L[x,y]は、以下の式（４２）のように算出される。
【０２０２】
pred8x8L[x,y] = (p'[-1,y+(x>>1)]  ・・・（４２）
【０２０３】
zHUの値が13の場合、予測値pred8x8L[x,y]は、以下の式（４３）のように算出される。
【０２０４】
pred8x8L[x,y] = (p'[-1,6] + 3*p'[-1,7] + 2) >> 2  ・・・（４３）
【０２０５】
それ以外の場合、すなわち、zHUの値が13より大きい場合、予測画素値は、以下の式（４４）のように算出される。
【０２０６】
pred8x8L[x,y] = p'[-1,7]  ・・・（４４）
【０２０７】
［イントラ１６×１６予測方式］
次に、イントラ１６×１６予測方式について説明する。
【０２０８】
AVCにおいては、図１１および図１２に示されるように、4通りのイントラ１６×１６予測モード（Intra_16x16_pred_mode）が定義されている。つまり、イントラ１６×１６予測モードには、４通りの予測方向（予測モード）が用意されている。当該マクロブロックに含まれる画素値、並びに、隣接画素値を図１３のように定義すると、それぞれの予測値は、以下のように生成される。
【０２０９】
モード０（Mode 0）は、Vertical Predictionであり、P(x,-1); x,y=-1..15が "available" である時のみ適用される。それぞれの予測値は以下の式（４５）のように算出される。
【０２１０】
【数７】
2012160991.tif 000009
・・・（４５）
【０２１１】
モード１（Mode 1）は、Horizontal Predictionであり、P(-1,y); x,y=-1..15が "available" である時のみ適用される。それぞれの予測値は以下の式（４６）のように算出される。
【０２１２】
【数８】
2012160991.tif 000010
・・・（４６）
【０２１３】
モード２（Mode 2）は、DC Predictionであり、P(x,-1)及びP(-1,y); x,y=-1..15が全て "available" である場合、予測値は以下の式（４７）のように算出される。
【０２１４】
【数９】
2012160991.tif 000011
・・・（４７）
【０２１５】
また、P(x,-1); x,y=-1..15が "not available" である場合、予測値は以下の式（４８）のように生成される。
【０２１６】
【数１０】
2012160991.tif 000012
・・・（４８）
【０２１７】
P(-1,y); x,y=-1..15が "not available" である場合、予測値は以下の式（４９）のように生成される。
【０２１８】
【数１１】
2012160991.tif 000013
・・・（４９）
【０２１９】
なお、P(x,-1)及びP(-1,y); x,y=-1..15が全て "not available" である場合、予測値として128が用いられる。
【０２２０】
モード３（Mode 3）は、Plane Predictionであり、P(x,-1)及びP(-1,y); x,y=-1..15が全て "available" の場合のみ適用される。それぞれの予測値は以下の式（５０）乃至式（５５）のように生成される。
【０２２１】
【数１２】
2012160991.tif 000014
・・・（５０）
【数１３】
2012160991.tif 000015
・・・（５１）
【数１４】
2012160991.tif 000016
・・・（５２）
【数１５】
2012160991.tif 000017
・・・（５３）
【数１６】
2012160991.tif 000018
・・・（５４）
【数１７】
2012160991.tif 000019
・・・（５５）
【０２２２】
［色差信号に対するイントラ予測モード］
次に、色差信号に対するイントラ予測モードについて述べる。色差信号に対するイントラ予測モードは、以下の通り、イントラ１６×１６予測モードに順ずる。但し、イントラ１６×１６予測モードが、１６×１６ブロックを対象としているのに対し、色差信号に対するイントラ予測モードは８×８ブロックを対象としている。更に、また、モード番号（mode番号）と、対応するモード（mode）が異なっていることに注意されたい。
【０２２３】
色差信号に対する予測モードは、輝度信号に対するモードとは独立に設定することが可能である。
【０２２４】
以下では、当該マクロブロック（Macroblock）に含まれる画素値及び隣接画素値の定義については、イントラ１６×１６モード（Intra16x16Mode）の場合に順ずる。それぞれのIntra_chroma_pred_modeにおける予測値の生成は以下の通りである。
【０２２５】
Intra_chroma_pred_modeには、図１４に示されるように、モード０乃至モード３の４つのモードがある。
【０２２６】
モード０（Mode 0）は、DC Predictionであり、P(x,-1)及びP(-1,y)が "available" である場合、予測値は、以下の式（５６）のように算出される。
【０２２７】
【数１８】
2012160991.tif 000020
・・・（５６）
【０２２８】
また、P(-1,y)が "not available" である場合、予測値は、以下の式（５７）のように算出される。
【０２２９】
【数１９】
2012160991.tif 000021
・・・（５７）
【０２３０】
また、P(x,-1)が "not available" である場合、予測値は、以下の式（５８）のように算出される。
【０２３１】
【数２０】
2012160991.tif 000022
・・・（５８）
【０２３２】
モード１（Mode 1）は、Horizontal Predictionであり、P(-1,y) が "available" の場合にのみ適用される。予測値は、以下の式（５９）のように生成される。
【０２３３】
【数２１】
2012160991.tif 000023
・・・（５９）
【０２３４】
モード２（Mode 2）は、Vertical Predictionであり、P(x,-1) が "available" の場合にのみ適用される。予測値は、以下の式（６０）のように生成される。
【０２３５】
【数２２】
2012160991.tif 000024
・・・（６０）
【０２３６】
モード３（Mode 3）は、Plane Predictionであり、P(x,-1)及びP(-1,y) が "available" の場合にのみ適用される。予測値は、以下の式（６１）乃至式（６６）のように生成される。
【０２３７】
【数２３】
2012160991.tif 000025
・・・（６１）
【数２４】
2012160991.tif 000026
・・・（６２）
【数２５】
2012160991.tif 000027
・・・（６３）
【数２６】
2012160991.tif 000028
・・・（６４）
【数２７】
2012160991.tif 000029
・・・（６５）
【数２８】
2012160991.tif 000030
・・・（６６）
【０２３８】
［コスト関数］
ところで、ＡＶＣ符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
【０２３９】
かかる選択方式の例として、http://iphome.hhi.de/suehring/tml/index.htm において公開されている、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエアに実装されている方法を挙げることが出来る。
【０２４０】
JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
【０２４１】
High Complexity Modeにおけるコスト関数は、以下の式（６７）のようになる。
【０２４２】
Cost(Mode∈Ω) = D + λ*R  ・・・（６７）
【０２４３】
ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードModeで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードModeで符号化した場合の総符号量である。
【０２４４】
つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードModeにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
【０２４５】
Low Complexity Modeにおけるコスト関数は、以下の式（６８）のようになる。
【０２４６】
Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit  ・・・（６８）
【０２４７】
ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP) は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
【０２４８】
すなわち、Low Complexity Modeにおいては、それぞれの候補モードModeに関して、予測処理を行う必要があるが、復号化画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
【０２４９】
［コーディングユニット］
ところで、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素×２０００画素）といった大きな画枠に対しては、最適ではない。
【０２５０】
そこで、AVCにおいては、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC（High Efficiency Video Coding）においては、図１５に示されるように、コーディングユニット（CU（Coding Unit））が規定されている。
【０２５１】
CUは、Coding Tree Block（CTB）とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、１６×１６画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【０２５２】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、CUの最大サイズ（LCU（Largest Coding Unit））と最小サイズ（（SCU（Smallest Coding Unit））が規定される。
【０２５３】
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図１５の例では、LCUの大きさが１２８であり、最大階層深度が５となる。２Ｎ×２Ｎの大きさのCUは、split_flagの値が「１」である時、１つ下の階層となる、Ｎ×Ｎの大きさのCUに分割される。
【０２５４】
更に、CUは、イントラ若しくはインター予測の処理単位となる領域（ピクチャ単位の画像の部分領域）であるプレディクションユニット（Prediction Unit（PU））に分割され、また、直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である、トランスフォームユニット（Transform Unit（TU））に分割される。現在、HEVCにおいては、４×４及び８×８に加え、１６×１６及び３２×３２直交変換を用いることが可能である。
【０２５５】
以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図１５に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
【０２５６】
［HEVCイントラ予測方式］
次に、HEVCにおいて定められているイントラ予測方式について説明する。
【０２５７】
HEVCにおいては、イントラ予測のためのPUの単位は、４×４、８×８、１６×１６、３２×３２若しくは６４×６４である。
【０２５８】
４×４の大きさに関しては、AVCと同様のイントラ予測処理が行われる。
【０２５９】
８×８の大きさに関しては、後述する、Angular Predictionと呼ばれる方式に基づいてイントラ予測処理が行われる。
【０２６０】
１６×１６及び３２×３２及び６４×６４の大きさに関しては、後述するArbitrary Directional Intra（ADI）と呼ばれる方式に基づいて、イントラ予測処理が行われる。
【０２６１】
更に、イントラ予測を行うに先立ち、符号化効率を向上させる場合には、係数（1,2,1）によるローパスフィルタ処理が、周辺画素値に施される。施す・施さないに関する情報が、それぞれのPU毎に、画像圧縮情報中に伝送されることになる。
【０２６２】
以下では、HEVC符号化方式において規定されている、Angular Predictionイントラ予測方式について述べる。
【０２６３】
［Angular Predictionイントラ予測方式］
図１６に、Angular Predictionイントラ予測方式を説明するための図を示す。
【０２６４】
すなわち、Angular Predictionにおいては、図１６Ａに示されるような角度のイントラ予測処理を行うことが可能である。
【０２６５】
また、図１６Ａのような角度のイントラ予測を行うためには、図１６Ｂに示されるように、周辺画素の間の画素値を用いる必要が生じるが、このため、Angular Predictionにおいては、１／８画素精度の線形内挿処理を行うことが可能となっている。
【０２６６】
［Arbitrary Directional Intra（ADI）イントラ予測方式］
次に、HEVC符号化方式において規定されている、Arbitrary Directional Intra（ADI）イントラ予測方式について述べる。
【０２６７】
図１７に、Arbitrary Directional Intra（ADI）イントラ予測方式を説明するための図を示す。
【０２６８】
Arbitrary Directional Intra（ADI）イントラ予測方式においては、図１７Ａに示されるように、左下に位置する隣接画素値も用いられる。
【０２６９】
AVC符号化方式の場合と同様に、Vertical，Horizontal，DC，Diagonal Down-Left，Diagonal Down-Right，Vertical-Right，Horizontal-Down，Vertical-Left、およびHorizontal-Upの各予測モードが定義されているが、その他のモードに関しては、図１７Ｂに示されるように、（dx,dy）を符号化情報として画像圧縮情報中に伝送される。
【０２７０】
［イントラ予測モードの指定情報］
当該ブロックをイントラ予測で符号化する際、エンコーダは複数のイントラ予測モードから１つを採用し、どのイントラ予測モードを採用したかを示す index (IntraPredMode) を符号化してデコーダに送る。エンコーダはRD最適化の作法に基づいて複数のイントラ予測モードから最適なイントラ予測モードを選択する。これをイントラ予測モード判定と呼ぶ。エンコーダとデコーダの一致を得るために、デコーダはIntraPredMode に基づいてエンコーダが採用したものと同じイントラ予測モードを採用する。IntraPredMode の符号化では、ハフマン符号や算術符号といったエントロピ符号化が用いられる。
【０２７１】
図１８はイントラ予測モードがエンコーダからデコーダに伝えられる状況を示している。エンコーダでイントラ予測モードの番号は２値化部で２値化される。２値化されたデータはエントロピ符号化部で符号化されてストリーム情報に含められる。ストリームはデコーダでエントロピ復号されて２値化されたデータが取り出される。２値化データは逆２値化部で変換されてイントラ予測モードの番号が得られる。
【０２７２】
一般的に、イントラ予測モードの種類が多いほどイントラ予測の予測精度は向上する。そのため、近年、様々なイントラ予測モードが提案され、HEVC等の新しい符号化方式においては、上述したように多数のイントラ予測モードが用意されるようになってきている。
【０２７３】
しかしながら、用意されるイントラ予測モードの種類が多くなると、全てのイントラ予測モードを識別することができるように、イントラ予測モードを指定する情報の符号長を長くしなければならなくなる。そのために符号量が増大する恐れがある。しかしながら、用意される全てのイントラ予測モードが使用されるとは限らない。つまり、必ず選ばれないイントラ予測モードに対してもIntraPredModeが割り振られているため２値化データが冗長な表現となって符号化効率が不要に低減する恐れがあった。
【０２７４】
また、最適なイントラ予測モードを選択するためには、各イントラ予測モードで予測を行い、それぞれについてコスト関数値を求め、それらを比較する必要がある。つまり、用意されるイントラ予測モードが増大すると、選ばれないモードについての処理量も増大することになり、符号化処理の負荷が不要に増大する恐れがあった。
【０２７５】
そこで本実施においては、イントラ予測モードの数を適応的に制御することができるようにし、このようなイントラ予測における符号化効率の不要な低減や、負荷の不要な増大を抑制することができるようにする。
【０２７６】
［画像符号化装置］
図１９は、本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
【０２７７】
図１９に示される画像符号化装置３００は、図１の画像符号化装置１００と基本的に同様の装置であり、画像データを符号化する。図１９に示されるように画像符号化装置３００は、A/D変換部３０１、画面並べ替えバッファ３０２、演算部３０３、直交変換部３０４、量子化部３０５、可逆符号化部３０６、および蓄積バッファ３０７を有する。また、画像符号化装置３００は、逆量子化部３０８、逆直交変換部３０９、演算部３１０、ループフィルタ３１１、フレームメモリ３１２、選択部３１３、イントラ予測部３１４、動き予測・補償部３１５、選択部３１６、およびレート制御部３１７を有する。
【０２７８】
画像符号化装置３００は、さらに、モード制限レベル制御部３２１を有する。
【０２７９】
A/D変換部３０１は、入力された画像データをA/D変換する。A/D変換部３０１は、変換後の画像データ（デジタルデータ）を、画面並べ替えバッファ３０２に供給し、記憶させる。
【０２８０】
画面並べ替えバッファ３０２は、記憶した表示の順番のフレームの画像を、GOP（Group of Picture）構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ３０２は、フレームの順番を並び替えた画像を、演算部３０３に供給する。また、画面並べ替えバッファ３０２は、フレームの順番を並び替えた画像を、イントラ予測部３１４および動き予測・補償部３１５にも供給する。
【０２８１】
演算部３０３は、画面並べ替えバッファ３０２から読み出された画像から、選択部３１６を介してイントラ予測部３１４若しくは動き予測・補償部３１５から供給される予測画像を減算する。演算部３０３は、その差分情報を直交変換部３０４に出力する。
【０２８２】
例えば、イントラ符号化が行われる画像の場合、演算部３０３は、画面並べ替えバッファ３０２から読み出された画像から、イントラ予測部３１４から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部３０３は、画面並べ替えバッファ３０２から読み出された画像から、動き予測・補償部３１５から供給される予測画像を減算する。
【０２８３】
直交変換部３０４は、演算部３０３から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部３０４は、その変換係数を量子化部３０５に供給する。
【０２８４】
量子化部３０５は、直交変換部３０４から供給される変換係数を量子化する。量子化部３０５は、レート制御部３１７から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部３０５は、量子化された変換係数を可逆符号化部３０６に供給する。
【０２８５】
可逆符号化部３０６は、量子化部３０５において量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。係数データは、レート制御部３１７の制御の下で量子化されているので、この符号量は、レート制御部３１７が設定した目標値となる（若しくは目標値に近似する）。
【０２８６】
また、可逆符号化部３０６は、イントラ予測のモードを示す情報などをイントラ予測部３１４から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部３１５から取得する。さらに、可逆符号化部３０６は、ループフィルタ３１１において使用されたフィルタ係数を取得する。
【０２８７】
さらに、可逆符号化部３０６は、モード制限レベル制御部３２１からイントラ予測モード制限レベルフラグ（imode_limit_level）を取得する。
【０２８８】
可逆符号化部３０６は、これらのフィルタ係数、イントラ予測やインター予測のモードを示す情報、量子化パラメータ、並びにイントラ予測モード制限レベルフラグなどの各種情報を符号化し、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部３０６は、符号化して得られた符号化データを蓄積バッファ３０７に供給して蓄積させる。
【０２８９】
例えば、可逆符号化部３０６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。もちろん、可逆符号化部３０６が、これらの方法以外の方法で符号化を行うようにしてもよい。
【０２９０】
蓄積バッファ３０７は、可逆符号化部３０６から供給された符号化データを、一時的に保持する。蓄積バッファ３０７は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置（記録媒体）や伝送路などに出力する。
【０２９１】
また、量子化部３０５において量子化された変換係数は、逆量子化部３０８にも供給される。逆量子化部３０８は、その量子化された変換係数を、量子化部３０５による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部３０５による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部３０８は、得られた変換係数を、逆直交変換部３０９に供給する。
【０２９２】
逆直交変換部３０９は、逆量子化部３０８から供給された変換係数を、直交変換部３０４による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部３０４による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力（復元された差分情報）は、演算部３１０に供給される。
【０２９３】
演算部３１０は、逆直交変換部３０９から供給された逆直交変換結果、すなわち、復元された差分情報に、選択部３１６を介してイントラ予測部３１４若しくは動き予測・補償部３１５から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。
【０２９４】
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部３１０は、その差分情報にイントラ予測部３１４から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部３１０は、その差分情報に動き予測・補償部３１５から供給される予測画像を加算する。
【０２９５】
その加算結果（復号画像）は、ループフィルタ３１１またはフレームメモリ３１２に供給される。
【０２９６】
ループフィルタ３１１は、デブロックフィルタ１１１や適応ループフィルタ等を含み、演算部３１０から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ３１１は、復号画像に対して、デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ３１１は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた復号画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。
【０２９７】
なお、ループフィルタ３１１が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ３１１は、必要に応じて、フィルタ処理に用いたフィルタ係数を可逆符号化部３０６に供給し、それを符号化させるようにすることもできる。
【０２９８】
ループフィルタ３１１は、フィルタ処理結果（フィルタ処理後の復号画像）をフレームメモリ３１２に供給する。なお、上述したように、演算部３１０から出力される復号画像は、ループフィルタ３１１を介さずにフレームメモリ３１２に供給することができる。つまり、ループフィルタ３１１によるフィルタ処理は省略することができる。
【０２９９】
フレームメモリ３１２は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部３１３を介してイントラ予測部３１４または動き予測・補償部３１５に出力する。
【０３００】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ３１２は、参照画像を、選択部３１３を介してイントラ予測部３１４に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ３１２は、参照画像を、選択部３１３を介して動き予測・補償部３１５に供給する。
【０３０１】
選択部３１３は、フレームメモリ３１２から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部３１４に供給する。また、選択部３１３は、フレームメモリ３１２から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部３１５に供給する。
【０３０２】
イントラ予測部３１４は、選択部３１３を介してフレームメモリ３１２から供給される処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部３１４は、予め用意された複数のモード（イントラ予測モード）でこのイントラ予測を行う。イントラ予測部３１４は、AVC符号化方式において規定されるモード以外の任意のモードでこのイントラ予測を行うこともできる。
【０３０３】
イントラ予測部３１４は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ１０２から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部３１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部３１６を介して演算部３０３や演算部３１０に供給する。
【０３０４】
また、上述したように、イントラ予測部３１４は、採用されたイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部３０６に供給し、符号化させる。
【０３０５】
動き予測・補償部３１５は、インター符号化が行われる画像について、画面並べ替えバッファ３０２から供給される入力画像と、選択部３１３を介してフレームメモリ３１２から供給される参照画像とを用いて、動き予測（インター予測）を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。動き予測・補償部３１５は、予め用意された複数のモード（インター予測モード）でこのようなインター予測を行う。動き予測・補償部３１５は、AVC符号化方式において規定されるモード以外の任意のモードでこのインター予測を行うこともできる。
【０３０６】
動き予測・補償部３１５は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部３１５は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、選択部３１６を介して演算部３０３や演算部３１０に供給する。
【０３０７】
また、動き予測・補償部３１５は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部３０６に供給し、符号化させる。
【０３０８】
選択部３１６は、イントラ符号化を行う画像の場合、イントラ予測部３１４の出力を演算部３０３や演算部３１０に供給し、インター符号化を行う画像の場合、動き予測・補償部３１５の出力を演算部３０３や演算部３１０に供給する。
【０３０９】
レート制御部３１７は、蓄積バッファ３０７に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部３０５の量子化動作のレートを制御する。
【０３１０】
また、レート制御部３１７は、蓄積バッファ３０７に蓄積された符号化データの符号量（発生符号量）を可逆符号化部３０６に供給する。可逆符号化部３０６は、供給された発生符号量に基づいてスライス分割を行うことができる。
【０３１１】
モード制限レベル制御部３２１は、イントラ予測部３１４によるイントラ予測に用いられるイントラ予測モードと、可逆符号化部３０６が最適イントラ予測モードの指定情報に割り当てる２値化の符号長とを適応的に制御する。
【０３１２】
モード制限レベル制御部３２１は、過去に処理された所定の範囲内の一部若しくは全部の予測結果（最適イントラ予測モード）に基づいて、当該PUのイントラ予測モードと符号長の制御を行う。
【０３１３】
なお、PUを分割したパーティションを処理単位とする場合もあるが、PUを処理単位とする場合と同様であるので、以下においては、PUを処理単位とする場合についてのみ説明する。
【０３１４】
イントラ予測部３１４は、モード制限レベル制御部３２１により許可されたイントラ予測モードでイントラ予測を行い、最適なイントラ予測モードを選択する。
【０３１５】
可逆符号化部３０６は、モード制限レベル制御部３２１により指定された符号長で、最適イントラ予測モードの指定情報を２値化し、符号化する。
【０３１６】
［モード制限レベル制御部］
図２０は、図１９のモード制限レベル制御部３２１の主な構成例を示すブロック図である。
【０３１７】
図２０に示されるようにモード制限レベル制御部３２１は、予測モード記憶部３３１、判定用情報生成部３３２、テーブル記憶部３３３、テーブル選択部３３４、イントラ予測モード制限レベルフラグ生成部３３５、および許可モード決定部３３６を有する。
【０３１８】
予測モード記憶部３３１は、イントラ予測部３１４から供給される当該PUの最適イントラ予測モードおよび当該PUのサイズ（PU_Size）を取得し、記憶する。予測モード記憶部３３１は、時間的に後に処理される他のPUに対する処理において、その記憶した最適イントラ予測モードやPUサイズ（PU_Size）を、周辺のPUの（過去のPUの）最適イントラ予測モード（過去予測モード）やPUサイズ（過去PU_Size）として、判定用情報生成部３３２に供給する。
【０３１９】
判定用情報生成部３３２は、予測モード記憶部３３１から過去予測モードや過去PU_Sizeを取得すると、それらの情報を用いて、イントラ予測モードの制限レベルを判定するための情報である判定用情報を生成する。この判定用情報は、イントラ予測モードの制限レベルの判定に用いられるものであればどのような情報であっても良い。例えば、判定用情報生成部３３２は、過去の所定の範囲内において選択されたイントラ予測モードをPUサイズ毎に集計し、それを判定用情報とする。
【０３２０】
集計を行う範囲（過去の所定の範囲）は、任意である。例えば、直近に処理された所定数のPU群であってもよいし、当該PUと同じピクチャの処理済みのPU群であってもよいし、当該PUと同じシーケンスの処理済みのPU群であってもよいし、それらの範囲内の一部のPU（代表PU）であってもよい。
【０３２１】
判定用情報生成部３３２は、生成した判定用情報をテーブル選択部３３４に供給する。
【０３２２】
テーブル記憶部３３３は、イントラ予測における使用を許可する予測モードの種類の数（Number of modes）と、最適イントラ予測モードに割り当てる２値化の符号長（Bins）とを、PUサイズ毎に指定するテーブル情報を予め記憶し、テーブル選択部３３４の要求に応じてそのテーブル情報をテーブル選択部３３４に供給する。
【０３２３】
テーブル選択部３３４は、判定用情報生成部３３２から供給される判定用情報に基づいて、テーブル記憶部３３３に記憶されるテーブル情報の中から１つを選択し、それを選択テーブル情報として取得し、イントラ予測モード制限レベルフラグ生成部３３５および許可モード決定部３３６に供給する。
【０３２４】
イントラ予測モード制限レベルフラグ生成部３３５は、テーブル選択部３３４から供給される選択テーブル情報に基づいて、イントラ予測モード制限レベルフラグ（imode_limit_level）の値を設定する。イントラ予測モード制限レベルフラグ生成部３３５は、そのイントラ予測モード制限レベルフラグ（imode_limit_level）を可逆符号化部３０６に供給する。
【０３２５】
許可モード決定部３３６は、テーブル選択部３３４から供給された選択テーブル情報を参照して、イントラ予測部３１４から供給される当該PUのPUサイズ（PU_Size）に対応する許可モード（使用を許可するモード）を決定する。許可モード決定部３３６は、決定した許可モードを示す許可モード情報をイントラ予測部３１４に供給する。イントラ予測部３１４は、その許可モード情報に基づいて、各許可モードを最適イントラ予測モードの候補としてイントラ予測処理を実行する。
【０３２６】
［イントラ予測モード制限レベル］
最適イントラ予測モードの候補となるイントラ予測モードの数が増大すると、予測精度は向上するが、その全てのモードを識別することができるようにしなければならないので、最適イントラ予測モードの指定情報に割り当てられる２値化の符号長が増大し、符号量が増大する恐れがある。しかしながら、必ずしも全てのモードが最適イントラ予測モードとして選択されるとは限らない。つまり、不要に符号化効率が低減する恐れがある。
【０３２７】
そこで、モード制限レベル制御部３２１は、例えば画像の内容に応じて、イントラ予測に用いられるイントラ予測モードを、予め用意されたイントラ予測モードの中の一部のみに制限する。この制限のレベル（どの程度制限するか、若しくは制限しないか）をイントラ予測モード制限レベルと称する。
【０３２８】
つまり、モード制限レベル制御部３２１は、当該PUの、このイントラ予測モード制限レベルを適応的に制御するとも言える。このようにすることにより、モード制限レベル制御部３２１は、符号量の不要な増大を適応的に抑制し、符号化効率を向上させることができる。
【０３２９】
なお、ここで符号化効率を向上させるために重要なことは、最適イントラ予測モードの指定情報に割り当てる２値化の符号長を適応的に（極力）短くすることである。候補となるイントラ予測モードの数を適応的に制限することはそのために必要なことではあるが、それだけでは十分ではない。つまり、モード制限レベル制御部３２１によるイントラ予測モード制限レベルの制御には、最適イントラ予測モードの指定情報に割り当てる２値化の符号長の制御も含まれる。
【０３３０】
［テーブル情報］
テーブル記憶部３３３は、例えば図２１および図２２に示されるようなテーブル情報を予め記憶する。図２１は、イントラ予測制限モードレベルが０（imode_limit_level = 0）のテーブル情報の例を示し、図２２は、イントラ予測制限モードレベルが１（imode_limit_level = 1）のテーブル情報の例を示す。
【０３３１】
図２１に示されるイントラ予測制限モードレベル０（imode_limit_level = 0）の場合、予め用意されたイントラ予測モードの全てがイントラ予測に使用されることを許可される。つまり、イントラ予測制限モードレベル０の場合、イントラ予測部３１４は、予め用意されたイントラ予測モードの全てのモードでイントラ予測を行い、各予測結果のコスト関数値を算出して比較することにより最適なモードを選択する。
【０３３２】
この例において、例えば、PUのサイズが８×８の場合、イントラ予測モードの候補数は３４であり、最適イントラ予測モードの指定情報に割り当てられる２値化の符号長は５Binである。なお、イントラ予測モードの数が３４に対してBin数が５では最大で３２通りとなって不足しているが、MPM（MostProbableMode）と呼ばれるモードとエスケープコードと呼ばれる方法も合わせて最大で３４通り符号化することができることを示している。
【０３３３】
これに対して、図２２に示されるイントラ予測制限モードレベル１（imode_limit_level = 1）の場合、予め用意されたイントラ予測モードの一部のみがイントラ予測に使用されることを許可される。つまり、イントラ予測制限モードレベル１の場合、イントラ予測部３１４は、予め用意されたイントラ予測モードの内、使用を許可されたモードのみでイントラ予測を行い、各予測結果のコスト関数値を算出して比較することにより最適なモードを選択する。つまり、イントラ予測制限モードレベル１の場合、イントラ予測部３１４は、イントラ予測制限モードレベル０より少ないモードの中から最適なモードを選択する。
【０３３４】
そのため、例えば、PUのサイズが８×８の場合、この状態ではモードの最大数が３４から１７に制限されている。したがって、モード制限レベル制御部３２１は、最適イントラ予測モードの指定情報に割り当てる符号長を、５Binから４Binに低減することができる。
【０３３５】
なお、図２１や図２２を参照して説明したテーブル情報のフォーマットは任意である。
【０３３６】
例えば、使用を許可するイントラ予測モードの種類の数だけでなく、どのモードを許可するかを示す情報もテーブル情報に含まれるようにしてもよい。つまり、許可モード決定部３３６が、使用を許可するイントラ予測モードの数毎にどのモードを許可するかを予め把握しており、供給された選択テーブル情報において使用を許可するイントラ予測モードの数が指定されるだけで、どのモードを許可するかを決定することができるようにしてもよいし、供給された選択テーブル情報によってどのモードを許可するかが指定されるようにしてもよい。
【０３３７】
また、モード制限レベル制御部３２１においては、使用を許可するイントラ予測モードの数を制限できればよく、符号長の指定は不要である。したがって、テーブル記憶部３３３が記憶するテーブル情報において、Binsの項目は省略するようにしてもよい。
【０３３８】
また、図２１および図２２に示されるテーブル情報は一例であり、各PUサイズに割り当てられるモード数やBin数の値は、図２１および図２２に示される値以外であっても良い。さらに、PUサイズの区分も、図２１および図２２に示される例以外であってもよい。例えば、PU_１６×８等のように長方形が含まれていてもよい。
【０３３９】
［可逆符号化部］
図２３は、図１９の可逆符号化部３０６の主な構成例を示すブロック図である。
【０３４０】
図２３の例において、可逆符号化部３０６は、イントラ予測モード記憶部３４１、MPM算出部３４２、比較部３４３、テーブル記憶部３４４、符号長決定部３４５、２値化部３４６、およびエントロピ符号化部３４７を有する。また、可逆符号化部３０６は、２値化部３４８、エントロピ符号化部３４９、２値化部３５０、エントロピ符号化部３５１、および合成部３５２も有する。
【０３４１】
イントラ予測モード記憶部３４１は、イントラ予測部３１４から供給される最適イントラ予測モードの指定情報である予測モード情報を記憶する。イントラ予測モード記憶部３４１は、時間的に後の、他のPUに対する処理において、記憶している予測モード情報を周辺のPUの予測モード情報（周辺予測モード情報）としてMPM算出部３４２に供給する。
【０３４２】
MPM算出部３４２は、イントラ予測モード記憶部３４１から供給される周辺予測モード情報を取得すると、それを用いて当該PUのMPMを求め、そのMPMに関する情報であるMPM情報を生成し、比較部３４３に供給する。
【０３４３】
比較部３４３は、MPM算出部３４２から供給されたMPM情報と、イントラ予測部３１４から供給される最適イントラ予測モードを指定する予測モード情報とを比較し、MPMと最適イントラ予測モードが一致するか否かを示すprev_intra_luma_pred_flagを生成する。比較部３４３は、prev_intra_luma_pred_flagを生成すると、それをエントロピ符号化部３４７に供給する。
【０３４４】
また、比較部３４３は、その比較結果に応じて２値化部３４６を制御する。比較部３４３は、prev_intra_luma_pred_flag=１の場合、すなわち、MPMが最適イントラ予測モードと一致する場合、２値化部３４６の動作を停止させ、prev_intra_luma_pred_flagのみをストリームに含めるようにする。
【０３４５】
逆に、prev_intra_luma_pred_flag=０の場合、すなわち、MPMが最適イントラ予測モードと一致しない場合、比較部３４３は、２値化部３４６を動作させ、予測モード情報を２値化させ、その２値データをprev_intra_luma_pred_flagとともにストリームに含めるようにする。
【０３４６】
テーブル記憶部３４４は、最適イントラ予測モードの指定情報に割り当てる２値化の符号長（Bins）をPUサイズ毎に指定するテーブル情報を予め記憶し、符号長決定部３４５の要求に応じて、それを符号長決定部３４５に供給する。
【０３４７】
このテーブル情報は、図２１および図２２に示されるように、イントラ予測モード制限レベル毎のテーブル情報である。テーブル記憶部３４４は、テーブル記憶部３３３が記憶するテーブル情報の各イントラ予測モード制限レベルについてのテーブル情報（つまり、テーブル記憶部３３３が記憶するテーブル情報に対応するテーブル情報）を記憶する。
【０３４８】
符号長決定部３４５は、モード制限レベル制御部３２１から供給されるイントラ予測モード制限レベルフラグ（imode_limit_level）を取得すると、そのフラグが示すイントラ予測モード制限レベルのテーブル情報を、テーブル記憶部３４４から取得する。符号長決定部３４５は、そのテーブル情報を用いて、イントラ予測部３１４から供給される、最適イントラ予測モードを指定する予測モード情報に割り当てる２値化の符号長を、イントラ予測部３１４から供給される当該PUのPUサイズ（PU_Size）に応じて決定する。
【０３４９】
符号長決定部３４５は、決定した符号長を示す符号長情報を２値化部３４６に供給する。
【０３５０】
なお、このテーブル情報は、最適イントラ予測モードの指定情報に割り当てる２値化の符号長（Bins）をPUサイズ毎に指定することができる限り、そのフォーマットは任意である。例えば、テーブル記憶部３３３が記憶するテーブル情報と同様のテーブル情報を記憶するようにしてもよい。
【０３５１】
また、各PUサイズに割り当てられるモード数やBin数の値は、図２１および図２２に示される値以外であっても良い。さらに、PUサイズの区分も、図２１および図２２に示される例以外であってもよい。
【０３５２】
なお、モード制限レベル制御部３２１が最適イントラ予測モードの指定情報に割り当てる２値化の符号長（Bins）を決定し、その符号長情報をイントラ予測モード制限レベルフラグ（imode_limit_level）とともに可逆符号化部３０６に供給するようにしてもよい。その場合、テーブル記憶部３４４および符号長決定部３４５は省略することができる。符号長情報は、２値化部３４６に供給され、イントラ予測モード制限レベルフラグ（imode_limit_level）は、エントロピ符号化部３４７に供給される。
【０３５３】
２値化部３４６は、比較部３４３の制御の下、イントラ予測部３１４から供給される最適イントラ予測モードを指定する予測モード情報を取得すると、符号長決定部３４５から供給される符号長情報により指定される符号長で、その予測モード情報を２値化する。
【０３５４】
２値化部３４６は、予測モード情報を２値化した２値データをエントロピ符号化部３４７に供給する。
【０３５５】
エントロピ符号化部３４７は、比較部３４３からprev_intra_luma_pred_flagを取得すると、それを符号化し、その符号化データを合成部３５２に供給する。また、エントロピ符号化部３４７は、２値化部３４６から、予測モード情報を２値化した２値データを取得すると、それを符号化し、その符号化データを合成部３５２に供給する。さらに、エントロピ符号化部３４７は、モード制限レベル制御部３２１から供給されるイントラ予測モード制限レベルフラグ（imode_limit_level）を取得すると、それを符号化し、その符号化データを合成部３５２に供給する。
【０３５６】
以上の処理は、最適予測モードとしてイントラ予測モードが選択される場合に行われる。
【０３５７】
最適予測モードとしてインター予測モードが選択される場合、２値化部３４８は、動き予測・補償部３１５から供給される予測モード情報を２値化し、その２値データをエントロピ符号化部３４９に供給する。エントロピ符号化部３４９は、２値化部３４８から供給される２値データを符号化し、その符号化データを合成部３５２に供給する。
【０３５８】
２値化部３５０は、量子化部３０５から供給される差分画像の係数データを２値化し、その２値データをエントロピ符号化部３５１に供給する。また、２値化部３５０は、ループフィルタ３１１から供給されるフィルタ係数等のフィルタ処理に関する情報を２値化し、その２値データをエントロピ符号化部３５１に供給する。エントロピ符号化部３５１は、２値化部３５０から供給される２値データを符号化し、その符号化データを合成部３５２に供給する。
【０３５９】
合成部３５２は、必要に応じてヘッダ情報等を適宜生成し、その情報と、エントロピ符号化部３４７、エントロピ符号化部３４９、およびエントロピ符号化部３５１から供給される各符号化データとを適宜合成し、１本のストリームとして蓄積バッファ３０７に出力する。
【０３６０】
例えば、合成部３５２は、イントラ予測モード制限レベルフラグ（imode_limit_level）をスライスヘッダに格納する。もちろん、イントラ予測モード制限レベルフラグは、ストリームの任意の位置に格納することができる。例えば、シーケンスパラメータセット（SPS（Sequence Parameter Set）やピクチャパラメータセット（PPS（Picture Parameter Set））等のNAL（Network Abstraction Layer）に格納されるようにしてもよいし、VCL（Video Coding Layer）に格納されるようにしてもよい。また、例えば、SEI（Suplemental Enhancement Information）等に格納されるようにしてもよい。
【０３６１】
さらに、イントラ予測モード制限レベルフラグ（imode_limit_level）が、ストリームとは別に復号側に伝送されるようにしてもよい。その場合、イントラ予測モード制限レベルフラグ（imode_limit_level）と符号化データとの対応関係を明確にする（復号側で把握することができるようにする）必要があるが、その方法は任意である。例えば、別途、対応関係を示すテーブル情報を作成してもよいし、対応先のデータを示すリンク情報を互いのデータに埋め込むなどしてもよい。
【０３６２】
以上のように、モード制限レベル制御部３２１が、イントラ予測部３１４において行われるイントラ予測に用いられるモード数を適応的に制御し、可逆符号化部３０６が、最適イントラ予測モードの指定情報である予測モード情報を、イントラ予測のモード数に応じた符号長で２値化する。これにより、予測モード情報の符号長を、画像に応じた適切な長さにすることができるので、画像符号化装置３００は、不要な符号量の増大を抑制し、符号化効率を向上させることができる。
【０３６３】
また、イントラ予測モードを適応的に制限するので、画像符号化装置３００は、イントラ予測の負荷を低減することもできる。
【０３６４】
［符号化処理の流れ］
次に、以上のような画像符号化装置３００により実行される各処理の流れについて説明する。最初に、図２４のフローチャートを参照して、符号化処理の流れの例を説明する。
【０３６５】
なお、各ステップの処理データ単位は互いに異なる場合もある。そのため、各ステップの処理は、実際には、互いに並行して行われたり、順序が入れ替えて行われる場合もある。以下に説明する他の処理においても同様である。
【０３６６】
ステップＳ３０１において、A/D変換部３０１は入力された画像をA/D変換する。ステップＳ３０２において、画面並べ替えバッファ３０２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０３６７】
ステップＳ３０３において、イントラ予測部３１４は、イントラ予測モードのイントラ予測処理を行う。ステップＳ３０４において、動き予測・補償部３１５は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
【０３６８】
ステップＳ３０５において、選択部３１６は、イントラ予測部３１４および動き予測・補償部３１５から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、選択部３１６は、イントラ予測部３１４により生成された予測画像と、動き予測・補償部３１５により生成された予測画像のいずれか一方を選択する。
【０３６９】
また、このいずれの予測画像が選択されたかを示す選択情報は、イントラ予測部３１４および動き予測・補償部３１５のうち、予測画像が選択された方に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部３１４は、最適イントラ予測モード等を示す予測モード情報や例えば当該PUのPUサイズ（PU_Size）等の関連情報を、可逆符号化部３０６に供給する。最適インター予測モードの予測画像が選択された場合、動き予測・補償部３１５は、最適インター予測モードを示す予測モード情報や関連情報を可逆符号化部３０６に出力する。
【０３７０】
ステップＳ３０６において、演算部３０３は、ステップＳ３０２の処理により並び替えられた画像と、ステップＳ３０５の処理により選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部３１５から、イントラ予測する場合はイントラ予測部３１４から、選択部３１６を介して演算部３０３に供給される。
【０３７１】
差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０３７２】
ステップＳ３０７において、直交変換部３０４は、ステップＳ３０６の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【０３７３】
ステップＳ３０８において、量子化部３０５は、ステップＳ３０７の処理により得られた直交変換係数を量子化する。
【０３７４】
ステップＳ３０８の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ３０９において、逆量子化部３０８は、ステップＳ３０８の処理により生成された量子化された直交変換係数（量子化係数とも称する）を量子化部３０５の特性に対応する特性で逆量子化する。ステップＳ３１０において、逆直交変換部３０９は、ステップＳ３０７の処理により得られた直交変換係数を、直交変換部３０４の特性に対応する特性で逆直交変換する。
【０３７５】
ステップＳ３１１において、演算部３１０は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部３０３への入力に対応する画像）を生成する。ステップＳ３１２においてループフィルタ３１１は、ステップＳ３１１の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
【０３７６】
ステップＳ３１３において、フレームメモリ３１２は、ステップＳ３１２の処理によりループフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ３１２にはループフィルタ３１１によりフィルタ処理されていない画像も演算部３１０から供給され、記憶される。
【０３７７】
ステップＳ３１４において、可逆符号化部３０６は、ステップＳ３０８の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０３７８】
なお、可逆符号化部３０６は、ステップＳ３０８において算出された量子化パラメータも符号化する。また、可逆符号化部３０６は、ステップＳ３０５の処理により選択された予測画像のモードに関する情報等も符号化する。つまり、可逆符号化部３０６は、イントラ予測部３１４から供給される各種情報、または、動き予測・補償部３１５から供給される各種情報なども符号化する。さらに、可逆符号化部３０６は、ループフィルタ３１１から供給される各種情報も符号化する。可逆符号化部３０６は、それらの符号化データを適宜合成し、ストリームとして出力する。
【０３７９】
ステップＳ３１５において蓄積バッファ３０７は、可逆符号化部３０６から出力されるストリームを蓄積する。蓄積バッファ３０７に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
【０３８０】
ステップＳ３１６においてレート制御部３１７は、ステップＳ３１５の処理により蓄積バッファ３０７に蓄積された符号化データの符号量（発生符号量）に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部３０５の量子化動作のレートを制御する。
【０３８１】
ステップＳ３１６の処理が終了すると、符号化処理が終了される。
【０３８２】
［イントラ予測処理の流れ］
次に、図２５のフローチャートを参照して、図２４のステップＳ３０３において実行されるイントラ予測処理の流れの例を説明する。
【０３８３】
イントラ予測処理が開始されると、モード制限レベル制御部３２１は、ステップＳ３２１において、イントラ予測のモード制限レベルを制御する。
【０３８４】
ステップＳ３２２において、イントラ予測部３１４は、許可された各イントラ予測モードでイントラ予測を行う。ステップＳ３２３において、イントラ予測部３１４は、許可された各イントラ予測モードの予測結果のコスト関数値を算出する。ステップＳ３２４において、イントラ予測部３１４は、ステップＳ３２３において算出された各コスト関数値を比較し、値が最も小さいモードを最適イントラ予測モードとして選択する。
【０３８５】
ステップＳ３２５において、イントラ予測部３１４は、最適イントラ予測モードで予測画像を生成する。
【０３８６】
ステップＳ３２６において、モード制限レベル制御部３２１の予測モード記憶部３３１は、ステップＳ３２４において選択された最適イントラ予測モードと、当該PUのPUサイズを記憶する。
【０３８７】
ステップＳ３２６の処理が終了すると、予測モード記憶部３３１は、イントラ予測処理を終了し、処理を図２４のステップＳ３０３に戻し、ステップＳ３０４以降の処理を実行させる。
【０３８８】
［モード制限レベル制御処理の流れ］
次に、図２６のフローチャートを参照して、図２５のステップＳ３２１において実行されるモード制限レベル制御処理の流れの例を説明する。
【０３８９】
モード制限レベル制御処理が開始されると、モード制限レベル制御部３２１の判定用情報生成部３３２は、予測モード記憶部３３１に記憶されている過去のイントラ予測モード（過去予測モード）およびそのPUサイズ（過去PU_Size）を読み出す。
【０３９０】
ステップＳ３３２において、判定用情報生成部３３２は、ステップＳ３３１において読み出した過去予測モードおよび過去PU_Sizeを用いて、適切なイントラ予測モード制限レベルを判定するための判定用情報を生成する。
【０３９１】
ステップＳ３３３において、テーブル選択部３３４は、ステップＳ３３２において生成された判定用情報に基づいて、つまり、過去の最適イントラ予測モードの選択結果に基づいて、イントラ予測での使用を許可するモードをPUサイズ毎に指定する、イントラ予測モード制限レベル毎のテーブル情報を選択する。つまり、テーブル選択部３３４は、テーブル情報を選択することにより、イントラ予測モード制限レベルを制御する。
【０３９２】
ステップＳ３３４において、イントラ予測モード制限レベルフラグ生成部３３５は、ステップＳ３３４のテーブル選択結果に応じた値のイントラ予測モード制限レベルフラグ（imode_limit_level）を生成する。
【０３９３】
ステップＳ３３５において、許可モード決定部３３６は、ステップＳ３３３において選択されたテーブル情報を参照し、当該PUのPUサイズに対応するモードを、当該PUのイントラ予測において使用を許可するモードとして決定する。
【０３９４】
ステップＳ３３５の処理を終了すると、許可モード決定部３３６は、モード制限レベル制御処理を終了し、処理を図２５のステップＳ３２１に戻し、ステップＳ３２２以降の処理を実行させる。
【０３９５】
［可逆符号化処理の流れ］
次に、図２７のフローチャートを参照して、図２４のステップＳ３１４において実行される可逆符号化処理の流れの例を説明する。
【０３９６】
可逆符号化処理が開始されると、ステップＳ３４１において、２値化部３５０およびエントロピ符号化部３５１は、量子化部３０５において量子化された係数データを２値化し、符号化する。また、２値化部３５０およびエントロピ符号化部３５１は、ループフィルタ３１１から供給されるフィルタ係数等の情報も２値化し、符号化する。
【０３９７】
ステップＳ３４２において、可逆符号化部３０６は、当該領域の符号化方法がイントラ予測を用いたイントラ符号化であるか否かを判定する。イントラ符号化であると判定された場合、可逆符号化部３０６は、処理をステップＳ３４３に進める。
【０３９８】
ステップＳ３４３において、イントラ予測モード記憶部３４１乃至エントロピ符号化部３４７は、イントラ予測モード情報符号化処理を行う。イントラ予測モード情報符号化処理が終了すると、イントラ予測モード記憶部３４１乃至エントロピ符号化部３４７は、処理をステップＳ３４５に進める。
【０３９９】
また、ステップＳ３４２において、当該領域の符号化方法がインター予測を用いたインター符号化であると判定された場合、可逆符号化部３０６は、処理をステップＳ３４４に進める。
【０４００】
ステップＳ３４４において、２値化部３４８およびエントロピ符号化部３４９は、動き予測・補償部３１５から供給される予測モード情報等を２値化し、符号化する。ステップＳ３４４の処理が終了すると、２値化部３４８およびエントロピ符号化部３４９は、処理をステップＳ３４５に進める。
【０４０１】
ステップＳ３４５において、合成部３５２は、各符号化データを合成し、ストリームを生成する。ステップＳ３４５の処理が終了すると、合成部３５２は、可逆符号化処理を終了し、処理を図２４のステップＳ３１４に戻し、ステップＳ３１５以降の処理を実行させる。
【０４０２】
［イントラ予測モード情報符号化処理の流れ］
次に、図２８および図２９のフローチャートを参照して、図２７のステップＳ３４３において実行されるイントラ予測モード情報符号化処理の流れの例を説明する。
【０４０３】
イントラ予測モード情報符号化処理が開始されると、ステップＳ３５１において、MPM算出部３４２は、周辺予測モード情報からMPMを求める。ステップＳ３５２において、可逆符号化部３０６、最適イントラ予測モードを指定する予測モード情報をイントラ予測部３１４から取得する。
【０４０４】
ステップＳ３５３において、イントラ予測モード記憶部３４１は、ステップＳ３４２において取得された予測モード情報を記憶する。この情報は、現在より時間的に後の他のPUについての処理において、周辺予測モード情報として使用される。
【０４０５】
ステップＳ３５４において、比較部３４３は、ステップＳ３５１において算出されたMPMと、ステップＳ３５２において取得された予測モード情報が示す最適イントラ予測モードとを比較し、両者が一致するか否かを判定する。
【０４０６】
一致すると判定した場合、比較部３４３は、処理をステップＳ３５５に進める。ステップＳ３５５において、比較部３４３は、MPMを採用するか否かを示すフラグ情報であるprev_intra_luma_pred_flagを生成し、その値を１に設定する。
【０４０７】
ステップＳ３５６において、エントロピ符号化部３４７は、ステップＳ３５５において生成されたprev_intra_luma_pred_flagを符号化する。ステップＳ３５６の処理が終了すると、エントロピ符号化部３４７は、イントラ予測モード情報符号化処理を終了し、処理を図２７のステップＳ３４３に戻し、ステップＳ３４５以降の処理を実行させる。
【０４０８】
また、図２８のステップＳ３５４において、MPMと最適イントラ予測モードとが一致しないと判定された場合、比較部３４３は、処理を図２９のステップＳ３６１に進める。
【０４０９】
ステップＳ３６１において、比較部３４３は、MPMを採用するか否かを示すフラグ情報であるprev_intra_luma_pred_flagを生成し、その値を０に設定する。
【０４１０】
ステップＳ３６２において、比較部３４３は、イントラ予測モードの番号がMPMの番号以上であるか否かを判定し、イントラ予測モードの番号がMPMの番号以上であると判定された場合、処理をステップＳ３６３に進める。ステップＳ３６３において、２値化部３４６は、イントラ予測モード情報の値（最適イントラ予測モードに指定されるイントラ予測モードの番号）を１減算し、処理をステップＳ３６４に進める。
【０４１１】
また、ステップＳ３６２において、イントラ予測モードの番号がMPMの番号より小さいと判定された場合、比較部３４３は、処理をステップＳ３６４に進める。
【０４１２】
ステップＳ３６４において、符号長決定部３４５は、モード制限レベル制御部３２１から供給されたイントラ予測モード制限レベルフラグ（imode_limit_level）の値が１であるか否かを判定する。イントラ予測モード制限レベルフラグ（imode_limit_level）の値が１であり、イントラ予測においてモードの制限が行われたと判定された場合、処理をステップＳ３６５に進める。
【０４１３】
ステップＳ３６５において、符号長決定部３４５は、テーブル記憶部３４４よりイントラ予測モード制限レベルが１（imode_limit_level = 1）のテーブル情報を取得し、そのテーブル情報に基づいて、当該PUのPUサイズに応じた２値化の符号長（Bin数）を決定する。
【０４１４】
ステップＳ３６６において、２値化部３４６は、ステップＳ３６５において決定された符号長（Bin数）で、予測モード情報（イントラ予測モードの番号）を２値化する。なお、ステップＳ３６３において予測モード情報の値が１減算されている場合、２値化部３４６は、その減算後の値を２値化する。
【０４１５】
ステップＳ３６７において、エントロピ符号化部３４７は、ステップＳ３６６において予測モード情報が２値化されて得られた２値データをエントロピ符号化する。ステップＳ３６８において、エントロピ符号化部３４７は、イントラ予測モード制限レベルフラグ（imode_limit_level）を符号化する。ステップＳ３６８の処理が終了すると、エントロピ符号化部３４７は、処理を図２８のステップＳ３５６に戻し、それ以降の処理を繰り返す。
【０４１６】
また、図２９のステップＳ３６４において、イントラ予測モード制限レベルフラグの値が０（imode_limit_level = 0）であり、イントラ予測においてモードの制限が行われなかったと判定された場合、処理をステップＳ３６９に進める。
【０４１７】
ステップＳ３６９において、２値化部３４６は、イントラ予測モードの番号が３１より小さいか否かを判定し、小さいと判定された場合、処理をステップＳ３７０に進める。
【０４１８】
ステップＳ３７０において、符号長決定部３４５は、テーブル記憶部３４４よりイントラ予測モード制限レベルが０（imode_limit_level = 0）のテーブル情報を取得し、そのテーブル情報に基づいて、当該PUのPUサイズに応じた２値化の符号長（Bin数）を決定する。
【０４１９】
ステップＳ３７０の処理が終了すると、符号長決定部３４５は、処理をステップＳ３６６に戻し、それ以降の処理を実行させる。つまり、イントラ予測モード制限レベルが０のテーブル情報に基づいて決定された符号長によって予測モード情報を２値化させ、その２値データをエントロピ符号化させる。
【０４２０】
また、ステップＳ３６９において、イントラ予測モードの番号が３１以上であると判定された場合、２値化部３４６は、処理をステップＳ３７１に進める。
【０４２１】
ステップＳ３７１において、２値化部３４６は、イントラ予測モードの２値化結果として２値コード「１１１１１」を設定し、エントロピ符号化部３４７は、その２値コードをエントロピ符号化する。さらに、２値化部３４６は、イントラ予測モードの番号が３１なら値「０」をイントラ予測モードの２値化結果（２値コード）に追加し、イントラ予測モードの番号が３２なら値「１」をイントラ予測モードの２値化結果（２値コード）に追加する。つまり、エントロピ符号化部３４７は、イントラ予測モードの番号が３１なら値「０」をさらに符号化し、イントラ予測モードの番号が３２なら値「１」をさらに符号化する。
【０４２２】
ステップＳ３７１の処理を終了すると、エントロピ符号化部３４７は、処理をステップＳ３６８に戻し、それ以降の処理を実行させる。
【０４２３】
以上のように各処理を実行することにより、モード制限レベル制御部３２１は、イントラ予測モードのモード数を、不要に増大させないように、例えば画像の内容等に応じて適応的に制御する。これによりイントラ予測部３１４は、イントラ予測において、最適イントラ予測モードとして採用される見込みのない不要なモードの処理（冗長な処理）の増大を抑制させることができ、イントラ予測の負荷を低減させることができる。
【０４２４】
そして、可逆符号化部３０６は、そのモード数の制御に応じて、予測モード情報に割り当てる２値化の符号長を適応的に制御する。これにより、可逆符号化部３０６は、符号量の不要な増大を抑制し、符号化効率を向上させることができる。
【０４２５】
また、イントラ予測モードを適応的に制限するので、画像符号化装置３００は、イントラ予測の負荷を低減することもできる。
【０４２６】
［モード制限レベルの選択］
以上においては、過去に処理された所定の範囲内の一部若しくは全部の予測結果（最適イントラ予測モード）に基づいて、当該PUのイントラ予測モードと符号長の制御を行うように説明したが、これに限らず、現在の処理対象を含む所定の範囲内の一部若しくは全部の予測結果（最適イントラ予測モード）に基づいて、当該PUのイントラ予測モードと符号長の制御を行うようにしてもよい。
【０４２７】
図３０は、図１９のモード制限レベル制御部３２１の他の構成例を示すブロック図である。図３０の例の場合、モード制限レベル制御部３２１は、図２０の例の場合の構成に加え、イントラ予測制御部３６１を有する。
【０４２８】
イントラ予測制御部３６１は、テーブル記憶部３３３に記憶されているテーブル情報を取得し、各イントラ予測モード制限レベルでイントラ予測部３１４にイントラ予測を実行させる。
【０４２９】
イントラ予測部３１４は、イントラ予測制御部３６１に制御されて各モードでイントラ予測を行い、そのイントラ予測結果（最適イントラ予測モードとそのときのPUサイズ（PU_Size））をモード制限レベル制御部３２１に供給する。
【０４３０】
予測モード記憶部３３１は、イントラ予測部３１４から供給されるイントラ予測結果を記憶する。判定用情報生成部３３２は、予測モード記憶部３３１に記憶される各イントラ予測モード制限レベルのイントラ予測結果（予測モードおよびPUサイズ）を取得し、それに基づいて判定用情報を生成する。テーブル選択部３３４は、その判定情報に基づいてテーブル情報（イントラ予測モード制限レベル）を選択する。
【０４３１】
このように処理対象の画像を用いてイントラ予測モード制限レベルの選択を行うことにより、モード制限レベル制御部３２１は、イントラ予測モード制限レベルの選択をより適切に行うことができる。これにより、画像符号化装置３００は、符号化効率をより向上させることができる。
【０４３２】
この場合の各処理の流れは、基本的に上述した例と同様に行われる。ただし、イントラ予測処理において、図２５のステップＳ３２６の処理は省略される。また、モード制限レベル制御処理は、以下に説明するように実行される。
【０４３３】
図３０のフローチャートを参照して、モード制限レベル制御処理の流れの他の例を説明する。
【０４３４】
この場合、ステップＳ３８１において、イントラ予測制御部３６１は、図２６のステップＳ３３１の代わりに、イントラ予測部３１４を制御し、処理対象範囲について、全制限レベルでイントラ予測させ、最適イントラ予測モードとPUサイズを求めさせる。
【０４３５】
ステップＳ３８２乃至ステップＳ３８５の各処理は、図３８１の処理結果を用いて、図２６のステップＳ３３２乃至ステップＳ３３５の各処理と同様に実行される。
【０４３６】
このように各処理が行われることにより、画像符号化装置３００は、符号化効率をより向上させることができる。
【０４３７】
なお、モード制限レベルの選択の基準は任意である。すなわち、判定情報はどのような情報であってもよい。例えば、各制限レベルにおいて、最適イントラ予測モードに選択されたモードの種類の数をPUサイズ毎にカウントした統計値であってもよい。また、各制限レベルにおける最適イントラ予測モードのRDコスト関数値であってもよい。もちろん、これら以外であってもよい。
【０４３８】
また、イントラ予測モード制限レベルの制御は、任意の処理単位毎に行うようにしてもよい。例えば、上述したスライス単位の他に、シーケンスやピクチャ毎に制御するようにしてもよい。例えば、シーケンス毎にイントラ予測モード制限レベルが制御される場合、イントラ予測モード制限レベルフラグは、SPSに格納される。また、例えば、ピクチャ毎にイントラ予測モード制限レベルが制御される場合、イントラ予測モード制限レベルフラグは、PPSに格納される。
【０４３９】
また、以上においては、テーブル情報を選択することによりイントラ予測モード制限レベルの選択が行われるように説明したが、これに限らず、PUサイズ毎に互いに独立して、イントラ予測モード制限レベルの選択が行われるようにしてもよい。つまり、上述したテーブル情報の一部の項目（PUサイズ）についてのみ、モード数やBin数が更新されるようにしてもよい。
【０４４０】
さらに、以上においてはイントラ予測モード制限レベルは、０と１の２つのみとして説明したが、３段階以上であってももちろんよい。つまり、イントラ予測モードの制限が、複数段階あってもよい。
【０４４１】
図３２は、図２１および図２２のテーブル情報に対応する、PUサイズ毎にイントラ予測での使用を許可するモードを指定するテーブル情報である。
【０４４２】
図３２の例のテーブル情報のイントラ予測モード制限レベルは２（imode_limit_leve = 2）である。この制限レベルの場合、PUサイズが８×８（PU_8×8）のPUにおいては、イントラ予測モードは９種類に制限される。そして、２値化の符号長として3Binが割り当てられる。
【０４４３】
このように多様な制限レベルを用意することにより、画像符号化装置３００は、符号化効率やイントラ予測の負荷の低減をより適切に行うことができる。
【０４４４】
［画像復号装置］
図３３は、本実施の画像復号装置の主な構成例を示すブロック図である。図３３に示される画像復号装置４００は、図１９の画像符号化装置３００に対応する復号装置である。画像符号化装置３００より符号化された符号化データは、例えば伝送路や記録媒体等、任意の経路を介して、この画像復号装置４００に供給され、復号される。
【０４４５】
図３３に示されるように、画像復号装置４００は、蓄積バッファ４０１、可逆復号部４０２、逆量子化部４０３、逆直交変換部４０４、演算部４０５、ループフィルタ４０６、画面並べ替えバッファ４０７、およびD/A変換部４０８を有する。また、画像復号装置４００は、フレームメモリ４０９、選択部４１０、イントラ予測部４１１、動き予測・補償部４１２、および選択部４１３を有する。
【０４４６】
蓄積バッファ４０１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置３００により符号化されたものである。可逆復号部４０２は、蓄積バッファ４０１から符号化データを所定のタイミングで読み出し、図１９の可逆符号化部３０６の符号化方式に対応する方式で復号する。
【０４４７】
また、当該フレームがイントラ符号化されたものである場合、符号化データのヘッダ部にはイントラ予測モード情報が格納されている。可逆復号部４０２は、このイントラ予測モード情報も復号し、その情報をイントラ予測部４１１に供給する。
【０４４８】
このとき、可逆復号部４０２は、画像符号化装置３００から供給されるイントラ予測モード制限レベルフラグの値に基づいて（つまり、符号化の際に採用されたイントラ予測モード制限レベルに基づいて）、イントラ予測モード情報の２値データの符号長を特定する。これにより可逆復号部４０２は、イントラ予測モード情報をより正確に復号することができる。
【０４４９】
また、当該フレームがインター符号化されたものである場合、符号化データのヘッダ部には動きベクトル情報やインター予測モード情報が格納されている。可逆復号部４０２は、この動きベクトル情報やインター予測モード情報も復号し、その情報を動き予測・補償部４１２に供給する。
【０４５０】
逆量子化部４０３は、可逆復号部４０２により復号されて得られた係数データ（量子化係数）を、図１９の量子化部３０５の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部４０３は、図１９の逆量子化部３０８と同様の方法で量子化係数の逆量子化を行う。
【０４５１】
逆量子化部４０３は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部４０４に供給する。逆直交変換部４０４は、図１９の直交変換部３０４の直交変換方式に対応する方式（図１９の逆直交変換部３０９と同様の方式）で、その直交変換係数を逆直交変換する。逆直交変換部４０４は、この逆直交変換処理により、画像符号化装置３００において直交変換される前の残差データに対応する復号残差データを得る。例えば、４次の逆直交変換が施される。
【０４５２】
逆直交変換されて得られた復号残差データは、演算部４０５に供給される。また、演算部４０５には、選択部４１３を介して、イントラ予測部４１１若しくは動き予測・補償部４１２から予測画像が供給される。
【０４５３】
演算部４０５は、その復号残差データと予測画像とを加算し、画像符号化装置３００の演算部３０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部４０５は、その復号画像データをループフィルタ４０６に供給する。
【０４５４】
ループフィルタ４０６は、供給された復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施し、それを画面並べ替えバッファ４０７に供給する。
【０４５５】
ループフィルタ４０６は、デブロックフィルタや適応ループフィルタ等を含み、演算部４０５から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ４０６は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ４０６は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた復号画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。
【０４５６】
なお、ループフィルタ４０６が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ４０６が、図１９の画像符号化装置３００から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
【０４５７】
ループフィルタ４０６は、フィルタ処理結果（フィルタ処理後の復号画像）を画面並べ替えバッファ４０７およびフレームメモリ４０９に供給する。なお、演算部４０５から出力される復号画像は、ループフィルタ４０６を介さずに画面並べ替えバッファ４０７やフレームメモリ４０９に供給することができる。つまり、ループフィルタ４０６によるフィルタ処理は省略することができる。
【０４５８】
画面並べ替えバッファ４０７は、画像の並べ替えを行う。すなわち、図１９の画面並べ替えバッファ３０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部４０８は、画面並べ替えバッファ４０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０４５９】
フレームメモリ４０９は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部４１１や動き予測・補償部４１２等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部４１０に供給する。
【０４６０】
選択部４１０は、フレームメモリ４０９から供給される参照画像の供給先を選択する。選択部４１０は、イントラ符号化された画像を復号する場合、フレームメモリ４０９から供給される参照画像をイントラ予測部４１１に供給する。また、選択部４１０は、インター符号化された画像を復号する場合、フレームメモリ４０９から供給される参照画像を動き予測・補償部４１２に供給する。
【０４６１】
イントラ予測部４１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部４０２から適宜供給される。イントラ予測部４１１は、図１９のイントラ予測部３１４において用いられたイントラ予測モードで、フレームメモリ４０９から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。
【０４６２】
イントラ予測部４１１は、生成した予測画像を選択部４１３に供給する。
【０４６３】
動き予測・補償部４１２は、ヘッダ情報を復号して得られた情報（最適モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等）を可逆復号部４０２から取得する。
【０４６４】
動き予測・補償部４１２は、図１９の動き予測・補償部３１５において用いられたインター予測モードで、フレームメモリ４０９から取得した参照画像を用いてインター予測を行い、予測画像を生成する。つまり、動き予測・補償部４１２は、動き予測・補償部３１５と同様に、AVC符号化方式において規定されるモード以外の任意のモードでこのイントラ予測を行うこともできる。
【０４６５】
動き予測・補償部４１２は、動き予測・補償部２１２の場合と同様に、生成した予測画像を選択部４１３に供給する。
【０４６６】
選択部４１３は、演算部４０５に供給する予測画像の供給元を選択する。つまり、選択部４１３は、動き予測・補償部４１２またはイントラ予測部４１１により生成された予測画像を演算部４０５に供給する。
【０４６７】
［可逆復号部］
図３４は、図３３の可逆復号部４０２の主な構成例を示すブロック図である。図３４に示されるように、可逆復号部４０２は、エントロピ復号部４２１、逆２値化部４２２、イントラ予測モード記憶部４２３、MPM算出部４２４、テーブル記憶部４２５、および符号長決定部４２６を有する。
【０４６８】
エントロピ復号部４２１は、蓄積バッファ４０１から供給される符号化データを復号し、その２値データを逆２値化部４２２に供給する。
【０４６９】
また、エントロピ復号部４２１は、prev_intra_luma_pred_flagを復号し、それをMPM算出部４２４に供給する。さらに、エントロピ復号部４２１は、イントラ予測モード制限レベルフラグ（imode_limit_level）とPUサイズ（PU_Size）を復号し、それらを符号長決定部４２６に供給する。
【０４７０】
逆２値化部４２２は、エントロピ復号部４２１から供給される２値データを逆２値化する。例えば、逆２値化部４２２は、量子化された差分画像データの係数データの２値データを逆２値化し、得られた係数データを逆量子化部４０３に供給する。また、図示は省略するが、逆２値化部４２２は、フィルタ係数等のループフィルタに関する情報の２値データを逆２値化し、得られたループフィルタに関する情報をループフィルタ４０６に供給する。
【０４７１】
さらに、例えば逆２値化部４２２は、インター予測モード情報の２値データを逆２値化し、得られたインター予測モード情報を動き予測・補償部４１２に供給する。
【０４７２】
さらに、例えば、逆２値化部４２２は、イントラ予測モード情報の２値データを逆２値化する。その際、逆２値化部４２２は、画像符号化装置３００から供給されるイントラ予測モード制限レベルフラグの値に基づいて（つまり、符号化の際に採用されたイントラ予測モード制限レベルに基づいて）決定された符号長で逆２値化を行う。逆２値化部４２２は、得られたイントラ予測モード情報をイントラ予測部４１１に供給する。
【０４７３】
イントラ予測モード記憶部４２３は、逆２値化部４２２の逆２値化により得られた当該PUのイントラ予測モード情報や、MPM算出部４２４において生成された当該PUのMPM情報を記憶する。これらの情報は、現在より時間的に後に行われる他の領域に対する処理において、処理対象領域の周辺の領域のイントラ予測モードを示す周辺予測モード情報としてMPM算出部４２４に供給される。
【０４７４】
MPM算出部４２４は、prev_intra_luma_pred_flagをエントロピ復号部４２１から取得すると、その値が１の場合（つまり、MPMが適用されている場合）、イントラ予測モード記憶部４２３から周辺予測モード情報を取得し、MPMを算出し、それをMPM情報としてイントラ予測部４１１に供給する。prev_intra_luma_pred_flagの値が０の場合（つまり、MPMが適用されなかった場合）、MPM算出部４２４は、MPMの算出を省略する。
【０４７５】
テーブル記憶部４２５は、画像符号化装置３００のテーブル記憶部３４４（図２３）と同様の、PUサイズ毎に符号長を指定する、イントラ予測モード制限レベル毎のテーブル情報を予め記憶している。
【０４７６】
符号長決定部４２６は、エントロピ復号部４２１からイントラ予測モード制限レベルフラグ（imode_limit_level）とPUサイズ（PU_Size）とを取得すると、テーブル記憶部４２５から、イントラ予測モード制限レベルフラグ（imode_limit_level）に対応するテーブル情報を取得する。また、符号長決定部４２６は、取得したテーブル情報を用いて、PUサイズ（PU_Size）に対応する符号長を決定し、その符号長を示す符号長情報を逆２値化部４２２に供給する。
【０４７７】
このように、可逆復号部４０２が画像符号化装置３００から供給されるイントラ予測モード制限レベルフラグ（imode_limit_level）に基づいて、イントラ予測モード情報の２値データの符号長を設定し、その符号長を用いて逆２値化することにより、画像復号装置４００は、画像符号化装置３００において割り当てる符号長が適応的に制御されたイントラ予測モード情報を適切に復号することができる。つまり、画像復号装置４００は、符号化効率を向上させることができる。
【０４７８】
また、以上のように復号されて逆２値化されたイントラ予測モード情報は、画像符号化装置３００において適応的にモードが制限されている。したがって、画像復号装置４００は、イントラ予測の負荷を低減させることができる。
【０４７９】
［復号処理の流れ］
次に、以上のような画像復号装置４００により実行される各処理の流れについて説明する。最初に、図３５のフローチャートを参照して、復号処理の流れの例を説明する。
【０４８０】
復号処理が開始されると、ステップＳ４０１において、蓄積バッファ４０１は、伝送されてきた符号化データを蓄積する。
【０４８１】
ステップＳ４０２において、可逆復号部４０２は、蓄積バッファ４０１から供給される符号化データ（画像符号化装置３００により画像データが符号化されて得られた符号化データ）を復号する。
【０４８２】
ステップＳ４０３において、逆量子化部４０３は、可逆復号部４０２により復号されて得られた、量子化された直交変換係数を、図１９の量子化部３０５による量子化処理に対応する方法で逆量子化する。ステップＳ４０４において逆直交変換部４０４は逆量子化部４０３により逆量子化されて得られた直交変換係数を、図１９の直交変換部３０４による直交変換処理に対応する方法で逆直交変換する。これにより図１９の直交変換部３０４の入力（演算部３０３の出力）に対応する差分情報が復号されたことになる。
【０４８３】
ステップＳ４０５において、イントラ予測部４１１および動き予測・補償部４１２は、予測処理を行い、予測画像を生成する。
【０４８４】
ステップＳ４０６において、選択部４１３は、ステップＳ４０５の処理により生成された予測画像を選択する。すなわち、選択部４１３には、イントラ予測部４１１により生成された予測画像、若しくは、動き予測・補償部４１２により生成された予測画像が供給される。選択部４１３は、その予測画像が供給された側を選択し、その予測画像を演算部４０５に供給する。
【０４８５】
ステップＳ４０７において、演算部４０５は、ステップＳ４０４の処理により得られた差分情報に、ステップＳ４０６において選択された予測画像を加算する。これにより元の画像データが復号される。
【０４８６】
ステップＳ４０８において、ループフィルタ４０６は、ステップＳ４０７の処理により得られた復号画像を適宜フィルタリングする。
【０４８７】
ステップＳ４０９において、画面並べ替えバッファ４０７は、ステップＳ４０８において適宜フィルタリングされた復号画像のフレームの並べ替えを行う。すなわち、画像符号化装置３００の画面並べ替えバッファ３０２（図１９）により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０４８８】
ステップＳ４１０において、D/A変換部４０８は、ステップＳ４０９においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
【０４８９】
ステップＳ４１１において、フレームメモリ４０９は、ステップＳ４０８において適宜フィルタリングされた復号画像を記憶する。
【０４９０】
ステップＳ４１１の処理が終了すると、フレームメモリ４０９は、復号処理を終了する。
【０４９１】
［可逆復号処理の流れ］
次に、図３６のフローチャートを参照して、図３５のステップＳ４０２において実行される可逆復号処理の流れの例を説明する。
【０４９２】
可逆復号処理が開始されると、可逆復号部４０２は、ステップＳ４２１において、処理対象がイントラ符号化されたものであるか否かを判定する。イントラ符号化されたものであると判定された場合、可逆復号部４０２は、処理をステップＳ４２２に進め、イントラ予測モード情報の符号化データを復号し、処理をステップＳ４２４に進める。
【０４９３】
また、ステップＳ４２１において、処理対象がインター符号化されたものであると判定された場合、可逆復号部４０２は、処理をステップＳ４２３に進め、インター予測モード情報の符号化データを復号し、処理をステップＳ４２４に進める。
【０４９４】
ステップＳ４２４において、可逆復号部４０２は、係数データの符号化データを復号する。ステップＳ４２４の処理が終了すると、可逆復号部４０２は、可逆復号処理を終了し、処理を図３５のステップＳ４０２に戻し、ステップＳ４０３以降の処理を実行させる。
【０４９５】
［イントラ予測モード情報復号処理の流れ］
次に、図３７および図３８のフローチャートを参照して、図３６のステップＳ４２２において実行されるイントラ予測モード情報復号処理の流れの例を説明する。
【０４９６】
イントラ予測モード情報復号処理が開始されると、エントロピ復号部４２１は、図３７のステップＳ４３１において、prev_intra_luma_pred_flagを復号する。ステップＳ４３２において、MPM算出部４２４は、prev_intra_luma_pred_flagの値が１であるか否かを判定する。prev_intra_luma_pred_flagの値が１であり、符号化の際にMPMが適用されたと判定された場合、MPM算出部４２４は、処理をステップS４３３に進める。
【０４９７】
ステップＳ４３３において、MPM算出部４２４は、イントラ予測モード記憶部４２３から、処理対象である当該PUの周辺の予測モード情報である周辺予測モード情報を読み出し、その周辺予測モード情報を用いてMPMを求める。
【０４９８】
ステップＳ４３４において、MPM算出部４２４は、ステップＳ４３３において算出したMPMをイントラ予測モード情報として出力する。
【０４９９】
ステップＳ４３５において、イントラ予測モード記憶部４２３は、ステップＳ４３３において算出されたMPMをイントラ予測モード情報として取得し、記憶する。ステップＳ４３５の処理を終了すると、イントラ予測モード記憶部４２３は、イントラ予測モード情報復号処理を終了し、処理を図３６のステップＳ４２２に戻し、処理をステップＳ４２４に進める。
【０５００】
また、図３７のステップＳ４３２において、prev_intra_luma_pred_flagの値が０であり、符号化の際にMPMが適用されなかったと判定された場合、MPM算出部４２４は、処理を図３８のステップＳ４４１に進める。
【０５０１】
図３８のステップＳ４４１において、エントロピ復号部４２１は、例えばイントラ予測モード情報の符号化データを取得し、それらをエントロピ復号する。また、ステップＳ４４２において、エントロピ復号部４２１は、イントラ予測モード制限レベルフラグ（imode_limit_level）の符号化データを復号する。なお、実際には、このステップＳ４４１およびステップＳ４４２において、エントロピ復号部４２１は、これらの情報の他にも、例えばSPS、PPS、およびスライスヘッダ等に格納される情報も復号する。
【０５０２】
ステップＳ４４３において、符号長決定部４２６は、ステップＳ４４２において復号されて得られたイントラ予測モード制限レベルフラグの値が１（imode_limit_level = 1）であるか否かを判定する。イントラ予測モード制限レベルフラグの値が１（imode_limit_level = 1）であると判定された場合、符号長決定部４２６は、処理をステップＳ４４４に進める。
【０５０３】
ステップＳ４４４において、符号長決定部４２６は、テーブル記憶部４２５から、イントラ予測モード制限レベルが１（imode_limit_level = 1）のテーブル情報を読み出し、そのテーブル情報に基づいて、エントロピ復号部４２１において復号された当該PUのPUサイズ（PU_Size）に応じた符号長（Bin数）を求める。
【０５０４】
ステップＳ４４５において、逆２値化部４２２は、ステップＳ４４４において求められた符号長（Bin数）で、ステップＳ４４１において復号されて得られたイントラ予測モード情報の２値データを逆２値化する。この逆２値化により得られたイントラ予測モード情報はイントラ予測部４１１に供給される。
【０５０５】
ステップＳ４４６において、イントラ予測モード記憶部４２３は、ステップＳ４４５の処理により得られたイントラ予測モード情報を取得し、記憶する。ステップＳ４４６の処理を終了すると、イントラ予測モード記憶部４２３は、イントラ予測モード情報復号処理を終了し、処理を図３６のステップＳ４２２に戻し、処理をステップＳ４２４に進める。
【０５０６】
また、図３８のステップＳ４４３において、イントラ予測モード制限レベルフラグの値が０であると判定された場合、符号長決定部４２６は、処理をステップＳ４４７に進める。
【０５０７】
ステップＳ４４７において、符号長決定部４２６は、テーブル記憶部４２５から、イントラ予測モード制限レベルが０（imode_limit_level = 0）のテーブル情報を読み出し、そのテーブル情報に基づいて、エントロピ復号部４２１において復号された当該PUのPUサイズ（PU_Size）に応じた符号長（Bin数）を求める。
【０５０８】
ステップＳ４４８において、逆２値化部４２２は、ステップＳ４４７において求められた符号長（Bin数）で、ステップＳ４４１において復号されて得られたイントラ予測モード情報の２値データを逆２値化する。
【０５０９】
ステップＳ４４９において、逆２値化部４２２は、ステップＳ４４８において得られたイントラ予測モード情報の値（イントラ予測モードの番号）が３１であるか否かを判定し、３１であると判定された場合、処理をステップＳ４５０に進める。
【０５１０】
ステップＳ４５０において、逆２値化部４２２は、２値データからさらに１Bin抽出する。ステップＳ４５１において、逆２値化部４２２は、その抽出したBinの値が１であるか否かを判定し、１であると判定された場合、処理をステップＳ４５２に進める。
【０５１１】
つまり、この場合、図２９のステップＳ３７１において１が符号化されている。したがって、ステップＳ４５２において、逆２値化部４２２は、イントラ予測モード情報の値（イントラ予測モードの番号）を３２に変更する。ステップＳ４５２の処理を終了すると、逆２値化部４２２は、処理をステップＳ４５３に進める。
【０５１２】
また、ステップＳ４５１において、抽出したBinの値が０であると判定された場合、図２９のステップＳ３７１において０が符号化されている。つまり、この場合、イントラ予測モード情報の値（イントラ予測モードの番号）は３１で正しいので、逆２値化部４２２は、ステップＳ４５２の処理を省略し、ステップＳ４５３に処理を進める。
【０５１３】
また、ステップＳ４４９において、イントラ予測モード情報の値（イントラ予測モードの番号）が３１でない（３０以下である）と判定された場合、図２９のステップＳ３７１の処理は行われていない。したがって、逆２値化部４２２は、ステップＳ４５０乃至ステップＳ４５２の処理を省略し、ステップＳ４５３に処理を進める。
【０５１４】
ステップＳ４５３において、イントラ予測モード情報の値（イントラ予測モードの番号）がMPMの番号以上であるか否かを判定し、MPMの番号以上であると判定された場合、処理をステップＳ４５４に進める。
【０５１５】
この場合、図２９のステップＳ３６３において値が１減算されている。したがって、逆２値化部４２２は、ステップＳ４５４において、イントラ予測モード情報の値（イントラ予測モードの番号）に１を加算する。ステップＳ４５４の処理が終了すると、逆２値化部４２２は、得られたイントラ予測モード情報をイントラ予測部４１１に供給し、処理をステップＳ４４６に戻す。
【０５１６】
また、ステップＳ４５３において、イントラ予測モード情報の値（イントラ予測モードの番号）がMPMの番号より小さいと判定された場合、図２９のステップＳ３６３の処理は行われていないので、逆２値化部４２２は、ステップＳ４５４の処理を省略し、処理をステップＳ４４６に戻す。
【０５１７】
以上のように各処理を実行することにより、画像復号装置４００は、画像符号化装置３００において割り当てる符号長が適応的に制御されたイントラ予測モード情報を適切に復号することができる。つまり、画像復号装置４００は、符号化効率を向上させることができる。
【０５１８】
また、以上のように復号されて逆２値化されたイントラ予測モード情報は、画像符号化装置３００において適応的にモードが制限されているので、画像復号装置４００は、イントラ予測の負荷を低減させることができる。
【０５１９】
［その他の例］
以上においては、画像符号化装置３００および画像復号装置４００が各イントラ予測モード制限レベルのテーブル情報を予め共有するように説明したが、これに限らず、画像符号化装置３００と画像復号装置４００がこのテーブル情報を授受することができるようにしてもよい。例えば、符号化データを授受する前に、画像符号化装置３００が、画像復号装置４００に対してテーブル情報を供給するようにしてもよい。また、画像符号化装置３００が画像符号化を開始する前に、画像復号装置４００が、テーブル情報を画像符号化装置３００に提供するようにしてもよい。さらに、画像符号化装置３００および画像復号装置４００以外の装置が、画像符号化装置３００および画像復号装置４００に対してテーブル情報を供給するようにしてもよい。
【０５２０】
また、以上においては、イントラ予測モード制限レベルが可変であるように説明したが、イントラ予測モード制限レベルは固定値とし、常にモードが制限されているようにしてもよい。その場合、画像符号化装置３００と画像復号装置４００との間の、イントラ予測モード制限レベルの授受は省略することができる。
【０５２１】
さらに、以上においては、イントラ予測モード制限レベル０（モードの制限が無い状態）を初期状態とし、適応的にレベルを１にして制限を行うように説明したが、どのレベルを初期状態にしてもよい。例えば、イントラ予測モード制限レベル１（モードの制限がある状態）を初期状態とし、適応的にレベルを０にして制限を解除するようにしてもよい。
【０５２２】
また、以上においては、イントラ予測モード制限レベルを３段階以上としてもよいと説明したが、このイントラ予測モード制限レベルの数を変更することができるようにしてもよい。さらに、例えばシーケンス、ピクチャ、若しくはスライス等、所定の処理単位毎にイントラ予測モード制限レベルの数を変更することができるようにしてもよい。
【０５２３】
＜３．第３の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図３９に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０５２４】
図３９において、パーソナルコンピュータ５００のCPU（Central Processing Unit）５０１は、ROM（Read Only Memory）５０２に記憶されているプログラム、または記憶部５１３からRAM（Random Access Memory）５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０５２５】
CPU５０１、ROM５０２、およびRAM５０３は、バス５０４を介して相互に接続されている。このバス５０４にはまた、入出力インタフェース５１０も接続されている。
【０５２６】
入出力インタフェース５１０には、キーボード、マウスなどよりなる入力部５１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部５１２、ハードディスクなどより構成される記憶部５１３、モデムなどより構成される通信部５１４が接続されている。通信部５１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０５２７】
入出力インタフェース５１０にはまた、必要に応じてドライブ５１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部５１３にインストールされる。
【０５２８】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０５２９】
この記録媒体は、例えば、図３９に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア５２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM５０２や、記憶部５１３に含まれるハードディスクなどで構成される。
【０５３０】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０５３１】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０５３２】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０５３３】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０５３４】
例えば、上述した画像符号化装置や画像復号装置は、任意の電子機器に適用することができる。以下にその例について説明する。
【０５３５】
＜４．第４の実施の形態＞
［テレビジョン受像機］
図４０は、本発明を適用した画像復号装置２００を用いるテレビジョン受像機の主な構成例を示すブロック図である。
【０５３６】
図４０に示されるテレビジョン受像機１０００は、地上波チューナ１０１３、ビデオデコーダ１０１５、映像信号処理回路１０１８、グラフィック生成回路１０１９、パネル駆動回路１０２０、および表示パネル１０２１を有する。
【０５３７】
地上波チューナ１０１３は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ１０１５に供給する。ビデオデコーダ１０１５は、地上波チューナ１０１３から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路１０１８に供給する。
【０５３８】
映像信号処理回路１０１８は、ビデオデコーダ１０１５から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路１０１９に供給する。
【０５３９】
グラフィック生成回路１０１９は、表示パネル１０２１に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路１０２０に供給する。また、グラフィック生成回路１０１９は、項目の選択などにユーザにより利用される画面を表示するための映像データ（グラフィック）を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路１０２０に供給するといった処理も適宜行う。
【０５４０】
パネル駆動回路１０２０は、グラフィック生成回路１０１９から供給されたデータに基づいて表示パネル１０２１を駆動し、番組の映像や上述した各種の画面を表示パネル１０２１に表示させる。
【０５４１】
表示パネル１０２１はLCD（Liquid Crystal Display）などよりなり、パネル駆動回路１０２０による制御に従って番組の映像などを表示させる。
【０５４２】
また、テレビジョン受像機１０００は、音声A/D（Analog/Digital)変換回路１０１４、音声信号処理回路１０２２、エコーキャンセル／音声合成回路１０２３、音声増幅回路１０２４、およびスピーカ１０２５も有する。
【０５４３】
地上波チューナ１０１３は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ１０１３は、取得した音声信号を音声A/D変換回路１０１４に供給する。
【０５４４】
音声A/D変換回路１０１４は、地上波チューナ１０１３から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路１０２２に供給する。
【０５４５】
音声信号処理回路１０２２は、音声A/D変換回路１０１４から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル／音声合成回路１０２３に供給する。
【０５４６】
エコーキャンセル／音声合成回路１０２３は、音声信号処理回路１０２２から供給された音声データを音声増幅回路１０２４に供給する。
【０５４７】
音声増幅回路１０２４は、エコーキャンセル／音声合成回路１０２３から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ１０２５から出力させる。
【０５４８】
さらに、テレビジョン受像機１０００は、デジタルチューナ１０１６およびMPEGデコーダ１０１７も有する。
【０５４９】
デジタルチューナ１０１６は、デジタル放送（地上デジタル放送、BS（Broadcasting Satellite）／CS（Communications Satellite）デジタル放送）の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS（Moving Picture Experts Group-Transport Stream）を取得し、それをMPEGデコーダ１０１７に供給する。
【０５５０】
MPEGデコーダ１０１７は、デジタルチューナ１０１６から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象（視聴対象）になっている番組のデータを含むストリームを抽出する。MPEGデコーダ１０１７は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路１０２２に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路１０１８に供給する。また、MPEGデコーダ１０１７は、MPEG-TSから抽出したEPG（Electronic Program Guide)データを図示せぬ経路を介してCPU１０３２に供給する。
【０５５１】
テレビジョン受像機１０００は、このように映像パケットをデコードするMPEGデコーダ１０１７として、上述した画像復号装置４００を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置３００によって符号化されている。
【０５５２】
MPEGデコーダ１０１７は、画像復号装置４００の場合と同様に、符号化側から供給されるイントラ予測モード制限フラグの値に応じて符号長を決定し、その符号長を用いて、イントラ予測モード情報の２値データを逆２値化する。したがって、MPEGデコーダ１０１７は、イントラ予測モードを適応的に制限してイントラ符号化された符号化データを適切に復号することができる。これにより、MPEGデコーダ１０１７は、符号化データの符号化効率を向上させることができる。
【０５５３】
MPEGデコーダ１０１７から供給された映像データは、ビデオデコーダ１０１５から供給された映像データの場合と同様に、映像信号処理回路１０１８において所定の処理が施され、グラフィック生成回路１０１９において、生成された映像データ等が適宜重畳され、パネル駆動回路１０２０を介して表示パネル１０２１に供給され、その画像が表示される。
【０５５４】
MPEGデコーダ１０１７から供給された音声データは、音声A/D変換回路１０１４から供給された音声データの場合と同様に、音声信号処理回路１０２２において所定の処理が施され、エコーキャンセル／音声合成回路１０２３を介して音声増幅回路１０２４に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ１０２５から出力される。
【０５５５】
また、テレビジョン受像機１０００は、マイクロホン１０２６、およびA/D変換回路１０２７も有する。
【０５５６】
A/D変換回路１０２７は、音声会話用のものとしてテレビジョン受像機１０００に設けられるマイクロホン１０２６により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル／音声合成回路１０２３に供給する。
【０５５７】
エコーキャンセル／音声合成回路１０２３は、テレビジョン受像機１０００のユーザ（ユーザＡ）の音声のデータがA/D変換回路１０２７から供給されている場合、ユーザＡの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１０２４を介してスピーカ１０２５より出力させる。
【０５５８】
さらに、テレビジョン受像機１０００は、音声コーデック１０２８、内部バス１０２９、SDRAM（Synchronous Dynamic Random Access Memory)１０３０、フラッシュメモリ１０３１、CPU１０３２、USB（Universal Serial Bus) I/F１０３３、およびネットワークI/F１０３４も有する。
【０５５９】
A/D変換回路１０２７は、音声会話用のものとしてテレビジョン受像機１０００に設けられるマイクロホン１０２６により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック１０２８に供給する。
【０５６０】
音声コーデック１０２８は、A/D変換回路１０２７から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス１０２９を介してネットワークI/F１０３４に供給する。
【０５６１】
ネットワークI/F１０３４は、ネットワーク端子１０３５に装着されたケーブルを介してネットワークに接続される。ネットワークI/F１０３４は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック１０２８から供給された音声データを送信する。また、ネットワークI/F１０３４は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子１０３５を介して受信し、それを、内部バス１０２９を介して音声コーデック１０２８に供給する。
【０５６２】
音声コーデック１０２８は、ネットワークI/F１０３４から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル／音声合成回路１０２３に供給する。
【０５６３】
エコーキャンセル／音声合成回路１０２３は、音声コーデック１０２８から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１０２４を介してスピーカ１０２５より出力させる。
【０５６４】
SDRAM１０３０は、CPU１０３２が処理を行う上で必要な各種のデータを記憶する。
【０５６５】
フラッシュメモリ１０３１は、CPU１０３２により実行されるプログラムを記憶する。フラッシュメモリ１０３１に記憶されているプログラムは、テレビジョン受像機１０００の起動時などの所定のタイミングでCPU１０３２により読み出される。フラッシュメモリ１０３１には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
【０５６６】
例えば、フラッシュメモリ１０３１には、CPU１０３２の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ１０３１は、例えばCPU１０３２の制御により、そのMPEG-TSを、内部バス１０２９を介してMPEGデコーダ１０１７に供給する。
【０５６７】
MPEGデコーダ１０１７は、デジタルチューナ１０１６から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機１０００は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ１０１７を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
【０５６８】
また、テレビジョン受像機１０００は、リモートコントローラ１０５１から送信される赤外線信号を受光する受光部１０３７も有する。
【０５６９】
受光部１０３７は、リモートコントローラ１０５１からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU１０３２に出力する。
【０５７０】
CPU１０３２は、フラッシュメモリ１０３１に記憶されているプログラムを実行し、受光部１０３７から供給される制御コードなどに応じてテレビジョン受像機１０００の全体の動作を制御する。CPU１０３２とテレビジョン受像機１０００の各部は、図示せぬ経路を介して接続されている。
【０５７１】
USB I/F１０３３は、USB端子１０３６に装着されたUSBケーブルを介して接続される、テレビジョン受像機１０００の外部の機器との間でデータの送受信を行う。ネットワークI/F１０３４は、ネットワーク端子１０３５に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
【０５７２】
テレビジョン受像機１０００は、MPEGデコーダ１０１７として画像復号装置４００を用いることにより、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータの符号化効率を向上させることができる。
【０５７３】
＜５．第５の実施の形態＞
［携帯電話機］
図４１は、本発明を適用した画像符号化装置３００および画像復号装置４００を用いる携帯電話機の主な構成例を示すブロック図である。
【０５７４】
図４１に示される携帯電話機１１００は、各部を統括的に制御するようになされた主制御部１１５０、電源回路部１１５１、操作入力制御部１１５２、画像エンコーダ１１５３、カメラI/F部１１５４、LCD制御部１１５５、画像デコーダ１１５６、多重分離部１１５７、記録再生部１１６２、変復調回路部１１５８、および音声コーデック１１５９を有する。これらは、バス１１６０を介して互いに接続されている。
【０５７５】
また、携帯電話機１１００は、操作キー１１１９、CCD（Charge Coupled Devices）カメラ１１１６、液晶ディスプレイ１１１８、記憶部１１２３、送受信回路部１１６３、アンテナ１１１４、マイクロホン（マイク）１１２１、およびスピーカ１１１７を有する。
【０５７６】
電源回路部１１５１は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機１１００を動作可能な状態に起動する。
【０５７７】
携帯電話機１１００は、CPU、ROMおよびRAM等でなる主制御部１１５０の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０５７８】
例えば、音声通話モードにおいて、携帯電話機１１００は、マイクロホン（マイク）１１２１で集音した音声信号を、音声コーデック１１５９によってデジタル音声データに変換し、これを変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（音声信号）は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
【０５７９】
また、例えば、音声通話モードにおいて、携帯電話機１１００は、アンテナ１１１４で受信した受信信号を送受信回路部１１６３で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部１１５８でスペクトラム逆拡散処理し、音声コーデック１１５９によってアナログ音声信号に変換する。携帯電話機１１００は、その変換して得られたアナログ音声信号をスピーカ１１１７から出力する。
【０５８０】
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機１１００は、操作キー１１１９の操作によって入力された電子メールのテキストデータを、操作入力制御部１１５２において受け付ける。携帯電話機１１００は、そのテキストデータを主制御部１１５０において処理し、LCD制御部１１５５を介して、画像として液晶ディスプレイ１１１８に表示させる。
【０５８１】
また、携帯電話機１１００は、主制御部１１５０において、操作入力制御部１１５２が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機１１００は、その電子メールデータを、変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（電子メール）は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
【０５８２】
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機１１００は、基地局から送信された信号を、アンテナ１１１４を介して送受信回路部１１６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１１００は、その受信信号を変復調回路部１１５８でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機１１００は、復元された電子メールデータを、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示する。
【０５８３】
なお、携帯電話機１１００は、受信した電子メールデータを、記録再生部１１６２を介して、記憶部１１２３に記録する（記憶させる）ことも可能である。
【０５８４】
この記憶部１１２３は、書き換え可能な任意の記憶媒体である。記憶部１１２３は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
【０５８５】
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機１１００は、撮像によりCCDカメラ１１１６で画像データを生成する。CCDカメラ１１１６は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ１１１６は、その画像データを、カメラI/F部１１５４を介して、画像エンコーダ１１５３で符号化し、符号化画像データに変換する。
【０５８６】
携帯電話機１１００は、このような処理を行う画像エンコーダ１１５３として、上述した画像符号化装置３００を用いる。画像エンコーダ１１５３は、画像符号化装置３００の場合と同様に、イントラ予測のモードを適応的に制限し、さらに、イントラ予測モード情報に割り当てる２値化の符号長を適応的に制御する。つまり、画像エンコーダ１１５３は、イントラ予測モードが増大することによるイントラ予測モード情報の不要な符号長の増大を抑制することができる。これにより、画像エンコーダ１１５３は、符号化データの符号化効率を向上させることができる。
【０５８７】
なお、携帯電話機１１００は、このとき同時に、CCDカメラ１１１６で撮像中にマイクロホン（マイク）１１２１で集音した音声を、音声コーデック１１５９においてアナログデジタル変換し、さらに符号化する。
【０５８８】
携帯電話機１１００は、多重分離部１１５７において、画像エンコーダ１１５３から供給された符号化画像データと、音声コーデック１１５９から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機１１００は、その結果得られる多重化データを、変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（画像データ）は、ネットワーク等を介して、通信相手に供給される。
【０５８９】
なお、画像データを送信しない場合、携帯電話機１１００は、CCDカメラ１１１６で生成した画像データを、画像エンコーダ１１５３を介さずに、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示させることもできる。
【０５９０】
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機１１００は、基地局から送信された信号を、アンテナ１１１４を介して送受信回路部１１６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１１００は、その受信信号を変復調回路部１１５８でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機１１００は、多重分離部１１５７において、その多重化データを分離して、符号化画像データと音声データとに分ける。
【０５９１】
携帯電話機１１００は、画像デコーダ１１５６において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ１１１８に表示される。
【０５９２】
携帯電話機１１００は、このような処理を行う画像デコーダ１１５６として、上述した画像復号装置４００を用いる。つまり、画像デコーダ１１５６は、画像復号装置４００の場合と同様に、符号化側から供給されるイントラ予測モード制限フラグの値に応じて符号長を決定し、その符号長を用いて、イントラ予測モード情報の２値データを逆２値化する。したがって、画像デコーダ１１５６は、イントラ予測モードを適応的に制限してイントラ符号化された符号化データを適切に復号することができる。これにより、画像デコーダ１１５６は、符号化データの符号化効率を向上させることができる。
【０５９３】
このとき、携帯電話機１１００は、同時に、音声コーデック１１５９において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ１１１７より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
【０５９４】
なお、電子メールの場合と同様に、携帯電話機１１００は、受信した簡易ホームページ等にリンクされたデータを、記録再生部１１６２を介して、記憶部１１２３に記録する（記憶させる）ことも可能である。
【０５９５】
また、携帯電話機１１００は、主制御部１１５０において、撮像されてCCDカメラ１１１６で得られた２次元コードを解析し、２次元コードに記録された情報を取得することができる。
【０５９６】
さらに、携帯電話機１１００は、赤外線通信部１１８１で赤外線により外部の機器と通信することができる。
【０５９７】
携帯電話機１１００は、画像エンコーダ１１５３として画像符号化装置３００を用いることにより、例えばCCDカメラ１１１６において生成された画像データを符号化して伝送する際に、その符号化データの符号化効率を向上させることができる。
【０５９８】
また、携帯電話機１１００は、画像デコーダ１１５６として画像復号装置４００を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ（符号化データ）の符号化効率を向上させることができる。
【０５９９】
なお、以上において、携帯電話機１１００が、CCDカメラ１１１６を用いるように説明したが、このCCDカメラ１１１６の代わりに、CMOS（Complementary Metal Oxide Semiconductor）を用いたイメージセンサ（CMOSイメージセンサ）を用いるようにしてもよい。この場合も、携帯電話機１１００は、CCDカメラ１１１６を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
【０６００】
また、以上においては携帯電話機１１００として説明したが、例えば、PDA（Personal Digital Assistants）、スマートフォン、UMPC（Ultra Mobile Personal Computer）、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機１１００と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機１１００の場合と同様に、本発明を適用した画像符号化装置および画像復号装置を適用することができる。
【０６０１】
＜６．第６の実施の形態＞
［ハードディスクレコーダ］
図４２は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
【０６０２】
図４２に示されるハードディスクレコーダ（HDDレコーダ）１２００は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号（テレビジョン信号）に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
【０６０３】
ハードディスクレコーダ１２００は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ１２００は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
【０６０４】
さらに、ハードディスクレコーダ１２００は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ１２６０に供給し、モニタ１２６０の画面にその画像を表示させ、モニタ１２６０のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ１２００は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ１２６０に供給し、モニタ１２６０の画面にその画像を表示させ、モニタ１２６０のスピーカよりその音声を出力させることもできる。
【０６０５】
もちろん、この他の動作も可能である。
【０６０６】
図４２に示されるように、ハードディスクレコーダ１２００は、受信部１２２１、復調部１２２２、デマルチプレクサ１２２３、オーディオデコーダ１２２４、ビデオデコーダ１２２５、およびレコーダ制御部１２２６を有する。ハードディスクレコーダ１２００は、さらに、EPGデータメモリ１２２７、プログラムメモリ１２２８、ワークメモリ１２２９、ディスプレイコンバータ１２３０、OSD（On Screen Display）制御部１２３１、ディスプレイ制御部１２３２、記録再生部１２３３、D/Aコンバータ１２３４、および通信部１２３５を有する。
【０６０７】
また、ディスプレイコンバータ１２３０は、ビデオエンコーダ１２４１を有する。記録再生部１２３３は、エンコーダ１２５１およびデコーダ１２５２を有する。
【０６０８】
受信部１２２１は、リモートコントローラ（図示せず）からの赤外線信号を受信し、電気信号に変換してレコーダ制御部１２２６に出力する。レコーダ制御部１２２６は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ１２２８に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部１２２６は、このとき、ワークメモリ１２２９を必要に応じて使用する。
【０６０９】
通信部１２３５は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部１２３５は、レコーダ制御部１２２６により制御され、チューナ（図示せず）と通信し、主にチューナに対して選局制御信号を出力する。
【０６１０】
復調部１２２２は、チューナより供給された信号を、復調し、デマルチプレクサ１２２３に出力する。デマルチプレクサ１２２３は、復調部１２２２より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ１２２４、ビデオデコーダ１２２５、またはレコーダ制御部１２２６に出力する。
【０６１１】
オーディオデコーダ１２２４は、入力されたオーディオデータをデコードし、記録再生部１２３３に出力する。ビデオデコーダ１２２５は、入力されたビデオデータをデコードし、ディスプレイコンバータ１２３０に出力する。レコーダ制御部１２２６は、入力されたEPGデータをEPGデータメモリ１２２７に供給し、記憶させる。
【０６１２】
ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５またはレコーダ制御部１２２６より供給されたビデオデータを、ビデオエンコーダ１２４１により、例えばNTSC（National Television Standards Committee）方式のビデオデータにエンコードし、記録再生部１２３３に出力する。また、ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５またはレコーダ制御部１２２６より供給されるビデオデータの画面のサイズを、モニタ１２６０のサイズに対応するサイズに変換し、ビデオエンコーダ１２４１によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部１２３２に出力する。
【０６１３】
ディスプレイ制御部１２３２は、レコーダ制御部１２２６の制御のもと、OSD（On Screen Display）制御部１２３１が出力したOSD信号を、ディスプレイコンバータ１２３０より入力されたビデオ信号に重畳し、モニタ１２６０のディスプレイに出力し、表示させる。
【０６１４】
モニタ１２６０にはまた、オーディオデコーダ１２２４が出力したオーディオデータが、D/Aコンバータ１２３４によりアナログ信号に変換されて供給されている。モニタ１２６０は、このオーディオ信号を内蔵するスピーカから出力する。
【０６１５】
記録再生部１２３３は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
【０６１６】
記録再生部１２３３は、例えば、オーディオデコーダ１２２４より供給されるオーディオデータを、エンコーダ１２５１によりエンコードする。また、記録再生部１２３３は、ディスプレイコンバータ１２３０のビデオエンコーダ１２４１より供給されるビデオデータを、エンコーダ１２５１によりエンコードする。記録再生部１２３３は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部１２３３は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
【０６１７】
記録再生部１２３３は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部１２３３は、デコーダ１２５２によりオーディオデータおよびビデオデータをデコードする。記録再生部１２３３は、復号したオーディオデータをD/A変換し、モニタ１２６０のスピーカに出力する。また、記録再生部１２３３は、復号したビデオデータをD/A変換し、モニタ１２６０のディスプレイに出力する。
【０６１８】
レコーダ制御部１２２６は、受信部１２２１を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ１２２７から最新のEPGデータを読み出し、それをOSD制御部１２３１に供給する。OSD制御部１２３１は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部１２３２に出力する。ディスプレイ制御部１２３２は、OSD制御部１２３１より入力されたビデオデータをモニタ１２６０のディスプレイに出力し、表示させる。これにより、モニタ１２６０のディスプレイには、EPG（電子番組ガイド）が表示される。
【０６１９】
また、ハードディスクレコーダ１２００は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
【０６２０】
通信部１２３５は、レコーダ制御部１２２６に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部１２２６に供給する。レコーダ制御部１２２６は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部１２３３に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部１２２６および記録再生部１２３３が、必要に応じて再エンコード等の処理を行うようにしてもよい。
【０６２１】
また、レコーダ制御部１２２６は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ１２３０に供給する。ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５から供給されるビデオデータと同様に、レコーダ制御部１２２６から供給されるビデオデータを処理し、ディスプレイ制御部１２３２を介してモニタ１２６０に供給し、その画像を表示させる。
【０６２２】
また、この画像表示に合わせて、レコーダ制御部１２２６が、復号したオーディオデータを、D/Aコンバータ１２３４を介してモニタ１２６０に供給し、その音声をスピーカから出力させるようにしてもよい。
【０６２３】
さらに、レコーダ制御部１２２６は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ１２２７に供給する。
【０６２４】
以上のようなハードディスクレコーダ１２００は、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダとして画像復号装置４００を用いる。つまり、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、画像復号装置４００の場合と同様に、符号化側から供給されるイントラ予測モード制限フラグの値に応じて符号長を決定し、その符号長を用いて、イントラ予測モード情報の２値データを逆２値化する。したがって、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、イントラ予測モードを適応的に制限してイントラ符号化された符号化データを適切に復号することができる。これにより、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、符号化データの符号化効率を向上させることができる。
【０６２５】
したがって、ハードディスクレコーダ１２００は、例えば、チューナや通信部１２３５が受信するビデオデータ（符号化データ）や、記録再生部１２３３が再生するビデオデータ（符号化データ）の符号化効率を向上させることができる。
【０６２６】
また、ハードディスクレコーダ１２００は、エンコーダ１２５１として画像符号化装置３００を用いる。したがって、エンコーダ１２５１は、画像符号化装置３００の場合と同様に、イントラ予測のモードを適応的に制限し、さらに、イントラ予測モード情報に割り当てる２値化の符号長を適応的に制御する。つまり、エンコーダ１２５１は、イントラ予測モードが増大することによるイントラ予測モード情報の不要な符号長の増大を抑制することができる。これにより、エンコーダ１２５１は、符号化データの符号化効率を向上させることができる。
【０６２７】
したがって、ハードディスクレコーダ１２００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。
【０６２８】
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ１２００について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ１２００の場合と同様に、本発明を適用した画像符号化装置３００および画像復号装置４００を適用することができる。
【０６２９】
＜７．第７の実施の形態＞
［カメラ］
図４３は、本発明を適用した画像符号化装置および画像復号装置を用いるカメラの主な構成例を示すブロック図である。
【０６３０】
図４３に示されるカメラ１３００は、被写体を撮像し、被写体の画像をLCD１３１６に表示させたり、それを画像データとして、記録メディア１３３３に記録したりする。
【０６３１】
レンズブロック１３１１は、光（すなわち、被写体の映像）を、CCD/CMOS１３１２に入射させる。CCD/CMOS１３１２は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部１３１３に供給する。
【０６３２】
カメラ信号処理部１３１３は、CCD/CMOS１３１２から供給された電気信号を、Ｙ，Ｃｒ，Ｃｂの色差信号に変換し、画像信号処理部１３１４に供給する。画像信号処理部１３１４は、コントローラ１３２１の制御の下、カメラ信号処理部１３１３から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ１３４１で符号化したりする。画像信号処理部１３１４は、画像信号を符号化して生成した符号化データを、デコーダ１３１５に供給する。さらに、画像信号処理部１３１４は、オンスクリーンディスプレイ（OSD）１３２０において生成された表示用データを取得し、それをデコーダ１３１５に供給する。
【０６３３】
以上の処理において、カメラ信号処理部１３１３は、バス１３１７を介して接続されるDRAM（Dynamic Random Access Memory）１３１８を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM１３１８に保持させる。
【０６３４】
デコーダ１３１５は、画像信号処理部１３１４から供給された符号化データを復号し、得られた画像データ（復号画像データ）をLCD１３１６に供給する。また、デコーダ１３１５は、画像信号処理部１３１４から供給された表示用データをLCD１３１６に供給する。LCD１３１６は、デコーダ１３１５から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
【０６３５】
オンスクリーンディスプレイ１３２０は、コントローラ１３２１の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス１３１７を介して画像信号処理部１３１４に出力する。
【０６３６】
コントローラ１３２１は、ユーザが操作部１３２２を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス１３１７を介して、画像信号処理部１３１４、DRAM１３１８、外部インタフェース１３１９、オンスクリーンディスプレイ１３２０、およびメディアドライブ１３２３等を制御する。FLASH ROM１３２４には、コントローラ１３２１が各種処理を実行する上で必要なプログラムやデータ等が格納される。
【０６３７】
例えば、コントローラ１３２１は、画像信号処理部１３１４やデコーダ１３１５に代わって、DRAM１３１８に記憶されている画像データを符号化したり、DRAM１３１８に記憶されている符号化データを復号したりすることができる。このとき、コントローラ１３２１は、画像信号処理部１３１４やデコーダ１３１５の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部１３１４やデコーダ１３１５が対応していない方式により符号化・復号処理を行うようにしてもよい。
【０６３８】
また、例えば、操作部１３２２から画像印刷の開始が指示された場合、コントローラ１３２１は、DRAM１３１８から画像データを読み出し、それを、バス１３１７を介して外部インタフェース１３１９に接続されるプリンタ１３３４に供給して印刷させる。
【０６３９】
さらに、例えば、操作部１３２２から画像記録が指示された場合、コントローラ１３２１は、DRAM１３１８から符号化データを読み出し、それを、バス１３１７を介してメディアドライブ１３２３に装着される記録メディア１３３３に供給して記憶させる。
【０６４０】
記録メディア１３３３は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア１３３３は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
【０６４１】
また、メディアドライブ１３２３と記録メディア１３３３を一体化し、例えば、内蔵型ハードディスクドライブやSSD（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０６４２】
外部インタフェース１３１９は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ１３３４と接続される。また、外部インタフェース１３１９には、必要に応じてドライブ１３３１が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア１３３２が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM１３２４にインストールされる。
【０６４３】
さらに、外部インタフェース１３１９は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ１３２１は、例えば、操作部１３２２からの指示に従って、DRAM１３１８から符号化データを読み出し、それを外部インタフェース１３１９から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ１３２１は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース１３１９を介して取得し、それをDRAM１３１８に保持させたり、画像信号処理部１３１４に供給したりすることができる。
【０６４４】
以上のようなカメラ１３００は、デコーダ１３１５として画像復号装置４００を用いる。つまり、デコーダ１３１５は、画像復号装置４００の場合と同様に、符号化側から供給されるイントラ予測モード制限フラグの値に応じて符号長を決定し、その符号長を用いて、イントラ予測モード情報の２値データを逆２値化する。したがって、デコーダ１３１５は、イントラ予測モードを適応的に制限してイントラ符号化された符号化データを適切に復号することができる。これにより、デコーダ１３１５は、符号化データの符号化効率を向上させることができる。
【０６４５】
したがって、カメラ１３００は、例えば、CCD/CMOS１３１２において生成される画像データや、DRAM１３１８または記録メディア１３３３から読み出すビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データの符号化効率を向上させることができる。
【０６４６】
また、カメラ１３００は、エンコーダ１３４１として画像符号化装置３００を用いる。エンコーダ１３４１は、画像符号化装置３００の場合と同様に、イントラ予測のモードを適応的に制限し、さらに、イントラ予測モード情報に割り当てる２値化の符号長を適応的に制御する。つまり、エンコーダ１３４１は、イントラ予測モードが増大することによるイントラ予測モード情報の不要な符号長の増大を抑制することができる。これにより、エンコーダ１３４１は、符号化データの符号化効率を向上させることができる。
【０６４７】
したがって、カメラ１３００は、例えば、DRAM１３１８や記録メディア１３３３に記録する符号化データや、他の装置に提供する符号化データの符号化効率を向上させることができる。
【０６４８】
なお、コントローラ１３２１が行う復号処理に画像復号装置２００の復号方法を適用するようにしてもよい。同様に、コントローラ１３２１が行う符号化処理に画像符号化装置１００の符号化方法を適用するようにしてもよい。
【０６４９】
また、カメラ１３００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０６５０】
もちろん、本発明を適用した画像符号化装置および画像復号装置は、上述した装置以外の装置やシステムにも適用可能である。
【０６５１】
本発明は、例えば、MPEG，H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ、インターネット、携帯電話などのネットワークメディアを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置や画像復号装置に適用することができる。
【符号の説明】
【０６５２】
３００  画像符号化装置，  ３０６  可逆符号化部，  ３１４  イントラ予測部，  ３２１  モード制限レベル制御部，  ３３１  予測モード記憶部，  ３３２  判定用情報生成部，  ３３３  テーブル記憶部，  ３３４  テーブル選択部，  ３３５  イントラ予測モード制限レベルフラグ生成部，  ３３６  許可モード決定部，  ３４１  イントラ予測モード記憶部，  ３４２  MPM算出部，  ３４３  比較部，  ３４４  テーブル記憶部，  ３４５  符号長決定部，  ３４６  ２値化部，  ３４７  エントロピ符号化部，  ３５２  合成部，  ４００  画像復号装置，  ４０２  可逆復号部，  ４２１  エントロピ復号部，４２２  逆２値化部，  ４２３  イントラ予測モード記憶部，  ４２４  MPM算出部，  ４２５  テーブル記憶部，  ４２６  符号長決定部
【図１】
2012160991.tif 000031
【図２】
2012160991.tif 000032
【図３】
2012160991.tif 000033
【図４】
2012160991.tif 000034
【図５】
2012160991.tif 000035
【図６】
2012160991.tif 000036
【図７】
2012160991.tif 000037
【図８】
2012160991.tif 000038
【図９】
2012160991.tif 000039
【図１０】
2012160991.tif 000040
【図１１】
2012160991.tif 000041
【図１２】
2012160991.tif 000042
【図１３】
2012160991.tif 000043
【図１４】
2012160991.tif 000044
【図１５】
2012160991.tif 000045
【図１６】
2012160991.tif 000046
【図１７】
2012160991.tif 000047
【図１８】
2012160991.tif 000048
【図１９】
2012160991.tif 000049
【図２０】
2012160991.tif 000050
【図２１】
2012160991.tif 000051
【図２２】
2012160991.tif 000052
【図２３】
2012160991.tif 000053
【図２４】
2012160991.tif 000054
【図２５】
2012160991.tif 000055
【図２６】
2012160991.tif 000056
【図２７】
2012160991.tif 000057
【図２８】
2012160991.tif 000058
【図２９】
2012160991.tif 000059
【図３０】
2012160991.tif 000060
【図３１】
2012160991.tif 000061
【図３２】
2012160991.tif 000062
【図３３】
2012160991.tif 000063
【図３４】
2012160991.tif 000064
【図３５】
2012160991.tif 000065
【図３６】
2012160991.tif 000066
【図３７】
2012160991.tif 000067
【図３８】
2012160991.tif 000068
【図３９】
2012160991.tif 000069
【図４０】
2012160991.tif 000070
【図４１】
2012160991.tif 000071
【図４２】
2012160991.tif 000072
【図４３】
2012160991.tif 000073