(57)【要約】【課題】符号化効率を向上させることができるようにする。【解決手段】予測モード集計部１５５は、予測モードバッファ１５４に蓄積された１スライス分のイントラ予測モードの集計処理を行なう。IDR検出部１５１は、入力画像情報について、IDRスライスの検出を行なう。シーンチェンジ検出部１５２は、入力画像情報について、処理対象の当該Ｉスライスにおいて、シーンチェンジが起きているかどうかの検出処理を行なう。コード番号決定部１５３は、IDR検出部１５１においてIDRが検出されず、かつ、シーンチェンジ検出部１５２においてシーンチェンジがないと判定された場合、出現頻度がより高い予測モードに対して、値がより小さなコード番号を割り当てる。本発明は、例えば、画像処理装置に適用することができる。【選択図】図２５
2011259361.tif 000002
【特許請求の範囲】
【請求項１】
複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択するイントラ予測手段と、
前記イントラ予測手段によるイントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新手段と
を備える画像処理装置。
【請求項２】
前記更新手段は、イントラ４×４予測モード、イントラ８×８予測モード、イントラ１６×１６予測モード、符号化処理単位であって、１６×１６画素より大きなサイズに拡張された拡張マクロブロックに対するイントラ予測モード、および、色差信号に対するイントラ予測モードのうち、少なくともいずれか１つに対して、前記出現頻度に応じた前記コード番号の割り当ての更新を行う
請求項１に記載の画像処理装置。
【請求項３】
IDRスライスの検出を行い、処理対象である当該スライスがIDRスライスであるか否かを判定するIDRスライス検出手段をさらに備え、
前記更新手段は、前記IDRスライス検出手段の検出により当該スライスがIDRスライスであると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定する
請求項１に記載の画像処理装置。
【請求項４】
前記コード番号の割り当ての初期値は、AVC符号化方式において規定される前記コード番号の割り当て方法である
請求項３に記載の画像処理装置。
【請求項５】
処理対象である当該スライスに対してシーンチェンジの検出を行うシーンチェンジ検出手段をさらに備え、
前記更新手段は、前記シーンチェンジ検出手段により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定する
請求項１に記載の画像処理装置。
【請求項６】
前記更新手段は、前記シーンチェンジ検出手段により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスの前記コード番号の割り当てが、前記更新手段により更新されたものであるか、予め定められた初期値であるかを示すフラグ情報の値を、初期値であることを示す値に設定する
請求項５に記載の画像処理装置。
【請求項７】
前記更新手段は、処理対象である当該Ｉスライスの符号化処理後、当該Ｉスライスにおける各予測モードの出現頻度がより高い予測モードに対してより小さな値を割り当てるように、次のＩスライスに対する前記コード番号の割り当てを更新する
請求項１に記載の画像処理装置。
【請求項８】
前記更新手段は、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、予め定められた初期値に設定する
請求項１に記載の画像処理装置。
【請求項９】
前記更新手段は、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、直前のＩスライスにおいて設定された前記コード番号の割り当てに更新する
請求項１に記載の画像処理装置。
【請求項１０】
前記更新手段は、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックが所定の基準より多い場合、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する
請求項１に記載の画像処理装置。
【請求項１１】
前記更新手段は、動き補償パーティションモードに対するコード番号の割り当ても、前記モードの出現頻度に応じて更新する
請求項１に記載の画像処理装置。
【請求項１２】
画像処理装置の画像処理方法であって、
イントラ予測手段が、複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択し、
更新手段が、イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する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）において、符号化効率の改善に関する検討が継続され行なわれている。
【０００９】
ところで、従来のように、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素×２０００画素）といった大きな画枠に対しては、最適ではない。そこで、非特許文献２などにおいては、マクロブロックサイズを、６４×６４画素、３２画素×３２画素といった大きさにすることが提案されている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Sung-Chang Lim, Hahyun Lee, Jinho Lee, Jongho Kim, Haechul Choi, Seyoon Jeong, Jin Soo Choi, “Intra coding using extended block size”, VCEG-AL28, 2009年7月,
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、イントラ予測においては、より頻繁に出現する予測モードについて、より短いコード番号（code_number）を割り当てることにより、より符号化効率を向上させることができる。しかしながら、より頻繁に出現する予測モードは、シーケンスやビットレートによって変化するものであるのに、AVC符号化方式においては、その割当は固定されたものであったため、最適な符号効率を実現することは困難であった。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、予測モードに対するコード番号の割り当てをより適切に行なうようにすることにより、符号化効率を向上させることができるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一側面は、複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択するイントラ予測手段と、前記イントラ予測手段によるイントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新手段とを備える画像処理装置である。
【００１４】
前記更新手段は、イントラ４×４予測モード、イントラ８×８予測モード、イントラ１６×１６予測モード、符号化処理単位であって、１６×１６画素より大きなサイズに拡張された拡張マクロブロックに対するイントラ予測モード、および、色差信号に対するイントラ予測モードのうち、少なくともいずれか１つに対して、前記出現頻度に応じた前記コード番号の割り当ての更新を行うことができる。
【００１５】
IDRスライスの検出を行い、処理対象である当該スライスがIDRスライスであるか否かを判定するIDRスライス検出手段をさらに備え、前記更新手段は、前記IDRスライス検出手段の検出により当該スライスがIDRスライスであると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定することができる。
【００１６】
前記コード番号の割り当ての初期値は、AVC符号化方式において規定される前記コード番号の割り当て方法であることができる。
【００１７】
処理対象である当該スライスに対してシーンチェンジの検出を行うシーンチェンジ検出手段をさらに備え、前記更新手段は、前記シーンチェンジ検出手段により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定することができる。
【００１８】
前記更新手段は、前記シーンチェンジ検出手段により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスの前記コード番号の割り当てが、前記更新手段により更新されたものであるか、予め定められた初期値であるかを示すフラグ情報の値を、初期値であることを示す値に設定することができる。
【００１９】
前記更新手段は、処理対象である当該Ｉスライスの符号化処理後、当該Ｉスライスにおける各予測モードの出現頻度がより高い予測モードに対してより小さな値を割り当てるように、次のＩスライスに対する前記コード番号の割り当てを更新することができる。
【００２０】
前記更新手段は、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、予め定められた初期値に設定することができる。
【００２１】
前記更新手段は、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、直前のＩスライスにおいて設定された前記コード番号の割り当てに更新することができる。
【００２２】
前記更新手段は、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックが所定の基準より多い場合、Ｐスライス若しくはＢスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新することができる。
【００２３】
前記更新手段は、動き補償パーティションモードに対するコード番号の割り当ても、前記モードの出現頻度に応じて更新することができる。
【００２４】
本発明の一側面は、また、画像処理装置の画像処理方法であって、イントラ予測手段が、複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択し、更新手段が、イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する画像処理方法である。
【００２５】
本発明の一側面においては、複数の予測モードを用いてイントラ予測が行われ、得られた予測結果に基づいて最適な予測モードが選択され、イントラ予測の各予測モードに対するコード番号の割り当てが、出現頻度が高い予測モード程、より小さな値を割り当てるように更新される。
【発明の効果】
【００２６】
本発明によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
【図２】AVC符号化方式における１つのマクロブロックに含まれる４×４ブロックの処理順序を示した図である。
【図３】AVC符号化方式において定められているイントラ４×４予測モードを示す図である。
【図４】AVC符号化方式において定められているイントラ４×４予測モードを示す図である。
【図５】AVC符号化方式において定められているイントラ４×４予測モードの予測方向を示した図である。
【図６】AVC符号化方式において定められているイントラ４×４予測モードの予測方法を説明するための図である。
【図７】AVC符号化方式において定められているイントラ４×４予測モードの符号化方法を説明するための図である。
【図８】AVC符号化方式において定められているイントラ８×８予測モードを示した図である。
【図９】AVC符号化方式において定められているイントラ８×８予測モードを示した図である。
【図１０】AVC符号化方式において定められているイントラ１６×１６予測モードを示した図である。
【図１１】AVC符号化方式において定められているイントラ１６×１６予測モードを示した図である。
【図１２】AVC符号化方式において定められているイントラ１６×１６予測モードにおける予測値の算出方法を説明するための図である。
【図１３】AVC符号化方式において定められている色差信号に対する予測モードの例を示す図である。
【図１４】AVC符号化方式において定められているCAVLC方式におけるコード番号の例を示す図である。
【図１５】AVC符号化方式において定められているCAVLC方式における動きベクトルに対するコード番号の例を示す図である。
【図１６】AVC符号化方式において定められている、スキャン方式の例を示す図である。
【図１７】AVC符号化方式において規定されているCAVLCにおける動作原理の具体例を示した図である。
【図１８】２値算術符号化の動作原理を説明するための図である。
【図１９】２値算術符号化における再正規化処理を説明するための図である。
【図２０】CABAC符号化方式の概要を示した図である。
【図２１】unary_codeの例を説明する図である。
【図２２】Iスライスに対して規定されるテーブルの例を説明する図である。
【図２３】Pスライスに対して規定されるテーブルの例を説明する図である。
【図２４】Bスライスに対して規定されるテーブルの例を説明する図である。
【図２５】図１のコード番号割り当て部の詳細な構成例を示す図である。
【図２６】符号化処理の流れの例を説明するフローチャートである。
【図２７】イントラ予測処理の流れの例を説明するフローチャートである。
【図２８】Iスライスのコード番号割り当て処理の流れの例を説明するフローチャートである。
【図２９】Pスライス若しくはBスライスのコード番号の割り当て処理の流れの例を説明するフローチャートである。
【図３０】本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【図３１】図３０のコード番号割り当て部の詳細な構成例を示すブロック図である。
【図３２】復号処理の流れの例を説明するフローチャートである。
【図３３】予測処理の流れの例を説明するフローチャートである。
【図３４】コード番号割り当て処理の流れの例を説明するフローチャートである。
【図３５】マクロブロックの例を示す図である。
【図３６】本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。
【図３７】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図３８】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図３９】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図４０】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行なう。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（パーソナルコンピュータ）
４．第４の実施の形態（テレビジョン受像機）
５．第５の実施の形態（携帯電話機）
６．第６の実施の形態（ハードディスクレコーダ）
７．第７の実施の形態（カメラ）
【００２９】
＜１．第１の実施の形態＞
［画像符号化装置］
図１は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００３０】
図１に示される画像符号化装置１００は、例えば、H．264及びMPEG（Moving Picture Experts Group）４ Part１０（AVC（Advanced Video Coding））（以下H．264/AVCと称する）方式と同様に画像を符号化する符号化装置である。ただし、画像符号化装置１００は、イントラ予測処理において、イントラ予測モードに対するコード番号（code_number）の割り当てを、その出現頻度に応じて、適応的に行なう。このようにすることにより、画像符号化装置１００は、出力する符号化データの符号化効率をより向上させることができる。
【００３１】
図１の例において、画像符号化装置１００は、A/D（Analog / Digital）変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、および蓄積バッファ１０７を有する。また、画像符号化装置１００は、逆量子化部１０８、逆直交変換部１０９、演算部１１０、デブロックフィルタ１１１、フレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、選択部１１６、およびレート制御部１１７を有する。
【００３２】
画像符号化装置１００は、さらに、コード番号割り当て部１２１を有する。
【００３３】
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）を用いて適宜ループフィルタ処理を行なうことにより画質改善を行なう。デブロックフィルタ１１１は、各画素をクラス分類し、クラスごとに適切なフィルタ処理を施す。デブロックフィルタ１１１は、そのフィルタ処理結果をフレームメモリ１１２に供給する。
【００５０】
フレームメモリ１１２は、所定のタイミングにおいて、蓄積されている参照画像を、選択部１１３を介してイントラ予測部１１４または動き予測・補償部１１５に出力する。
【００５１】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ１１２は、参照画像を、選択部１１３を介してイントラ予測部１１４に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ１１２は、参照画像を、選択部１１３を介して動き予測・補償部１１５に供給する。
【００５２】
選択部１１３は、フレームメモリ１１２から供給される参照画像がイントラ符号化を行なう画像である場合、その参照画像をイントラ予測部１１４に供給する。また、選択部１１３は、フレームメモリ１１２から供給される参照画像がインター符号化を行なう画像である場合、その参照画像を動き予測・補償部１１５に供給する。
【００５３】
イントラ予測部１１４は、画面内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行なう。イントラ予測部１１４は、複数のモード（イントラ予測モード）によりイントラ予測を行なう。
【００５４】
イントラ予測部１１４は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部１１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部１１６を介して演算部１０３や演算部１１０に供給する。
【００５５】
また、上述したように、イントラ予測部１１４は、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部１０６に供給する。
【００５６】
さらに、イントラ予測部１１４は、コード番号割り当て部１２１に、イントラ予測モードの出現頻度に応じた適応的なコード番号の割り当てを行なわせるために、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、コード番号割り当て部１２１にも供給する。
【００５７】
動き予測・補償部１１５は、インター符号化が行われる画像について、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１３を介してフレームメモリ１１２から供給される参照画像とを用いて、動き予測を行ない、検出された動きベクトルに応じて動き補償処理を行ない、予測画像（インター予測画像情報）を生成する。
【００５８】
動き予測・補償部１１５は、候補となる全てのインター予測モードのインター予測処理を行ない、予測画像を生成する。動き予測・補償部１１５は、生成された予測画像を、選択部１１６を介して演算部１０３や演算部１１０に供給する。
【００５９】
また、動き予測・補償部１１５は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部１０６に供給する。
【００６０】
選択部１１６は、イントラ符号化を行なう画像の場合、イントラ予測部１１４の出力を演算部１０３や演算部１１０に供給し、インター符号化を行なう画像の場合、動き予測・補償部１１５の出力を演算部１０３や演算部１１０に供給する。
【００６１】
レート制御部１１７は、蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００６２】
コード番号割り当て部１２１は、イントラ予測部１１４から供給される、採用されたイントラ予測モードを示す情報を取得すると、各イントラ予測モードに対して、その出現頻度に応じて適応的に、コード番号の割り当てを行なう。
【００６３】
［イントラ予測モード］
次に、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" である時、予測値は、以下の式（１）ように生成される。
【００７３】
【数１】
2011259361.tif 000003
・・・（１）
【００７４】
また、A,B,C,Dが全て "unavailable" である時、予測値は、以下の式（２）ように生成される。
【００７５】
【数２】
2011259361.tif 000004
・・・（２）
【００７６】
また、I,J,K,Lが全て "unavailable" である時、予測値は以下の式（３）ように生成される。
【００７７】
【数３】
2011259361.tif 000005
・・・（３）
【００７８】
A,B,C,D,I,J,K,Lが全て "available" である時、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）とする。
【００９６】
ビットストリーム中には、当該４×４ブロックに対するパラメータとして、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]は以下の式（１９）のように算出される。
【０１２９】
【数４】
2011259361.tif 000006
・・・（１９）
【０１３０】
p[x,-1] (x=0, … ,7) は、 "available" であるが、 p[-1,y] (y=0, … ,7) が "unavailable" である場合、予測値pred8x8L[x,y]は以下の式（２０）のように算出される。
【０１３１】
【数５】
2011259361.tif 000007
・・・（２０）
【０１３２】
p[x,-1] (x=0, … ,7) は、 "unavailable" であるが、 p[-1,y] (y=0, … ,7) が "available" である場合、予測値pred8x8L[x,y]は以下の式（２１）のように算出される。
【０１３３】
【数６】
2011259361.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" である時のみ適用される。それぞれの予測値は以下の式（４５）のように算出される。
【０１８３】
【数７】
2011259361.tif 000009
・・・（４５）
【０１８４】
モード１（Mode 1）は、Horizontal Predictionであり、P(-1,y); x,y=-1..15が "available" である時のみ適用される。それぞれの予測値は以下の式（４６）のように算出される。
【０１８５】
【数８】
2011259361.tif 000010
・・・（４６）
【０１８６】
モード２（Mode 2）は、DC Predictionであり、P(x,-1)及びP(-1,y); x,y=-1..15が全て "available" である場合、予測値は以下の式（４７）のように算出される。
【０１８７】
【数９】
2011259361.tif 000011
・・・（４７）
【０１８８】
また、P(x,-1); x,y=-1..15が "not available" である場合、予測値は以下の式（４８）のように生成される。
【０１８９】
【数１０】
2011259361.tif 000012
・・・（４８）
【０１９０】
P(-1,y); x,y=-1..15が "not available" である場合、予測値は以下の式（４９）のように生成される。
【０１９１】
【数１１】
2011259361.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" の場合のみ適用される。それぞれの予測値は以下の式（５０）乃至式（５５）のように生成される。
【０１９４】
【数１２】
2011259361.tif 000014
・・・（５０）
【数１３】
2011259361.tif 000015
・・・（５１）
【数１４】
2011259361.tif 000016
・・・（５２）
【数１５】
2011259361.tif 000017
・・・（５３）
【数１６】
2011259361.tif 000018
・・・（５４）
【数１７】
2011259361.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" である場合、予測値は、以下の式（５６）のように算出される。
【０２００】
【数１８】
2011259361.tif 000020
・・・（５６）
【０２０１】
また、P(-1,y)が "not available" である場合、予測値は、以下の式（５７）のように算出される。
【０２０２】
【数１９】
2011259361.tif 000021
・・・（５７）
【０２０３】
また、P(x,-1)が "not available" である場合、予測値は、以下の式（５８）のように算出される。
【０２０４】
【数２０】
2011259361.tif 000022
・・・（５８）
【０２０５】
モード１（Mode 1）は、Horizontal Predictionであり、P(-1,y) が "available" の場合にのみ適用される。予測値は、以下の式（５９）のように生成される。
【０２０６】
【数２１】
2011259361.tif 000023
・・・（５９）
【０２０７】
モード２（Mode 2）は、Vertical Predictionであり、P(x,-1) が "available" の場合にのみ適用される。予測値は、以下の式（６０）のように生成される。
【０２０８】
【数２２】
2011259361.tif 000024
・・・（６０）
【０２０９】
モード３（Mode 3）は、Plane Predictionであり、P(x,-1)及びP(-1,y) が "available" の場合にのみ適用される。予測値は、以下の式（６１）乃至式（６６）のように生成される。
【０２１０】
【数２３】
2011259361.tif 000025
・・・（６１）
【数２４】
2011259361.tif 000026
・・・（６２）
【数２５】
2011259361.tif 000027
・・・（６３）
【数２６】
2011259361.tif 000028
・・・（６４）
【数２７】
2011259361.tif 000029
・・・（６５）
【数２８】
2011259361.tif 000030
・・・（６６）
【０２１１】
ところで、AVC符号化方式においては、可逆符号化方式として、CAVLC（Context-based Adaptive Variable Length Coding）と、CABAC（Context-based Adaptive Binary Arithmetic Coding）の２通りの方式が規格化されている。以下では、まず、AVC符号化方式において規格化されているCAVLC方式について述べる。
【０２１２】
［CAVLC］
CAVLCにおいては、直交変換係数には、周辺ブロック（block）における係数の発生に応じてVLC Tableの切り替えを行なう。その他のシンタクス要素に関しては、例えば、以下の図１４に示されるようなExp-Golomb符号が用いられる。
【０２１３】
また、動きベクトルのようなシンタクス要素に関しては、負の値が生じる可能性があるが、その場合は、例えば、以下の図１５に示されるようなテーブルに基づいて、符号なしのCode Numberに置き換えた後、例えば、図１４に示されるようなExp-Golomb符号を適用する。
【０２１４】
以下では、４×４ブロックを例にして、CAVLCにおける、直交変換係数の処理について述べる。
【０２１５】
AVC符号化方式においては、４×４ブロックは、直交変換により、各周波数成分に相当する４×４の２次元データに変換されるが、当該ブロックがフレーム符号化されたものであるか、フィールド符号化されたものであるかに応じて、それぞれ、図１６Ａに示されたジグザグスキャン（Zigzag-scan）方式か、若しくは、図１６Ｂに示されたフィールドスキャン（Field-scan）方式により、１次元データへと変換される。
【０２１６】
第１のステップとして、このようにして１次元化された直交変換係数が、高域から低域に向かって逆スキャンされる。
【０２１７】
第２のステップとして、NumCoef（０でない係数の個数）とT1s（高域から低域にスキャンしたときの、±１の係数の個数、最大でも３）の符号化を行なう。図７において、Ｃを当該ブロック、ＡとＢを隣接ブロックとするなら、ＡおよびＢにおけるNumCoefに応じて、VLC Tableの切り替えが行なわれる。
【０２１８】
第３のステップは、Levelの符号化である。すなわち、T1sに関しては、正/負のみが符号化される。その他の係数に関しては、Code Numberが割り当てられて符号化される。イントラ／インター、量子化パラメータQP及び最後に符号化したLevelに応じてVLC Tableが切り替えられる。
【０２１９】
第４のステップは、Runの符号化である。すなわち、TotalZeroの符号化において、NumCoefに応じてVLC Tableの切替が行われる。Run_before（非０係数の前に続く０の数）の符号化においては、ZerosLeft（残りの非０係数の数）に応じてVLC Tableの切り替えが行われる。ZerosLeft=0で符号化は終了となる。
【０２２０】
図１７に、CAVLCの動作原理の具体例を示す。図１７の例では、逆スキャンが行われた後、以下のような順で符号化処理が行なわれる。
【０２２１】
TotalCoef = 7
TrailingOnes = 2
Trailing_ones_sign_flag = -
Trailing_ones_sign_flag = +
Level = -3
Level = +8
Level = +11
Level = -4
Level = +23
Total_zeros = 5 (ZerosLeft = 6)
Run_before = 1 (ZerosLeft = 5)
Run_before = 2 (ZerosLeft = 4)
Run_before = 0 (ZerosLeft = 3)
Run_before = 2 (ZerosLeft = 2)
Run_before = 0 (ZerosLeft = 1)
Run_before = 0 (ZerosLeft = 0)
【０２２２】
尚、これらの数値は、先述の通り、周辺ブロック等の符号化状況等に応じて切り替えられたTableによりVLC符号化が行なわれる。
【０２２３】
［CABAC］
次に、AVC符号化方式において規格化されているCABAC方式について述べる。まず、図１８を用いて、２値算術符号化がどのように動作するかを説明する。
【０２２４】
"０"の出現確率が0.8、 "１" の出現確率が0.2である場合に、入力信号であるビット列 "010" を符号化する場合を考える。
【０２２５】
この時、図に示される通り、[0,1] の区間が、入力信号に応じて、図のように分割され、最終的に "11" なる信号が出力される。
【０２２６】
ところで、図１８において、例えば、 "0.64" といった、区間間隔を保持するレジスタの桁数は、実際には有限である。そこで、レジスタの精度を有効に利用するため、図１９に示されるような、再正規化 (Renormalization) と呼ばれる手法が考案されている。
【０２２７】
すなわち、１を符号化した時点で、区間の座標値が0.5以上になることが分かるので、その時点で小数第一位を出力し、再正規化を行なうようにする。
【０２２８】
図２０に、CABAC符号化方式の概要を示す。
【０２２９】
すなわち、CABAC符号化方式は以下の特徴を有する。第１の特徴は、コンテクスト毎に符号化処理を行なうことである。第２の特徴は、非２値化データは２値化を行なうことである。第３の特徴は、図１８に示された例においては、 "０" "１" の出現確率は固定されたものであるが、実際には、確率テーブルを、スライス先頭で初期化、発生シンボルに応じて逐次更新するということである。
【０２３０】
以下では、図７において、mb_skip_flagを例に取り、CABAC符号化における "コンテクスト" について説明する。
【０２３１】
CABAC符号化方式においては、異なるシンタクス要素に対しては別々のコンテクストモデルが用意されている。更に、同じシンタクス要素であっても、周辺ブロック若しくはマクロブロックの値に応じた複数のコンテクストモデルが用意されている。
【０２３２】
図７において、Ｃは当該マクロブロック、ＡとＢはこれに隣接する周辺マクロブロックであるとする。関数f(x) を、以下の式（６７）のように定義する。
【０２３３】
【数２９】
2011259361.tif 000031
・・・（６７）
【０２３４】
Ｃに対するコンテクストモデルContext(C) は、以下の式（６８）のように算出される。
【０２３５】
Context(C) = f(A) + f(B)  ・・・（６８）
【０２３６】
すなわち、Context(C) の値は、ＡとＢの状況により、0,1,2のいずれかの値を取ることになる。つまり、同じmb_skip_flagであっても、Context(C) の値に応じて、異なる算術符号化エンジンにより符号化処理が行なわれる。
【０２３７】
次に、２値化処理について述べる。シンタクス要素における非２値化データは、以下の図２１に示されるunary_codeにより、２値データに変換され、算術符号化処理が行なわれる。
【０２３８】
但し、マクロブロックタイプに関しては、この限りでなく、Iスライス、Pスライス、Bスライスのぞれぞれに対して、図２２、図２３、図２４に示されるような不規則なテーブルが規定されている。
【０２３９】
［コスト関数］
ところで、ＡＶＣ符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
【０２４０】
かかる選択方式の例として、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より低い演算量での実現が可能である。
【０２５０】
ところで、イントラ予測においては、より頻繁に出現する予測モードについて、より短いコード番号（code_number）を割り当てることにより、より符号化効率を向上させることが可能である。しかしながら、より頻繁に出現する予測モードは、シーケンスやビットレートによって変化するものであるのに、AVC符号化方式においては、その割当は固定されたものであったため、最適な符号効率を実現することは困難であった。
【０２５１】
そこで、画像符号化装置１００は、イントラ予測における、各予測モードに対するコード番号（code_number）の割り当てを、フィードバック処理により、適応的に切り替えることにより、シーケンス、ビットレートに応じた、最適なコード番号（code_number）の割り当てを実現し、符号化効率の向上を実現する。
【０２５２】
［動作原理］
以下では、まず、イントラ予測部１１４とコード番号割り当て部１２１における動作原理について述べる。
【０２５３】
イントラ予測部１１４は、AVC符号化方式に準ずるイントラ予測処理を行なう。但し、Vertical, Horizontal, DCといった、予測モードに対するコード番号（code_number）の割り当ては、AVC符号化方式のように、固定されたものでなく、以下のように適応的に行われる。
【０２５４】
すなわち、まず、初期値として、AVC符号化方式と同様のコード番号（code_number）割り当て方法が設定されており、これに基づいて、参照画像が格納されているバッファのクリアを行なうことでそのスライスから再生が可能であることを保証するIDR（Instantaneous Decoder Refresh）スライスの符号化処理が行われる。
【０２５５】
符号化処理が行なわれた後、各イントラ予測モードの数がどれだけであったかのカウントが行われ、多い順にソーティングを行なわれる。この結果、より出現頻度の高かった予測モードに対して、より小さな値のコード番号（code_number）が割り当てられるよう、コード番号（code_number）の順序の入れ替えが行なわれる。
【０２５６】
第２番目のＩスライスを符号化する際には、この、割り当ての変更が行われたコード番号（code_number）を用いたイントラ符号化処理が行なわれる。つまり、１つ前のスライスにおいて出現頻度が高かったイントラ予測モード程、より小さな値が割り当てられるように、コード番号（code_number）の割り当てが行われる。
【０２５７】
このように、符号化結果に基づいて、コード番号（code_number）の割り当てを適応的に行なうことにより、シーケンス、ビットレートに適したコード番号（code_number）の割り当てを行なうことが可能であり、画像符号化装置１００の出力となるコードストリームにおいて、より高い符号化効率を実現することが可能となる。
【０２５８】
また、このような出現頻度に基づくコード番号（code_number）の適応的な割り当ては、復号装置においても、同様の動作原理を実行することが可能である。つまり、コード番号（code_number）の割り当てに関する情報を、コードストリームとともに伝送する必要がないため、本発明は、そのような情報を付加することによる符号化効率の低下がないという利点も有する。
【０２５９】
なお、通常、ＩスライスとＩスライスの間には、複数のＰスライス若しくはＢスライスが存在するが、Ｐスライス若しくはＢスライスにおいても、イントラマクロブロックは存在しうる。本発明においては、Ｐスライス若しくはＢスライスにおけるイントラマクロブロックに対して、以下の動作原理を行なうものとする。
【０２６０】
すなわち、第１の方法は、Ｐスライス若しくはＢスライスにおいては、上述したようなモード分布によるコード番号（code_number）の割り当て（出現頻度の高い予測モード程、より小さな値のコード番号を割り当てる方法）を行なわず、例えば、AVC等において採用されているような、予め定義されたコード番号（code_number）の割り当てを用いる方法である。
【０２６１】
この方法は、コード番号の割り当てのための演算等が不要であるので、容易に実現可能であるものの、従来の方法と同様に、適応的な割り当ては行われない。
【０２６２】
第２の方法は、Ｐスライス若しくはＢスライスにおいては、モード分布によるコード番号（code_number）の割り当てを行なわず、直前のＩスライスの符号化結果により割り当てられたコード番号（code_number）を用いる方法である。
【０２６３】
この方法は、直前のＩスライスにおける割り当てを利用するので、コード番号の割り当てのための演算等が不要であるので、容易に実現可能である。また、第１の方法よりは、適応的な割り当てを行なうことができる。
【０２６４】
第３の方法は、第２の方法に準するが、Ｐスライス若しくはＢスライスにおいて、イントラマクロブロックが所定の割合以上発生した場合、モードの分布に基づくコード番号（code_number）の割り当てを行ない、それ以降のＰスライス若しくはＢスライスに適用する方法である。
【０２６５】
例えば、閾値を５０％とし、Ｐスライス若しくはＢスライスにおいて、当該スライスに含まれるマクロブロックの５０％未満がイントラマクロブロックである場合、第２の方法のように、直前のＩスライスの符号化結果により割り当てられたコード番号（code_number）を用い、当該スライスに含まれるマクロブロックの５０％以上がイントラマクロブロックである場合、モードの分布に基づくコード番号（code_number）の割り当てを行ない、それ以降のＰスライス若しくはＢスライスに適用するようにする。
【０２６６】
つまり、第２の方法に加え、さらに、処理対象のＰスライス若しくはＢスライスが、直前のＩスライスと同様の特性を有する場合、Ｉスライスのように、モードの分布に基づくコード番号（code_number）の割り当てを行なう。このようにすることにより、ＰスライスやＢスライスに対して、さらに適応的にコード番号（code_number）の割り当てを行なうことができる。
【０２６７】
もちろん、これら３つの方法以外の方法で、ＰスライスやＢスライスのイントラマクロブロックに対してコード番号の割り当てが行なわれるようにしてもよい。
【０２６８】
ところで、以上においては、直前のＩスライスに対するモード分布に基づいてコード番号（code_number）の割り当てを行なうことにより、より適切な割り当てを行うことができるように説明したが、シーンチェンジが発生した場合はこの限りではない。
【０２６９】
一般的に、シーンチェンジの前後のフレーム間では、画像の内容が大きく変化するので、シーンチェンジが発生したスライスにおいて、直前のＩスライスに対するモード分布に基づいてコード番号（code_number）の割り当てを行なうと、画質劣化を引き起こす原因となる恐れがある。
【０２７０】
そこで、シーンチェンジ後の最初のＩスライスでは、直前のＩスライスにおける更新されたコード番号（code_number）ではなく、例えばAVC符号化方式等において採用されているように、予め定められたコード番号（code_number）割り当て方法（すなわち、初期値）が適用されるようにする。また、コードストリームに含まれるそれぞれのスライスヘッダにおいて、default_ipred_code_number_allocation_flagなる１ビットのフラグが伝送されるようにする。
【０２７１】
default_ipred_code_number_allocation_flagは、コード番号（code_number）の割り当て方法として、予め設定されている初期値を用いるか、更新された値を用いるかを指定するフラグ情報である。コードストリームを受信する画像復号装置は、このフラグ情報を参照することにより、画像符号化装置１００において、予め定められた（既知の）コード番号割り当て方法を適用したか、上述したように直前のＩスライスにおけるモード分布に応じて適応的に更新したコード番号割り当て方法を適用したかを容易に把握することができる。つまり、画像復号装置側において、コード番号割り当て方法を把握するために、シーンチェンジなどを改めて検出する必要がなくなる。
【０２７２】
例えば、default_ipred_code_number_allocation_flagの値が「０」の場合、画像復号装置は、画像符号化装置１００が、当該スライスにおいて、モード分布に応じて適応的に更新したコード番号割り当て方法を適用したと判定する。
【０２７３】
また、例えば、default_ipred_code_number_allocation_flagの値が「１」の場合、画像復号装置は、画像符号化装置１００が、当該スライスにおいて、予め定められた（既知の）コード番号割り当て方法を適用したと判定する。つまり、この場合、例えば、当該スライスにおいてシーンチェンジが発生している。
【０２７４】
このような処理を行なうことにより、シーンチェンジ前のＩスライスとは異なる分布に基づくコード番号（code_number）の割り当て方法により、シーンチェンジ後の最初のIスライスを符号化することができる（画像復号装置側においても対応することができる）。したがって、画像符号化装置１００は、シーンチェンジが発生しても画質が劣化しないように、適切にコード番号の割り当てを行なうことができる。
【０２７５】
本発明は、イントラ４×４予測モード、イントラ８×８予測モード、イントラ１６×１６モード、色差信号に対するイントラ予測モードの全てに適応することが可能である。更に、引用文献１において示されているような、拡張されたマクロブロックに対して適用することも可能である。
【０２７６】
［コード番号割り当て部１２１］
図２５は、コード番号割り当て部１２１の詳細な構成例を示すブロック図である。図２５に示されるように、コード番号割り当て部１２１は、IDR検出部１５１、シーンチェンジ検出部１５２、コード番号決定部１５３、予測モードバッファ１５４、および予測モード集計部１５５を有する。
【０２７７】
まず、イントラ予測部１１４において、イントラ予測処理により、各ブロックに対するイントラ予測モードが決定されると、その予測モードに関する情報が、予測モードバッファ１５４に供給される。予測モードバッファ１５４は、その予測モードに関する情報を１スライス分蓄積する。
【０２７８】
予測モードバッファ１５４に蓄積された１スライス分のイントラ予測モードは、予測モード集計部１５５に供給される。予測モード集計部１５５は、各モードにおける予測モードの集計処理を行ない、その集計結果、つまり、イントラ予測モードの出現頻度を示す情報をコード番号決定部１５３に供給する。
【０２７９】
また、入力画像情報が、画面並べ替えバッファ１０２から、コード番号割り当て部１２１に供給される。IDR検出部１５１は、供給される入力画像情報について、IDRスライスの検出を行なう。IDR検出部１５１は、その検出結果として、処理対象の当該スライスがIDRスライスであるか否かを示す情報（IDR/非IDR）をコード番号決定部１５３に供給する。
【０２８０】
シーンチェンジ検出部１５２は、供給される入力画像情報について、処理対象の当該Ｉスライス（現フレーム）において、シーンチェンジが起きているかどうかの検出処理を行ない、シーンチェンジの有無に関する情報を、コード番号決定部１５３に供給する。シーンチェンジの検出方法は任意である。例えば、画素値の平均値や分散（ヒストグラム）を処理済の前フレームと、処理対象の現フレームとで比較し、その差が所定の閾値より大きい場合、シーンチェンジが発生したと判定するようにしてもよい。
【０２８１】
コード番号決定部１５３は、IDR検出部１５１においてIDRが検出されず（当該スライスがIDRスライスで無いと判定され）、かつ、シーンチェンジ検出部１５２においてシーンチェンジがないと判定された場合、予測モード集計部１５５から供給されるイントラ予測モードの出現頻度を示す情報に基づいて、次のＩスライスのために、イントラ予測モードの出現頻度に応じたコード番号（code_number）の割り当てを行なう（更新する）。
【０２８２】
つまり、コード番号決定部１５３は、出現頻度がより高い予測モードに対して、値がより小さなコード番号（code_number）を割り当てる。コード番号決定部１５３は、この更新したコード番号（code_number）の割り当てをイントラ予測部１１４に通知する。
【０２８３】
また、コード番号決定部１５３は、default_ipred_code_number_allocation_flagの値を０に設定し、その値を、可逆符号化部１０６に供給する。
【０２８４】
これに対して、IDR検出部１５１においてIDRが検出された場合（当該スライスがIDRスライスであると判定された場合）、コード番号決定部１５３は、予め定められている初期設定（コード番号の割り当て方法）を採用する。例えば、コード番号決定部１５３は、AVC符号化方式において採用されているコード割り当て方法を初期設定とする。もちろん、この初期設定はどのような割り当て方法であってもよい。コード番号決定部１５３は、このコード番号（code_number）割り当ての初期値を、イントラ予測部１１４に通知する。
【０２８５】
また、シーンチェンジ検出部１５２においてシーンチェンジが検出された場合、コード番号決定部１５３は、予め定められている初期設定（コード番号の割り当て方法）を採用する。例えば、コード番号決定部１５３は、AVC符号化方式において採用されているコード割り当て方法を初期設定とする。もちろん、この初期設定はどのような割り当て方法であってもよい。コード番号決定部１５３は、このコード番号（code_number）割り当ての初期値を、イントラ予測部１１４に通知する。
【０２８６】
また、コード番号決定部１５３は、default_ipred_code_number_allocation_flagの値を１に設定し、その値を、可逆符号化部１０６に供給する。
【０２８７】
なお、default_ipred_code_number_allocation_flagの値は任意である。例えば、シーンチェンジが検出された場合の値を０とし、シーンチェンジが検出されなかった場合の値を１とするようにしてもよい。このようにシーンチェンジの有無を表すことができればよいので、その他の値でももちろんよい。また、そのビット長も任意であり、例えば２ビット以上であってもよい。また、default_ipred_code_number_allocation_flagの有無により、シーンチェンジの有無を表すようにしてもよい。
【０２８８】
また、IDRスライスにおいても、default_ipred_code_number_allocation_flagを伝送するようにしてもよい。その場合、フラグの値は、シーンチェンジが発生した場合と同様に１に設定される。若しくは、IDRスライスの検出と、シーンチェンジの発生とを識別することができるように、例えば２等のような、シーンチェンジが発生した場合の値とも、シーンチェンジが発生していない場合の値とも異なる値にするようにしてもよい。
【０２８９】
ところで、当該スライスがＰスライス若しくはＢスライスの場合、コード番号決定部１５３は、当該スライスにおけるイントラマクロブロックの割合が、例えば、５０％以上といったように、所定の閾値以上のときのみ、コード番号（code_number）の更新を行なう。このとき、コード番号決定部１５３は、イントラ予測モードの出現頻度に応じた最新のコード番号（code_number）割り当てを、イントラ予測部１１４に供給する。
【０２９０】
例えば、当該スライスにおけるイントラマクロブロックの割合が所定の閾値未満の場合、上述した第２の方法のように、直前のＩスライスの符号化結果により割り当てられたコード番号（code_number）が、コード番号（code_number）の割り当てとしてイントラ予測部１１４に供給される。
【０２９１】
このように、コード番号決定部１５３が、適宜、イントラ予測モードに対するコード番号の割り当てを、イントラ予測モードの出現頻度に応じて適応的に設定する。これにより、画像符号化装置１００は、より符号化効率を向上させたコードストリームを生成することができる。
【０２９２】
［符号化処理の流れ］
次に、以上のような画像符号化装置１００により実行される各処理の流れについて説明する。最初に、図２６のフローチャートを参照して、符号化処理の流れの例を説明する。
【０２９３】
ステップＳ１０１において、A/D変換部１０１は入力された画像をA/D変換する。ステップＳ１０２において、画面並べ替えバッファ１０２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行なう。
【０２９４】
ステップＳ１０３において、演算部１０３は、ステップＳ１０２の処理により並び替えられた画像と、予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部１１５から、イントラ予測する場合はイントラ予測部１１４から、選択部１１６を介して演算部１０３に供給される。
【０２９５】
差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０２９６】
ステップＳ１０４において、直交変換部１０４は、ステップＳ１０３の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【０２９７】
ステップＳ１０５において、量子化部１０５は、ステップＳ１０４の処理により得られた直交変換係数を量子化する。
【０２９８】
ステップＳ１０５の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１０６において、逆量子化部１０８は、ステップＳ１０５の処理により生成された量子化された直交変換係数（量子化係数とも称する）を量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ１０７において、逆直交変換部１０９は、ステップＳ１０６の処理により得られた直交変換係数を、直交変換部１０４の特性に対応する特性で逆直交変換する。
【０２９９】
ステップＳ１０８において、演算部１１０は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部１０３への入力に対応する画像）を生成する。ステップＳ１０９においてデブロックフィルタ１１１は、ステップＳ１０８の処理により生成された画像をフィルタリングする。これによりブロック歪みが除去される。
【０３００】
ステップＳ１１０において、フレームメモリ１１２は、ステップＳ１０９の処理によりブロック歪みが除去された画像を記憶する。なお、フレームメモリ１１２にはデブロックフィルタ１１１によりフィルタ処理されていない画像も演算部１１０から供給され、記憶される。
【０３０１】
ステップＳ１１１において、イントラ予測部１１４は、イントラ予測モードのイントラ予測処理を行なう。ステップＳ１１２において、動き予測・補償部１１５は、インター予測モードでの動き予測や動き補償を行なうインター動き予測処理を行なう。
【０３０２】
ステップＳ１１３において、選択部１１６は、イントラ予測部１１４および動き予測・補償部１１５から出力された各コスト関数値に基づいて、最適予測モードを決定する。つまり、選択部１１６は、イントラ予測部１１４により生成された予測画像と、動き予測・補償部１１５により生成された予測画像のいずれか一方を選択する。
【０３０３】
また、このいずれの予測画像が選択されたかを示す選択情報は、イントラ予測部１１４および動き予測・補償部１１５のうち、予測画像が選択された方に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部１１４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部１０６に供給する。
【０３０４】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部１１５は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部１０６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
【０３０５】
ステップＳ１１４において、可逆符号化部１０６は、ステップＳ１０５の処理により量子化された変換係数を符号化する。すなわち、差分画像（インターの場合、２次差分画像）に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０３０６】
なお、可逆符号化部１０６は、ステップＳ１０５において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部１０６は、ステップＳ１１３の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部１０６は、イントラ予測部１１４から供給されるイントラ予測モード情報、または、動き予測・補償部１１５から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
【０３０７】
可逆符号化部１０６は、default_ipred_code_number_allocation_flagがコード番号決定部１５３から供給された場合、そのフラグ情報も符号化し、符号化データに付加する。
【０３０８】
ステップＳ１１５において蓄積バッファ１０７は、可逆符号化部１０６から出力される符号化データを蓄積する。蓄積バッファ１０７に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
【０３０９】
ステップＳ１１６においてレート制御部１１７は、ステップＳ１１５の処理により蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【０３１０】
ステップＳ１１６の処理が終了すると、符号化処理が終了される。
【０３１１】
［イントラ予測処理の流れ］
次に、図２７のフローチャートを参照して、図２６のステップＳ１１１において実行されるイントラ予測処理の流れの例を説明する。
【０３１２】
イントラ予測処理が開始されると、コード番号割り当て部１２１は、ステップＳ１３１において、イントラ予測モードに対するコード番号の割り当てを行なう。
【０３１３】
ステップＳ１３２において、イントラ予測部１１４は、イントラ４×４予測モード、イントラ８×８予測モード、およびイントラ１６×１６モード等の、各イントラ予測モードのそれぞれのモードに対するコスト関数値を算出する。ステップＳ１３３において、イントラ予測部１１４は、各イントラ予測モードに対して最適モードを決定する。
【０３１４】
ステップＳ１３４において、イントラ予測部１１４は、各イントラ予測モードの最適モードを比較し、最適イントラ予測モードを選択する。最適イントラ予測モードを選択すると、イントラ予測部１１４は、イントラ予測処理を終了し、処理を図２６のステップＳ１１１に戻し、ステップＳ１１２以降の処理を実行させる。
【０３１５】
［Ｉスライスのコード番号割り当て処理の流れ］
次に、図２７のステップＳ１３１において実行されるコード番号割り当て処理の流れの例を説明する。最初に、図２８のフローチャートを参照して、Ｉスライスのコード番号割り当て処理の流れの例を説明する。
【０３１６】
コード番号割り当て部１２１は、画面並べ替えバッファ１０２から供給される入力画像情報の、処理対象である当該スライスの種類を判定し、当該スライスがＩスライスである場合、このＩスライスのコード番号割り当て処理を開始する。
【０３１７】
処理が開始されると、IDR検出部１５１は、ステップＳ１５１において、画面並べ替えバッファ１０２から供給される入力画像情報から、当該スライスがIDRスライスであるか否かを判定する。IDRスライスでないと判定した場合、IDR検出部１５１は、処理をステップＳ１５２に進める。
【０３１８】
ステップＳ１５２において、シーンチェンジ検出部１５２は、画面並べ替えバッファ１０２から供給される入力画像情報から、当該スライス（現フレーム）においてシーンチェンジが発生したか否かを判定する。現フレームにおいてシーンチェンジが発生しておらず、当該スライスにシーンチェンジが含まれていないと判定された場合、シーンチェンジ検出部１５２は、その旨をコード番号決定部１５３に通知し、処理をステップＳ１５３に進める。
【０３１９】
ステップＳ１５３において、コード番号決定部１５３は、当該スライスにおいてシーンチェンジが発生していないので、default_ipred_code_number_allocation_flagの値を「０」に設定し、処理をステップＳ１５６に進める。
【０３２０】
また、ステップＳ１５２において、当該スライスにシーンチェンジが含まれていると判定された場合、シーンチェンジ検出部１５２は、処理をステップＳ１５４に進める。
【０３２１】
ステップＳ１５４において、コード番号決定部１５３は、当該スライスにおいてシーンチェンジが発生したことを示すように、default_ipred_code_number_allocation_flagの値を「１」に設定し、処理をステップＳ１５５に進める。
【０３２２】
また、ステップＳ１５１において、当該スライスがIDRスライスであると判定された場合、IDR検出部１５１は、その旨をコード番号決定部１５３に通知し、処理をステップＳ１５５に進める。
【０３２３】
ステップＳ１５５において、コード番号決定部１５３は、コード番号の割り当てをデフォルトの設定に初期化する。例えば、コード番号決定部１５３は、AVC符号化方式において定められているコード番号の割り当て方法を初期値とする。ステップＳ１５５の処理を終了すると、コード番号決定部１５３は、処理をステップＳ１５６に進める。
【０３２４】
ステップＳ１５６において、イントラ予測部１１４は、コード番号決定部１５３から供給されるコード番号の割り当てを適用し、イントラ予測を行なう。
【０３２５】
つまり、例えば、ステップＳ１５５においてコード番号の割り当てが初期化されている場合、イントラ予測部１１４は、その初期設定の割り当て方法を、コード番号の割り当てとして採用し、イントラ予測を行なう。また、例えば、ステップＳ１５３においてフラグが０に設定された場合、イントラ予測部１１４は、直前のＩフレームにおけるモード分布に基づいて更新された割り当て方法を、コード番号の割り当てとして採用し、イントラ予測を行なう。
【０３２６】
イントラ予測部１１４は、各ブロックにおけるイントラ予測モードを予測モードバッファ１５４に供給して保持させる。
【０３２７】
予測モード集計部１５５は、ステップＳ１５７において、予測モードバッファ１５４に保持されるデータを参照し、発生した予測モードを集計する。予測モード集計部１５５は、その集計結果（イントラ予測モードの出現頻度）をコード番号決定部１５３に供給する。
【０３２８】
コード番号決定部１５３は、ステップＳ１５８において、次のスライスのために、コード番号の割り当てを更新する。つまり、コード番号決定部１５３は、各予測モードに対して、出現頻度が高い順に、より小さな値のコード番号を割り当てる。
【０３２９】
ステップＳ１５９において、コード番号決定部１５３は、コード番号割り当て処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ１５１に戻し、それ以降の処理を繰り返させる。
【０３３０】
また、ステップＳ１５９において、コード番号割り当て処理を終了すると判定された場合、コード番号決定部１５３は、コード番号割り当て処理を終了し、処理を図２７のステップＳ１３１に戻し、ステップＳ１３２以降の処理を実行させる。
【０３３１】
［ＰスライスまたはＢスライスのコード番号割り当て処理の流れ］
次に、図２９のフローチャートを参照して、ＰスライスまたはＢスライスのコード番号割り当て処理の流れの例を説明する。
【０３３２】
コード番号割り当て部１２１は、画面並べ替えバッファ１０２から供給される入力画像情報の、処理対象である当該スライスの種類を判定し、当該スライスがＩスライスでない（ＰスライスまたはＢスライスである）場合、このＰスライスまたはＢスライス（Ｐ，Ｂスライス）のコード番号割り当て処理を開始する。
【０３３３】
処理が開始されると、ステップＳ１７１において、コード番号決定部１５３は、コード番号の割り当てを、予め定められた初期設定に初期化する。例えば、コード番号決定部１５３は、AVC符号化方式において定められているコード番号割り当て方法を、初期設定とする。
【０３３４】
ステップＳ１７２において、イントラ予測部１１４は、コード番号決定部１５３から供給されるコード番号の割り当てを適用し、イントラ予測を行なう。イントラ予測部１１４は、各ブロックにおけるイントラ予測モードを予測モードバッファ１５４に供給して保持させる。
【０３３５】
予測モード集計部１５５は、ステップＳ１７３において、予測モードバッファ１５４に保持されるデータを参照し、発生した予測モードを集計する。予測モード集計部１５５は、その集計結果（イントラ予測モードの出現頻度）をコード番号決定部１５３に供給する。
【０３３６】
ステップＳ１７４において、コード番号決定部１５３は、イントラマクロブロックの割合が所定の閾値以上であるか否かを判定する。当該スライスに含まれるイントラマクロブロックが所定の割合以上であると判定された場合、そのＰスライス若しくはＢスライスは、Ｉスライスに似た特性を有するとみなすことができる。
【０３３７】
したがって、コード番号決定部１５３は、処理をステップＳ１７５に進め、Ｉスライスの場合と同様に、イントラ予測モードに対するコード番号の割り当てを更新させる。
【０３３８】
つまり、コード番号決定部１５３は、出現頻度がより高い予測モードに対して、値がより小さなコード番号を割り当てる。
【０３３９】
また、当該スライスに含まれるイントラマクロブロックが所定の割合未満であると判定された場合、コード番号決定部１５３は、処理をステップＳ１７６に進め、コード番号の割り当てを、予め定められている初期設定に初期化する。例えば、コード番号決定部１５３は、AVC符号化方式において定められているコード番号割り当て方法を、初期設定とする。なお、このステップＳ１７６において、コード番号の割り当てが初期化される代わりに、直前のＩフレームのコード番号の割り当てが採用されるようにしてもよい。
【０３４０】
ステップＳ１７５若しくはステップＳ１７６の処理が終了すると、コード番号決定部１５３は、ステップＳ１７７において、コード番号割り当て処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ１７２に戻し、それ以降の処理を繰り返させる。
【０３４１】
また、ステップＳ１７７において、コード番号割り当て処理を終了すると判定された場合、コード番号決定部１５３は、コード番号割り当て処理を終了し、処理を図２７のステップＳ１３１に戻し、ステップＳ１３２以降の処理を実行させる。
【０３４２】
以上のように、例えばAVC符号化方式のように、複数の予測モードを用いたイントラ符号化処理を行なう方式に基づく画像符号化装置１００において、イントラ予測における、各予測モードに対するコード番号（code_number）の割り当てを、フィードバック処理により、適応的に切り替えることにより、シーケンスやビットレートに応じた、最適なコード番号（code_number）の割り当てを実現し、出力するコードストリームの符号化効率の向上を実現することができる。
【０３４３】
また、IDRスライスの場合やシーンチェンジが発生した場合に、コード番号の割り当てを初期化するようにしたので、画像符号化装置１００は、コード番号の割り当てを上述したように予測モードの出現頻度に応じて更新するようにすることによる画質の劣化を抑制することができる。
【０３４４】
さらに、画像符号化装置１００は、シーンチェンジが発生したことを示すフラグ情報を画像復号装置に提供することにより、画像復号装置がより容易にシーンチェンジの発生を把握することができるようにすることができる。
【０３４５】
＜２．第２の実施の形態＞
［画像復号装置］
図３０は、本発明を適用した画像復号装置の主な構成例を示すブロック図である。図３０に示される画像復号装置２００は、画像符号化装置１００に対応する復号装置である。
【０３４６】
画像符号化装置１００より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置１００に対応する画像復号装置２００に伝送され、復号されるものとする。
【０３４７】
図３０に示されるように、画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、デブロックフィルタ２０６、画面並べ替えバッファ２０７、およびD/A変換部２０８を有する。また、画像復号装置２００は、フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３を有する。
【０３４８】
さらに、画像復号装置２００は、コード番号割り当て部２２１を有する。
【０３４９】
蓄積バッファ２０１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置１００により符号化されたものである。可逆復号部２０２は、蓄積バッファ２０１から所定のタイミングで読み出された符号化データを、図１の可逆符号化部１０６の符号化方式に対応する方式で復号する。
【０３５０】
可逆復号部２０２は、符号化データを復号して得られた係数データを逆量子化部２０３に供給する。
【０３５１】
また、可逆復号部２０２は、符号化データ（コードストリーム）に含まれるヘッダ情報を復号して抽出し、コード番号割り当て部２２１に供給する。さらに、可逆復号部２０２は、符号化データ（コードストリーム）に含まれるフラグ情報を復号して抽出し、コード番号割り当て部２２１に供給する。例えば、可逆復号部２０２は、画像符号化装置１００より供給されるdefault_ipred_code_number_allocation_flagをコード番号割り当て部２２１に供給する。
【０３５２】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた係数データ（量子化係数）を、図１の量子化部１０５の量子化方式に対応する方式で逆量子化する。
【０３５３】
逆量子化部２０３は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部２０４に供給する。逆直交変換部２０４は、図１の直交変換部１０４の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置１００において直交変換される前の残差データに対応する復号残差データを得る。
【０３５４】
逆直交変換されて得られた復号残差データは、演算部２０５に供給される。また、演算部２０５には、選択部２１３を介して、イントラ予測部２１１若しくは動き予測・補償部２１２から予測画像が供給される。
【０３５５】
演算部２０５は、その復号残差データと予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部２０５は、その復号画像データをデブロックフィルタ２０６に供給する。
【０３５６】
デブロックフィルタ２０６は、供給された復号画像のブロック歪を除去した後、画面並べ替えバッファ２０７に供給する。
【０３５７】
画面並べ替えバッファ２０７は、画像の並べ替えを行なう。すなわち、図１の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０８は、画面並べ替えバッファ２０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０３５８】
デブロックフィルタ２０６の出力は、さらに、フレームメモリ２０９に供給される。
【０３５９】
フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３は、画像符号化装置１００のフレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、および選択部１１６にそれぞれ対応する。
【０３６０】
選択部２１０は、インター処理される画像と参照される画像をフレームメモリ２０９から読み出し、動き予測・補償部２１２に供給する。また、選択部２１０は、イントラ予測に用いられる画像をフレームメモリ２０９から読み出し、イントラ予測部２１１に供給する。
【０３６１】
イントラ予測部２１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部２０２から適宜供給される。イントラ予測部２１１は、この情報に基づいて、フレームメモリ２０９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０３６２】
このとき、イントラ予測部２１１は、コード番号割り当て部２２１を用いて、予測モードの出現頻度に応じて適切なコード番号割り当てを行う。つまり、イントラ予測部２１１は、画像符号化装置１００のイントラ予測部１１４が採用したコード番号割り当て方法を再現し、イントラ予測部１１４と同様のコード番号割り当て方法により、イントラ予測を行う。
【０３６３】
動き予測・補償部２１２は、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等）を可逆復号部２０２から取得する。
【０３６４】
動き予測・補償部２１２は、可逆復号部２０２から供給されるそれらの情報に基づいて、フレームメモリ２０９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０３６５】
選択部２１３は、動き予測・補償部２１２またはイントラ予測部２１１により生成された予測画像を選択し、演算部２０５に供給する。
【０３６６】
コード番号割り当て部２２１は、画像符号化装置１００のコード番号割り当て部１２１と基本的に同様の構成を有し、同様の処理を行う。つまり、コード番号割り当て部２２１は、コード番号割り当て部１２１の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号の割り当てを行う。
【０３６７】
つまり、画像復号装置２００は、自分自身で、画像符号化装置１００と同様のコード番号割り当てを行うことができる。したがって、画像符号化装置１００からコード番号割り当て方法の情報を供給してもらう必要がないので、コードストリームの符号化効率の低減を抑制することができる。
【０３６８】
［コード番号割り当て部］
図３１は、コード番号割り当て部２２１の詳細な構成例を示すブロック図である。図３１に示されるように、コード番号割り当て部２２１は、IDR検出部２５１、フラグ判定部２５２、コード番号決定部２５３、予測モードバッファ２５４、および予測モード集計部２５５を有する。
【０３６９】
まず、イントラ予測部２１１によるイントラ予測処理により、各ブロックに対するイントラ予測モードが決定されると、その予測モードに関する情報が、予測モードバッファ２５４に供給される。予測モードバッファ２５４は、その予測モードに関する情報を、１スライス分蓄積する。
【０３７０】
ここで蓄積された１スライス分のイントラ予測モードは、予測モード集計部２５５に供給される。予測モード集計部２５５は、各モードにおける予測モードの集計処理を行ない、その集計結果（イントラ予測モードの出現頻度）を示す情報を、コード番号決定部２５３に供給する。
【０３７１】
IDR検出部２５１は、可逆復号部２０２から供給される、画像復号装置２００が受信したコードストリームのヘッダ情報に基づいてIDRスライスの検出を行う。IDR検出部２５１は、その検出結果（当該スライスがIDRスライスであるか否かを示す情報（IDR/非IDR））をコード番号決定部２５３に供給する。
【０３７２】
フラグ判定部２５２は、画像符号化装置１００から符号化データとともに供給され、可逆復号部２０２により抽出されたdefault_ipred_code_number_allocation_flagを取得し、その値を判定する。フラグ判定部２５２は、そのフラグ値をコード番号決定部２５３に通知する。
【０３７３】
コード番号決定部２５３は、処理対象スライスが、Ｉスライスであり、IDRスライスでなく、かつ、シーンチェンジが発生していない場合、予測モード集計部２５５による集計結果に基づいて、出現頻度が高い予測モードに対して、値のより小さなコード番号を割り当てるように、コード番号の割り当てを更新する。コード番号決定部２５３は、更新したコード番号割り当てをイントラ予測部２１１に通知する。
【０３７４】
処理対象スライスがIDRスライスであったり、シーンチェンジが発生していたりする場合、コード番号決定部２５３は、コード番号割り当てを、予め定められた所定の初期値に設定する（初期化する）。この初期設定は、画像符号化装置１００と共通である。コード番号決定部２５３は、コード番号割り当てを初期化した旨をイントラ予測部２１１に通知する。
【０３７５】
処理対象がＰスライスやＢスライスの場合、コード番号決定部２５３は、イントラマクロブロックが所定の閾値以上存在するのであれば、Ｉスライスの場合と同様に、予測モード集計部２５５による集計結果に基づいて、出現頻度が高い予測モードに対して、値のより小さなコード番号を割り当てるように、コード番号の割り当てを更新する。コード番号決定部２５３は、更新したコード番号割り当てをイントラ予測部２１１に通知する。
【０３７６】
また、処理対象がＰスライスやＢスライスであり、かつ、イントラマクロブロックが所定の閾値未満である場合、コード番号決定部２５３は、コード番号の割り当てを、直前のＩスライスと同様にする。なお、コード番号割り当てを初期化するようにしてもよい。コード番号決定部２５３は、コード番号割り当てをイントラ予測部２１１に通知する。
【０３７７】
［復号処理の流れ］
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図３２のフローチャートを参照して、復号処理の流れの例を説明する。
【０３７８】
復号処理が開始されると、ステップＳ２０１において、蓄積バッファ２０１は、伝送されてきた符号化データを蓄積する。ステップＳ２０２において、可逆復号部２０２は、蓄積バッファ２０１から供給される符号化データを復号する。すなわち、図１の可逆符号化部１０６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０３７９】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モード）、並びに、各種フラグや量子化パラメータ等の情報も復号される。
【０３８０】
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部２１１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測・補償部２１２に供給される。
【０３８１】
ステップＳ２０３において、逆量子化部２０３は、可逆復号部２０２により復号されて得られた、量子化された直交変換係数を、図１の量子化部１０５による量子化処理に対応する方法で逆量子化する。ステップＳ２０４において逆直交変換部２０４は逆量子化部２０３により逆量子化されて得られた直交変換係数を、図１の直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。これにより図１の直交変換部１０４の入力（演算部１０３の出力）に対応する差分情報が復号されたことになる。
【０３８２】
ステップＳ２０５において、演算部２０５は、ステップＳ２０４の処理により得られた差分情報に、予測画像を加算する。これにより元の画像データが復号される。
【０３８３】
ステップＳ２０６において、デブロックフィルタ２０６は、ステップＳ２０５の処理により得られた復号画像を適宜フィルタリングする。これにより適宜復号画像からブロック歪みが除去される。
【０３８４】
ステップＳ２０７において、フレームメモリ２０９は、フィルタリングされた復号画像を記憶する。
【０３８５】
ステップＳ２０８において、イントラ予測部２１１、または動き予測・補償部２１２は、可逆復号部２０２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行なう。
【０３８６】
すなわち、可逆復号部２０２からイントラ予測モード情報が供給された場合、イントラ予測部２１１は、イントラ予測モードのイントラ予測処理を行なう。また、可逆復号部２０２からインター予測モード情報が供給された場合、動き予測・補償部２１２は、インター予測モードの動き予測処理を行なう。
【０３８７】
ステップＳ２０９において、選択部２１３は予測画像を選択する。すなわち、選択部２１３には、イントラ予測部２１１により生成された予測画像、若しくは、動き予測・補償部２１２により生成された予測画像が供給される。選択部２１３は、その予測画像が供給された側を選択し、その予測画像を演算部２０５に供給する。この予測画像は、ステップＳ２０５の処理により差分情報に加算される。
【０３８８】
ステップＳ２１０において、画面並べ替えバッファ２０７は、復号画像データのフレームの並べ替えを行なう。すなわち、復号画像データの、画像符号化装置１００の画面並べ替えバッファ１０２（図１）により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０３８９】
ステップＳ２１１において、D/A変換部２０８は、画面並べ替えバッファ２０７においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
【０３９０】
［予測処理の流れ］
次に、図３３のフローチャートを参照して、図３２のステップＳ２０８において実行される予測処理の詳細な流れの例を説明する。
【０３９１】
予測処理が開始されると、可逆復号部２０２は、ステップＳ２３１において、復号した予測モード情報に基づいて、符号化データがイントラ符号化されているか否かを判定する。
【０３９２】
イントラ符号化されていると判定された場合、可逆復号部２０２は、処理をステップＳ２３２に進める。
【０３９３】
ステップＳ２３２において、コード番号割り当て部２２１は、イントラ予測モードに対するコード番号の割り当てを行なう。ステップＳ２３３において、イントラ予測部２１１は、イントラ予測モードを可逆復号部２０２から取得する。ステップＳ２３４において、イントラ予測部２１１は、イントラ予測画像を生成する。
【０３９４】
予測画像を生成すると、イントラ予測部２１１は、生成した予測画像を、選択部２１３を介して演算部２０５に供給し、予測処理を終了して、処理を図３２のステップＳ２０８に戻し、ステップＳ２０９以降の処理を実行させる。
【０３９５】
また、図３３のステップＳ２３１において、インター符号化されていると判定された場合、可逆復号部２０２は、処理をステップＳ２３４に進める。
【０３９６】
ステップＳ２３５において、動き予測・補償部２１２は、可逆復号部２８２より、動き予測モード、参照フレーム、および差分動きベクトル情報等、予測画像の生成に必要な情報を取得する。
【０３９７】
ステップＳ２３６において、動き予測・補償部２１２は、指定されたモードで動きベクトル情報を復号する。
【０３９８】
ステップＳ２３７において、動き予測・補償部２１２は、復号された動きベクトル情報を用いて参照画像から予測画像を生成する。
【０３９９】
予測画像を生成すると、動き予測・補償部２１２は、生成した予測画像を、選択部２１３を介して演算部２０５に供給し、予測処理を終了して、処理を図３２のステップＳ２０８に戻し、ステップＳ２０９以降の処理を実行させる。
【０４００】
［Ｉスライスのコード番号割り当て処理の流れ］
次に、図３３のステップＳ２３２において実行されるＩスライスに対するコード番号割り当て処理の流れを、図３４のフローチャートを参照して説明する。コード番号割り当て部２２１は、可逆復号部２０２から供給されるヘッダ情報に基づいて、処理対象スライスがＩスライスであることを把握すると、図３４に示されるような、Ｉスライスに対するコード番号割り当て処理を実行する。
【０４０１】
Ｉスライスに対するコード番号割り当て処理が開始されると、ステップＳ２５１において、IDR検出部２５１は、処理対象スライスがIDRスライスであるか否かを判定する。IDRスライスでないと判定された場合、IDR検出部２５１は、処理をステップＳ２５２に進める。
【０４０２】
ステップＳ２５２において、フラグ判定部２５２は、可逆復号部２０２より、フラグ情報default_ipred_code_number_allocation_flagを取得する。ステップＳ２５３において、フラグ判定部２５２は、default_ipred_code_number_allocation_flagの値が１であるか否かを判定する。default_ipred_code_number_allocation_flagの値が０であると判定された場合、フラグ判定部２５２は、処理をステップＳ２５５に進める。
【０４０３】
また、ステップＳ２５３において、default_ipred_code_number_allocation_flagの値が１であると判定された場合、フラグ判定部２５２は、処理をステップＳ２５４に進める。
【０４０４】
さらに、ステップＳ２５１において、処理対象スライスがIDRスライスであると判定された場合、IDR検出部２５１は、処理をステップＳ２５４に進める。
【０４０５】
ステップＳ２５４において、コード番号決定部２５３は、当該スライスに対するコード番号の割り当てを初期化する。コード番号の割り当てを初期化すると、コード番号決定部２５３は、処理をステップＳ２５５に進める。
【０４０６】
ステップＳ２５５において、イントラ予測部２１１は、コード番号割り当て部２２１により設定されたコード番号割り当てを用いて、イントラ予測を行う。イントラ予測部２１１は、各ブロックにおけるイントラ予測モードを予測モードバッファ２５４に供給し、蓄積させる。
【０４０７】
ステップＳ２５６において、予測モード集計部２５５は、発生した予測モードを１フレーム分集計する。
【０４０８】
ステップＳ２５７において、コード番号決定部２５３は、その集計結果（予測モード毎の出現頻度）に応じて、コード番号の割り当てを更新する。つまり、コード番号決定部２５３は、出現頻度が高い予測モード程、値がより小さいコード番号を割り当てるように、コード番号の割り当てを更新する。
【０４０９】
ステップＳ２５８において、コード番号割り当て部２２１は、Ｉスライスのコード番号割り当て処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップＳ２５１に戻し、それ以降の処理を繰り返す。また、ステップＳ２５８において、Ｉスライスのコード番号割り当て処理を終了すると判定した場合、コード番号割り当て部２２１は、Ｉスライスのコード番号割り当て処理を終了し、処理を図３３のステップＳ２３２に戻し、それ以降の処理を実行させる。
【０４１０】
なお、Ｐスライス若しくはＢスライスに対するコード番号割り当て処理は、図２９のフローチャートを参照して説明した画像符号化装置１００の場合と同様に実行されるので、その説明は省略する。
【０４１１】
つまり、Ｐスライス若しくはＢスライスにおいては、コード番号割り当て部２２１は、当該スライスにおけるイントラマクロブロックの割合が、例えば、50%以上といったように、所定の閾値以上の場合のみ、コード番号（code_number）の更新を行なう。
【０４１２】
以上のように、各種処理を行なうことにより、画像復号装置２００は、画像符号化装置１００の場合と同様に、コード番号の割り当てを行うことができる。つまり、画像復号装置２００は、画像符号化装置１００から採用したコード番号の割り当て方法に関する情報を供給してもらわずに、画像符号化装置１００のコード番号の割り当てを再現することができる。したがって、符号化データの符号化効率の低減を抑制することができる。
【０４１３】
以上に説明したコード番号の割り当ては、輝度信号だけでなく色差信号のイントラ予測にも適用するようにしてもよい。予測モードの出現頻度に基づく適応的なコード番号の割り当ては、色差信号に対して適用する場合も、輝度信号の場合と同様に、上述したように行うことができる。
【０４１４】
また、例えば、AVC符号化方式等の規格に規定される１６×１６以下のマクロブロック（以下、通常マクロブロックと称する）だけでなく、例えば非特許文献１においては、図３５に示されるような、３２×３２画素、６４×６４画素といった、拡張された大きさのマクロブロック（以下、拡張マクロブロックと称する）が提案されているが、このような拡張マクロブロックのイントラ予測にも、上述した適応的なコード番号の割り当てを適用することができる。その場合も上述した方法と同様の方法で適用することができる。
【０４１５】
なお、マクロブロックサイズ毎に独立してコード番号の割り当てを行うようにしてもよい。例えば、４×４のマクロブロック、８×８のマクロブロック、１６×１６のマクロブロック、３２×３２のマクロブロック、６４×６４のマクロブロック、および、色差信号のマクロブロックに対して、互いに独立してコード番号の割り当てを行うようにしてもよい。このようにすることにより、より適応的なコード番号の割り当てを実現することができる。
【０４１６】
また、default_ipred_code_number_allocation_flagも、マクロブロックサイズ毎に用意するようにしてもよい。
【０４１７】
また、拡張マクロブロックに対してのみ、上述したような適応的なコード番号の割り当てを行うようにし、通常マクロブロックに対しては、AVC符号化方式のように、予め定義されている割り当て方法を適用するようにしてもよい。
【０４１８】
つまり、スライス内において、一部のイントラマクロブロックに対してのみ、上述した適応的なコード番号の割り当てを適用し、他のイントラマクロブロックに対しては、固定の割り当て方法を適用するようにしてもよい。
【０４１９】
適応的なコード番号の割り当て方法を適用するブロックのサイズの下限は、任意であり、例えば、８×８以上のマクロブロックに適用するようにしてもよいし、６４×６４以上のマクロブロックに適用するようにしてもよい。また、適応的なコード番号の割り当て方法を適用するか否かは、ブロックサイズ以外の任意の指標に基づいて決定するようにしてもよい。
【０４２０】
また、符号化データにおいて、適応的なコード番号の割り当て方法を適用するブロックのヘッダに、その旨を示すフラグ情報を付加するようにしてもよい。その場合、画像復号装置２００は、そのフラグ情報に基づいて、各マクロブロックのコード番号の割り当て方法が固定であるか否かをより容易に識別することができる。
【０４２１】
なお、IDRスライス等に対して設定する、コード番号の割り当ての初期値は、任意であり、AVC符号化方式等において採用されている割り当て方法を適用するようにしてもよいし、ユーザが設定した割り当て方法を適用するようにしてもよい。
【０４２２】
ユーザが設定した割り当て方法を適用する場合、画像復号装置２００がその割り当て方法を把握することができるように、そのユーザ設定（ユーザが設定したコード番号の割り当て方）を示す情報（例えば、予測モードとコード番号を関連づけるテーブル情報等）を、画像符号化装置１００から画像復号装置２００に供給するようにしてもよい。
【０４２３】
さらに、コード番号の割り当て方法が、適応的に更新されたものなのか、初期設定なのか、若しくは、ユーザが設定したものであるのかを示すフラグ情報を、画像符号化装置１００から画像復号装置２００に供給するようにしてもよい。この場合、画像復号装置２００は、画像符号化装置１００において採用されたコード番号割り当て方法をより容易に把握することができる。
【０４２４】
なお、動画の画像データの最後のフレームについては、出現した予測モードの集計を省略するようにしてもよい。
【０４２５】
また、以上においては、本発明の適用を、イントラマクロブロックにおけるイントラ予測モードとしてきたが、同様の手法を、他のシンタクス要素、例えば、動き補償パーティションモード等に適用するようにしても良い。
【０４２６】
以上においては、AVCに準ずる方式による符号化を行なう画像符号化装置、並びに、AVCに準ずる方式による復号を行なう画像復号装置を例にして説明してきたが、本発明の適用範囲はこれに限らず、図３５に示されるような、階層構造によるブロックに基づく符号化処理を行なうあらゆる画像符号化装置並びに画像復号装置に適用することが可能である。
【０４２７】
＜３．第３の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図３６に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０４２８】
図３６において、パーソナルコンピュータ５００の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１３１８や記録メディア１３３３に記録する符号化データや、他の装置に提供する符号化データの符号化効率を向上させることができる。
【０５５２】
なお、コントローラ１３２１が行なう復号処理に画像復号装置２００の復号方法を適用するようにしてもよい。同様に、コントローラ１３２１が行なう符号化処理に画像符号化装置１００の符号化方法を適用するようにしてもよい。
【０５５３】
また、カメラ１３００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０５５４】
なお、動画像を撮像するカメラ１３００が、ユーザ操作に従って、撮像を一度終了し、再度撮像を開始する場合、撮像を終了した際の最後のフレームにおける集計結果（予測モードの出現頻度）を保存し、次に撮像を再開したときの最初のフレーム（スライス）に対して、その保存された最後の集計結果（予測モードの出現頻度）を用いて適応的に設定されたコード番号の割り当てを行うようにしてもよい。
【０５５５】
カメラ１３００の場合、ユーザが、撮像の開始や停止を頻繁に繰り返す場合が考えられるが、短時間のうちにこのような処理を繰り返す場合、連続して撮像を続ける場合との差が少なく、前回の撮像の最後のフレームと、次の撮像の最初のフレームとの絵柄の類似度が高くなる可能性が高い。例えば、ユーザがカメラ１３００を使ってある被写体を撮像し、その撮像を終了した後、再度、同じ被写体を撮像し直す場合も考えられる。
【０５５６】
このような場合、撮像が停止される度にコード番号の割り当てを初期化するようにすると、初期化が繰り返され、符号化効率が向上しにくくなる恐れがある。そこで、上述したように、前回の撮像の最後の集計結果を、次の撮像の開始時に利用することができるようにすることにより、カメラ１３００は、符号化効率をより向上させることができる。
【０５５７】
なお、集計結果の保持する期間を制限し、撮像が停止されてから所定時間が経過した場合、保持している集計結果が削除され、その後の次回の撮像開始時に、コード番号の割り当てが初期化されるようにしてもよい。
【０５５８】
もちろん、本発明を適用した画像符号化装置および画像復号装置は、上述した装置以外の装置やシステムにも適用可能である。
【０５５９】
本発明は、例えば、ＭＰＥＧ、Ｈ.２６ｘ等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ、インターネット、携帯電話などのネットワークメディアを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置や画像復号装置に適用することができる。
【符号の説明】
【０５６０】
１００  画像符号化装置，  １１４  イントラ予測部，  １２１  コード番号割り当て部，  １５１  IDR検出部，  １５２  シーンチェンジ検出部，  １５３  コード番号決定部，  １５４  予測モードバッファ，  １５５  予測モード集計部，  ２００  画像復号装置，  ２１１  イントラ予測部，  ２２１  コード番号割り当て部，  ２５１  IDR検出部，  ２５２  フラグ判定部，  ２５３  コード番号決定部，  ２５４  予測モードバッファ，  ２５５  予測モード集計部
【図１】
2011259361.tif 000032
【図２】
2011259361.tif 000033
【図３】
2011259361.tif 000034
【図４】
2011259361.tif 000035
【図５】
2011259361.tif 000036
【図６】
2011259361.tif 000037
【図７】
2011259361.tif 000038
【図８】
2011259361.tif 000039
【図９】
2011259361.tif 000040
【図１０】
2011259361.tif 000041
【図１１】
2011259361.tif 000042
【図１２】
2011259361.tif 000043
【図１３】
2011259361.tif 000044
【図１４】
2011259361.tif 000045
【図１５】
2011259361.tif 000046
【図１６】
2011259361.tif 000047
【図１７】
2011259361.tif 000048
【図１８】
2011259361.tif 000049
【図１９】
2011259361.tif 000050
【図２０】
2011259361.tif 000051
【図２１】
2011259361.tif 000052
【図２２】
2011259361.tif 000053
【図２３】
2011259361.tif 000054
【図２４】
2011259361.tif 000055
【図２５】
2011259361.tif 000056
【図２６】
2011259361.tif 000057
【図２７】
2011259361.tif 000058
【図２８】
2011259361.tif 000059
【図２９】
2011259361.tif 000060
【図３０】
2011259361.tif 000061
【図３１】
2011259361.tif 000062
【図３２】
2011259361.tif 000063
【図３３】
2011259361.tif 000064
【図３４】
2011259361.tif 000065
【図３５】
2011259361.tif 000066
【図３６】
2011259361.tif 000067
【図３７】
2011259361.tif 000068
【図３８】
2011259361.tif 000069
【図３９】
2011259361.tif 000070
【図４０】
2011259361.tif 000071